原文链接:http://www.centoscn.com/CentosSecurity/CentosSafe/2015/0424/5263.html

本文 centos 6.5 优化 的项有18处:

1、centos6.5最小化安装后启动网卡
2、ifconfig查询IP进行SSH链接
3、更新系统源并且升级系统
4、系统时间更新和设定定时任
5、修改ip地址、网关、主机名、DNS
6、关闭selinux,清空iptables
7、创建普通用户并进行sudo授权管理
8、修改SSH端口号和屏蔽root账号远程登陆
9、锁定关键文件系统(禁止非授权用户获得权限)
10、精简开机自启动服务
11、调整系统文件描述符大小
12、设置系统字符集
13、清理登陆的时候显示的系统及内核版本
14、内核参数优化
15、定时清理/var/spool/clientmqueue
16、删除不必要的系统用户和群组
17、关闭重启ctl-alt-delete组合键
18、设置一些全局变量

1、启动网卡
  1. #centos6.x最小化安装后,网卡默认不是启动状态
  2. ifup eth0
2、SSH链接 ifconfig 查看IP后SSH终端连接。
3、更新源 最小化安装是没有wget工具的,必须先安装在修改源)
  1. yum install wget

备份原系统更新源

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

进入yum.repos.d目录

  1. cd /etc/yum.repos.d

下载网易镜像源或者搜狐镜像源

  1. #下载网易镜像源:
  2. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
  3. #或者
  4. #下载搜狐镜像源:
  5. wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

网易搜狐的源可能有问题。
参考http://blog.csdn.net/ichsonx/article/details/8518420

  1. 清空yum缓存
  2. yum clean all
  3. 生存缓存
  4. yum makecache
  5. 开始更新系统以及内核
  6. yum upgrade
  7. 必备软件
  8. yum install lrzsz ntpdate sysstat -y

使用lrzsz工具常用操作:rz 上传 sz 下载

4、系统时间更新和设定定时任务 第一种:更新时间并且写入BOIS
  1. ntpdate time.windows.com && hwclock -w && hwclock --systohc

第二种:更新时间并且写入定时任务

  1. echo '*/30 * * * * ntpdate time.windows.com && hwclock -w && hwclock --systohc >/dev/null 2>&1' >>/var/spool/cron/root

第三种:每间隔5分钟和10分钟同步一次时间

  1. echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2 >&1' >>/var/spool/cron/root
  2. echo '*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

提示:CentOS 6.x的时间同步命令路径不一样 6是/usr/sbin/ntpdate 5是/sbin/ntpdate

5、修改ip地址、网关、主机名、DNS #eth0 网卡设置
  1. mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
  2. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  3. DEVICE=eth0 #网卡设备名称
  4. HWADDR=00:0C:29:D0:C7:B5 #以太网设备的对应的物理地址
  5. TYPE=Ethernet #网络类型为以太网模式
  6. UUID=080a457b-6a53-4a3a-9155-a23c1146c2c6 #通用唯一识别码
  7. ONBOOT=yes #是否启动引导的时候激活YES
  8. NM_CONTROLLED=no #设备eth0是否可以由Network Manager图形管理工具托管
  9. BOOTPROTO=dhcp #静态IP地址获取状态 如:DHCP表示自动获取IP地址
  10. IPADDR=192.168.1.10 #IP
  11. IPV6INIT=no
  12. IPV6_AUTOCONF=no
  13. NETMASK=255.255.255.0 #网卡对应的网络掩码
  14. GATEWAY=192.168.1.1 #网关地址

检查网卡配置

  1. cat /etc/sysconfig/network-scripts/ifcfg-eth0

网关配置

  1. vi /etc/sysconfig/network
  2. #表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动
  3. NETWORKING=yes
  4. #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应
  5. HOSTNAME=c65mini.localdomain
  6. #设置本机连接的网关的IP地址。例如,网关为10.0.0.1或者192.168.1.1
  7. GATEWAY=192.168.1.1

修改主机DNS

  1. vi /etc/resolv.conf
  2. ; generated by /sbin/dhclient-script
  3. nameserver 8.8.8.8
  4. nameserver 4.4.4.4

修改HOSTS

  1. vi /etc/hosts
  2. 127.0.0.1 c65mini.localdomain
  3. #使用DNS域名服务器来解析名字
  4. order bind hosts
  5. #一台主机是否存在多个IP
  6. multi on
  7. #如果用逆向解析找出与指定的地址匹配的主机名,对返回的地址进行解析以确认它确实与您查询的地址相配。为了防止“骗取”IP地址
  8. nospoof on

重启网卡生效设置两种方法

  1. service network restart
  2. 或者
  3. /etc/init.d/network restart
6、关闭selinux,清空iptables 在服务器配置完全成功后各项服务正常后,在开启selinux

