CentOS服务器安全与优化

第一:停止ipv6 CentOS默认的状态下,ipv6是被启用的状态.因为我们不使用ipv6,所以,停止ipv6,以最大限度保证安全和快速.

如下所示:

1
2
3
4
5
6
sit0      Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

这表明,IPV6功能是被启动的状态.

解决方法:

1
2
3
4
vi /etc/modprobe.conf # 修改相应配置文件,添加如下行到文尾:
alias net-pf-10 off
alias ipv6 off
shutdown -r now # 重新启动系统,使设置生效(我试过重启网卡不生效)

第二:停止打印服务 系统默认被设置为自动启动的打印服务,这个需要不需要要看你们具体情况了.

1
2
3
4
5
/etc/rc.d/init.d/cups stop # 停止打印服务
停止 cups:            [ 确定 ]    # 停止服务成功,出现"确定"
[root@localhost ~]# chkconfig cups off # 禁止打印服务自动启动
[root@localhost ~]# chkconfig --list cups # 确认打印服务自启动设置状态
cups 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 # 0-6都为off的状态就OK

第三:防止别人ping.

1)命令提示符下输入:

1
echo 1 > /proc/sys/net/ipv4/icmp_ignore_all

2)用防火墙禁止(或丢弃) icmp 包:

1
iptables -A INPUT -p icmp -j DROP

第四:更改SSH端口,如改为5000.

1
vi /etc/ssh/sshd_config

默认port是22,我改为5000,保存退出.

第五:修改命令history记录数.

1
vi /etc/profile

找到 HISTSIZE=1000 改为 HISTSIZE=30(举例)

第六:打开SYN Cookie功能,该功能可以防止部分SYN攻击.

1
2
3
4
5
6
7
8
9
10
11
12
echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf
sysctl -p
net.ipv4.ip_forward = 0 #如果为网关或路由器应设置为1
net.ipv4.conf.default.rp_filter = 1 #提供 IP Spoofing 保护
net.ipv4.conf.default.accept_source_route = 0 #禁止 IP源路由功能
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1 #提供 TCP SYN 泛滥保护
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456

第七:资源限制 (本设置只对登录到系统中的用户有效).

1
2
3
4
5
6
7
vi /etc/security/limits.conf
42 #* soft core 0 #表示禁止创建core文件
43 #* hard rss 10000 #其他用户最多使用10000M内存.
44 #@student hard nproc 20 #表示最多把进程数限制在20
45 #@faculty soft nproc 20
46 #@faculty hard nproc 50
47 #ftp hard nproc 0

第八:使ctrl+alt+del关机键无效.

1
vi /etc/inittab

查找:

1
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

在这句前面加”#”注释掉即可.

1
/sbin/init q

使上面设置生效.