天天看点

CenOS6.5安全加固及性能优化

说明:经常玩linux系统的朋友多多少少也知道些系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、cpu、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对linux了解,对系统调优做了如下小结:

操作系统:centos6.5_x64(最小化安装)

1、主机名设置

1

2

3

<code>[root@localhost~]</code><code># vi /etc/sysconfig/network</code>

<code>hostname=</code><code>test</code><code>.com</code>

<code>[root@localhost~]</code><code># hostname test.com  #临时生效</code>

2、关闭selinux

4

<code>[root@localhost~]</code><code># vi /etc/selinux/config</code>

<code>selinux=disabled</code>

<code>[root@localhost~]</code><code># setenforce #临时生效</code>

<code>[root@localhost~]</code><code># getenforce #查看selinux状态</code>

3、清空防火墙并设置基本规则

5

6

7

8

9

10

11

12

<code>[root@localhost~]</code><code># iptables -f   #清楚防火墙规则</code>

<code>[root@localhost~]</code><code># iptables -l   #查看防火墙规则</code>

<code>[root@localhost~]</code><code># iptables -i input -m state --state related,established -j accept   #检查状态,防止无效的数据包</code>

<code>[root@localhost~]</code><code># iptables -a input -p tcp --dport 80 -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -p tcp --dport 22 -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -p tcp --dport 53 -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -p udp --dport 53 -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -p udp --dport 123 -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -p icmp -j accept</code>

<code>[root@localhost~]</code><code># iptables -a input -s 127.0.0.1 -d 127.0.0.1 -j accept</code>

<code>[root@localhost~]</code><code># iptables -p input drop</code>

<code>[root@localhost~]</code><code># /etc/init.d/iptables save</code>

#根据需求开启相应端口

CenOS6.5安全加固及性能优化

4、添加user用户并进行sudo授权管理

<code>[root@localhost~]</code><code># useradd user</code>

<code>[root@localhost~]</code><code># echo "123456" | passwd --stdin user  #设置密码</code>

<code>[root@localhost~]</code><code># vi /etc/sudoers  #或visudo打开,添加user用户所有权限</code>

<code>root    all=(all)       all</code>

<code>user    all=(all)       all</code>

5、禁用root远程登录

<code>[root@localhost~]</code><code># vi /etc/ssh/sshd_config</code>

<code>permitrootlogin no</code>

<code>permitemptypasswords no </code><code>#禁止空密码登录</code>

<code>usedns no </code><code>#关闭dns查询</code>

6、关闭不必要开机自启动服务

CenOS6.5安全加固及性能优化

7、删除不必要的系统用户

CenOS6.5安全加固及性能优化

8、关闭重启ctl-alt-delete组合键

<code>[root@localhost ~]</code><code># vi /etc/init/control-alt-delete.conf</code>

<code>#exec /sbin/shutdown -r now "control-alt-deletepressed"  #注释掉</code>

9、调整文件描述符大小

<code>[root@localhost ~]</code><code># ulimit –n #默认是1024</code>

<code>1024</code>

<code>[root@localhost ~]</code><code># echo "ulimit -shn 102400"&gt;&gt; /etc/rc.local   #设置开机自动生效</code>

10、修改系统显示信息

<code>[root@localhost ~]</code><code># echo "welcome to server" &gt;/etc/issue</code>

<code>[root@localhost ~]</code><code># echo "welcome to server" &gt;/etc/redhat-release</code>

11、修改history记录

<code>[root@localhost ~]</code><code># vi /etc/profile  #修改记录10个</code>

<code>histsize=10</code>

12、同步系统时间

<code>[root@localhost ~]</code><code># yum install -y ntp</code>

<code>[root@localhost ~]</code><code># cp /usr/share/zoneinfo/asia/shanghai /etc/localtime  #设置shanghai时区</code>

<code>[root@localhost ~]</code><code># ntpdate cn.pool.ntp.org ;hwclock–w  #同步时间并写入blos硬件时间</code>

<code>[root@localhost ~]</code><code># crontab –e     #设置任务计划每天零点同步一次</code>