查看selinux状态

  • 第一种方法:/usr/bin/setstatus -v #如果显示:SELinux status: enabled 就是开启状态
  • 第二种方法:cat /etc/selinux/config #如果显示:SELINUX=enforcing 则是开启状态permissive有提醒的状态 disabled是关闭
  • 第三种方法:grep SELINUX=disabled /etc/selinux/config
  • 第四种方法:getenforce

修改selinux状态 如果修改配置文件则永久生效,但是必须要重启系统

  • 第一种:vi /etc/selinux/config 修改 SELINUX=disabled
  • 第二种:sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

如果想立即生效(如果想临时性的改变) setenforce 0

setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 设置SELinux 成为permissive模式 查看状态 getenforce

iptables防火墙规则清理了,根据需求定制

  1. #清空iptables规则
  2. iptables -F
  3. #查看iptables规则
  4. iptables -L
  5. #保存规则,注意,虽然清空了,不保存的话,重启后,又会有规则。
  6. /etc/init.d/iptables save
7、创建普通用户并进行sudo授权管理

创建普通用户 useradd bingoku 修改用户密码 passwd bingoku

另一种方式:一次性创建用户和设置密码 echo "123456"|passwd --stdin bingoku&&history –c

其中bingoku为你创建的用户名

sudo授权管理 打开sudo配置文件 visudo

  1. #按:set nu 查看行,找到99行
  2. root ALL=(ALL) ALL
  3. #添加
  4. bingoku ALL=(ALL) ALL
8、修改SSH端口号和屏蔽root账号远程登陆
  1. #备份SSH配置
  2. cp /etc/ssh/sshd_config sshd_config_bak
  3. #修改SSH安全配置
  4. vi /etc/ssh/sshd_config
  5. #SSH链接默认端口
  6. port 52113
  7. #禁止root账号登陆
  8. PermitRootLogin no
  9. #禁止空密码
  10. PermitEmptyPasswords no
  11. #不使用DNS
  12. UseDNS no

重新载入SSH配置 /etc/init.d/sshd reload 查看端口里面是否有刚才修改过的端口号52113

  1. netstat -lnt

或者反查端口是那个进程

  1. lsof -i tcp:52113

centos6.5最小化安装没有lsof工具需要 yum install lsof

9、锁定关键文件系统(禁止非授权用户获得权限)
  1. chattr +i /etc/passwd
  2. chattr +i /etc/inittab
  3. chattr +i /etc/group
  4. chattr +i /etc/shadow
  5. chattr +i /etc/gshadow
10、精简开机自启动服务