<code>0 * * * * </code><code>/usr/sbin/ntpdate</code> <code>cn.pool.ntp.org ; hwclock -w</code>

13、内核参数优化

13

14

15

16

17

18

19

20

21

22

<code>[root@localhost ~]</code><code># vi /etc/sysctl.conf    #末尾添加如下参数</code>

<code>net.ipv4.ip_local_port_range </code><code>=</code> <code>4096</code> <code>65000</code>  <code>#向外可使用应用程序端口范围</code>

<code>net.ipv4.tcp_fin_timeout </code><code>=</code> <code>2</code>           <code>#表示如果套接字由本端要求关闭,保持在fin-wait-2状态的时间,默认值是60秒。</code>

<code>net.ipv4.tcp_syncookies </code><code>=</code> <code>1</code>            <code>#当有大量syn包,等待队列溢出时,就会启用cookies来处理,可防范少量syn攻击,默认是1,开启</code>

<code>net.ipv4.tcp_tw_reuse </code><code>=</code> <code>1</code>              <code>#1是开启复用,允许将time_wait sockets重新用于新的tcp连接,默认是0,表示关闭</code>

<code>net.ipv4.tcp_tw_recycle </code><code>=</code> <code>1</code>            <code>#开启tcp连接中time_wait sockets的快速回收,默认是0关闭</code>

<code>net.ipv4.tcp_max_tw_buckets </code><code>=</code> <code>5000</code>     <code>#系统同时保持time_wait套接字的最大数量,如果超出这个数字,time_wati套接字将立刻被清除并打印警告信息,默认180000</code>

<code>net.ipv4.tcp_max_syn_backlog </code><code>=</code> <code>4096</code>    <code>#进入syn队列的最大长度,默认是1024,加大队列长度可容纳更多的等待连接</code>

<code>net.core.netdev_max_backlog </code><code>=</code>  <code>10240</code>   <code>#网络接口接受数据包的队列,允许送到队列的数据包最大设备队列,默认值1000</code>

<code>net.core.somaxconn </code><code>=</code> <code>2048</code>              <code>#调节系统同时发起的tcp连接数,默认值128</code>

<code>net.core.wmem_default </code><code>=</code> <code>4096000</code>        <code>#发送缓存区大小的缺省值</code>

<code>net.core.rmem_default </code><code>=</code> <code>4096000</code>        <code>#接受套接字缓冲区大小的缺省值(以字节为单位)</code>

<code>net.core.rmem_max </code><code>=</code> <code>4096000</code>            <code>#最大接收缓冲区大小的最大值</code>

<code>net.core.wmem_max </code><code>=</code> <code>4096000</code>            <code>#发送缓冲区大小的最大值</code>

<code>net.ipv4.tcp_syn_retries </code><code>=</code> <code>2</code>           <code>#syn握手重试次数,当超过这个数,此连接就会从syn_backlog中删除</code>

<code>net.ipv4.tcp_synack_retries </code><code>=</code> <code>2</code>        <code>#syn-ack握手状态重试次数</code>

<code>net.ipv4.tcp_max_orphans </code><code>=</code> <code>3276800</code>     <code>#系统中最多有多少个tcp套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息</code>

<code>net.ipv4.tcp_mem </code><code>=</code> <code>94500000</code> <code>915000000</code> <code>927000000</code>

<code>net.ipv4.tcp_mem[</code><code>0</code><code>]:低于此值,tcp没有内存压力;</code>

<code>net.ipv4.tcp_mem[</code><code>1</code><code>]:在此值下,进入内存压力阶段;</code>

<code>net.ipv4.tcp_mem[</code><code>2</code><code>]:高于此值,tcp拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。</code>

<code>[root@localhost ~]</code><code># sysctl -p   #生效配置</code>

主要根据网络状态优化:开启time_wait复用、time_wait快速回收、开启syn cookies、加大syn队列最大长度、网络接口接受数据包的最大队列、接受和发送缓冲区的值调整等。

至此centos6.5_x64最小化安装系统基本优化调整完毕,最好重启下系统。

继续阅读