注意: 刚装完操作系统一般可以只保留crond,network,syslog,sshd这四个服务。 后期根据业务需求制定自启服务 #(Centos6.x为rsyslog Cetnos5.x为syslog) 如果是中文的话。可能会需要LANG=en 或者替换 3:on 成 3:启用

  1. #关闭全部服务
  2. for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
  3. #或者
  4. for sun in `chkconfig --list|grep 3:启用|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
  5. #开启需要的服务
  6. for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done
  7. #或者需要使用防火墙的话可以开启iptables和ip6tables
  8. for sun in crond rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

查询下开启的服务 chkconfig –list | grep 3:on 或者 chkconfig –list|grep 3:启用

  1. [bingoku@c65mini ~]$ chkconfig --list|grep 3:启用
  2. crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  3. ip6tables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  4. iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  5. network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  6. rsyslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  7. sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
11、调整文件描述符大小
  1. #查看文件描述符大小
  2. ulimit -n

第一种:#这里参考的是阿里云主机默认设置。

  1. vi /etc/security/limits.conf
  2. * soft nofile 65535
  3. * hard nofile 65535
  4. * soft nproc 65535
  5. * hard nproc 65535
  6. * soft nofile 65535
  7. * hard nofile 65535

第二种:echo '* - nofile 65535' >> /etc/security/limits.conf

第三种:把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效 追加命令到rc.local配置文件里面

  1. cat >>/etc/rc.local<<EOF
  2. #open files
  3. ulimit -HSn 65535
  4. #stack size
  5. ulimit -s 65535
  6. EOF

第四种:如果不修改limits配置文件,直接立即生效,但重启后又恢复之前的默认。 ulimit -SHn 65535

12、设置系统字符集

第一种:vi /etc/sysconfig/i18n

如果想用中文提示:LANG=”zh_CN.UTF-8″ 如果想用英文提示:LANG=”en_US.UTF-8″ 如果临时切换也可以 LANG=zh_CN.UTF-8

第二种:使用sed快速替换

  1. #替换成英文
  2. sed -i 's#LANG="zh_CN.*"#LANG="en_US.UTF-8"#' /etc/sysconfig/i18n
  3. #替换成中文
  4. sed -i 's#LANG="en_US.*"#LANG="zh_CN.UTF-8"#' /etc/sysconfig/i18n
  5. #替换成UTF-8中文
  6. sed -i 's#LANG="zh_CN.*"#LANG="zh_CN.UTF-8"#' /etc/sysconfig/i18n
13、清理登陆的时候显示的系统及内核版本
  1. #查看登陆信息
  2. cat /etc/redhat-release cat /etc/issue
  3. #清理登陆信息
  4. echo >/etc/redhat-release
  5. echo >/etc/issue
14、内核参数优化 vi /etc/sysctl.conf
  1. #可用于apache,nginx,squid多种等web应用
  2. net.ipv4.tcp_max_syn_backlog = 65536
  3. net.core.netdev_max_backlog = 32768
  4. net.core.somaxconn = 32768
  5. net.core.wmem_default = 8388608
  6. net.core.rmem_default = 8388608
  7. net.core.rmem_max = 16777216
  8. net.core.wmem_max = 16777216
  9. net.ipv4.tcp_timestamps = 0
  10. net.ipv4.tcp_synack_retries = 2
  11. net.ipv4.tcp_syn_retries = 2
  12. net.ipv4.tcp_tw_recycle = 1
  13. #net.ipv4.tcp_tw_len = 1
  14. net.ipv4.tcp_tw_reuse = 1
  15. net.ipv4.tcp_mem = 94500000 915000000 927000000
  16. net.ipv4.tcp_max_orphans = 3276800
  17. #net.ipv4.tcp_fin_timeout = 30
  18. #net.ipv4.tcp_keepalive_time = 120
  19. net.ipv4.ip_local_port_range = 1024 65535
  20. #以下参数是对centos6.x的iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
  21. #如果是centos5.X需要吧netfilter.nf_conntrack替换成ipv4.netfilter.ip
  22. #centos5.X为net.ipv4.ip_conntrack_max = 25000000
  23. net.nf_conntrack_max = 25000000
  24. net.netfilter.nf_conntrack_max = 25000000
  25. net.netfilter.nf_conntrack_tcp_timeout_established = 180
  26. net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
  27. net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
  28. net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

立即生效 /sbin/sysctl -p centos6.5可能会报错

  1. error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
  2. error: "net.bridge.bridge-nf-call-iptables" is an unknown key
  3. error: "net.bridge.bridge-nf-call-arptables" is an unknown key

出现这个的原因是,没有自动载入bridge桥接模块

  1. modprobe bridge
  2. echo "modprobe bridge">> /etc/rc.local

查看桥接 lsmod|grep bridge

centos5.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

  1. error: "net.ipv4.ip_conntrack_max"is an unknown key
  2. error: "net.ipv4.netfilter.ip_conntrack_max"is an unknown key
  3. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established"is an unknown key
  4. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait"is an unknown key
  5. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait"is an unknown key
  6. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait"is an unknown key

centos5.X解决方法:

  1. modprobe ip_conntrack
  2. echo "modprobe ip_conntrack">> /etc/rc.local

centos6.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

  1. error: "net.nf_conntrack_max"isan unknown key
  2. error: "net.netfilter.nf_conntrack_max"isan unknown key
  3. error: "net.netfilter.nf_conntrack_tcp_timeout_established"isan unknown key
  4. error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait"isan unknown key
  5. error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait"isan unknown key
  6. error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait"isan unknown key

centos6.X解决方法:

  1. modprobe nf_conntrack
  2. echo "modprobe nf_conntrack">> /etc/rc.local

注意:笔者在整理这篇centos6.5内核优化的时候发现,如果不开启ip6tables去优化nf_conntrack模块去执行上面的解决方法会依旧提示上面的error。所以在优化服务的时候,可以选择留下iptables和ip6tables。当然如果不用iptables的话,在内核优化的时候就要去掉对nf_conntrack的设置,在进行/sbin/sysctl -p 是不会有错误提示的。

15、如果安装sendmail必须定时自动清理/var/spool/clientmqueue/下文件防止inode节点被占满
  1. #centos6.5已经不自动安装sendmail了所以没必要走这一步优化
  2. mkdir -p /server/scripts
  3. vi /server/scripts/spool_clean.sh
  4. #!/bin/sh
  5. find/var/spool/clientmqueue/-typef -mtime +30|xargsrm-f
16、删除不必要的系统用户和群组
  1. #删除不必要的用户
  2. userdel adm
  3. userdel lp
  4. userdel sync
  5. userdel shutdown
  6. userdel halt
  7. userdel news
  8. userdel uucp
  9. userdel operator
  10. userdel games
  11. userdel gopher
  12. userdel ftp
  13. #删除不必要的群组
  14. groupdel adm
  15. groupdel lp
  16. groupdel news
  17. groupdel uucp
  18. groupdel games
  19. groupdel dip
  20. groupdel pppusers
17、关闭重启ctl-alt-delete组合键
  1. vi /etc/init/control-alt-delete.conf
  2. #注释掉
  3. #exec /sbin/shutdown -r now "Control-Alt-Deletepressed"
18、设置一些全局变量
  1. #设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒
  2. echo "TMOUT=3600">> /etc/profile
  3. #历史命令记录数量设置为10条
  4. sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile
  5. #立即生效
  6. source /etc/profile

Centos 6.5 优化 一些基础优化和安全设置的更多相关文章

  1. HBASE的优化、hadoop通用优化,Linux优化,zookeeper优化,基础优化

    HBase 的优化3.1.高可用在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果Hmaster 挂掉了,那么整个 HBa ...

  2. [转]Centos 6.5 优化 一些基础优化和安全设置

    关于CentOS服务器的优化下文作为参考. 本文 centos 6.5 优化 的项有18处: 1.centos6.5最小化安装后启动网卡2.ifconfig查询IP进行SSH链接3.更新系统源并且升级 ...

  3. 系统基础优化( 创建yum私有仓库最详细操作及解释 )

    目录 系统基础优化 一.Linux中安装软件的方式 安装方式 三种安装方式的区别 二.RPM安装☆ 1.安装及其他命令 2.手动下载软件包,可将其拖入shell中自动传入 1).手动网页下载软件包 2 ...

  4. Centos 7.x 系统基础优化

    Centos 7.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...

  5. centos 6.x 系统基础优化简版

    Centos 6.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...

  6. Centos6.5 64linux系统基础优化(二)

    1  操作的最小化原则 1)安装系统最小化 2)开启程序服务最小化原则 3)操作最小化原则 4)登陆最小化原则;平时没有需求不用root登陆,要用普通登陆. 2  更改ssh服务默认端口及常规配置 # ...

  7. CentOS服务器下对mysql的优化

    原文链接: CentOS服务器下对mysql的优化 一.mysql的优化思路 mysql的优化分为两方面: 1. 服务器使用前的优化 2. 服务使用中的优化 二.mysql的基础优化步骤 1. 硬件级 ...

  8. Linu之linux系统基础优化和基本命令

    Linux系统基础优化和基本命令 网络参数设定命令 ifconfig: 查询,设置网卡和ip等参数 ifup,ifdown: 脚本命令,更简单的方式 ip: 符合指令,直接修改上述功能 编辑网卡配置文 ...

  9. CentOS6.X 系统安装后的基础优化

    特别说明:克隆之后的网卡修改 1 编辑eth0的配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0, 删除HWADDR地址那一行及UUID的行如下: H ...

随机推荐

  1. input 单选按钮radio 取消选中(转载)

    input单选按钮: 在radio按钮中添加属性tag  0代表未被选中 HTML代码: <input name="rdo1" value="AA" ty ...

  2. 【Foreign】阅读 [线段树][DP]

    阅读 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output Sample Input 0 10 4 10 2 3 10 8 ...

  3. [POJ2135]最小费用最大流

    一直由于某些原因耽搁着...最小费用最大流没有搞会. 今天趁着个人状态正佳,赶紧去看看,果然30min不到看会了算法+模板并且A掉了一道题. 感觉最小费用最大流在学过了最大流之后还是挺好理解的.找到从 ...

  4. [bzoj1692][Usaco2007 Dec]队列变换——贪心+后缀数组

    Brief Description 给定一个数列,您每次可以把数列的最前面的数或最后面的数移动到新数列的开头,使得新数列字典序最小.输出这个新序列. Algorithm Design 首先我们可以使用 ...

  5. CVE-2016-6662 mysql RCE测试

    参考:http://bobao.360.cn/learning/detail/3027.html ,我尝试第一种方法 1.先修改mysql_hookandroot_lib.c里面的反弹地址和端口: # ...

  6. 【Mysql优化】索引碎片与维护

    在长期的数据更改过程中, 索引文件和数据文件,都将产生空洞,形成碎片.(不停的删除修改导致) 解决办法: (1)我们可以通过一个nop操作(不产生对数据实质影响的操作), 来修改表. 比如: 表的引擎 ...

  7. python3 基础概念

    一.3.x新特性 1.print (),打印,3.x必须加括号 2.raw_input,3.x改为input   二.简介   Python是著名的“龟叔”Guido van Rossum在1989年 ...

  8. UVALIVE 5096 Volume

    This time your job is to calculate the volume of a special object. The object consists of two orthog ...

  9. Linux下的hrtimer高精度定时器【转】

    转自:http://blog.csdn.net/waverider2012/article/details/38305785 hrtimer高精度定时器的interval由ktime_set(cons ...

  10. 非旋转Treap——普通平衡树

    扔板跑…… #include<bits/stdc++.h> #define N 100010 #define mp make_pair using namespace std; typed ...