1 服务器一般安全策略:
1) 最好使用硬件防火墙,如果没有,则使用iptables+TCP_Wrappers构建安全策略。
2) 密码绝对安全,24位以上
3) 采取密钥登陆,防止暴力破解,禁止root登陆,普通用户+密钥认证+IP限制+用户限制
4) 定期分析系统的日志文件,如last,lastlog,
5) 定期采用grep error /var/log/messages检查服务器是否存在硬件损坏的情况
6) 停掉不必要的服务,强化内核。
iptables主机型防火墙脚本:
#!/bin/bash
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,22,3306 -j ACCEPT
TCP_Wrappers访问控制:
[root@localhost ~]# rpm -q tcp_wrappers
tcp_wrappers-7.6-58.el6.i686
[root@localhost ~]# ldd /usr/sbin/sshd | grep 'libwrap'
libwrap.so.0 => /lib/libwrap.so.0 (0x00c4f000)
/etc/hosts.allow:允许策略
/etc/hosts.deny:拒绝策略
访问控制基本原则:首先检查/etc/hosts.allow,如果找到匹配策略则允许访问,否则继续查找/etc/hosts.deny,如果找到匹配的策略,则拒绝访问,如果以上两个文件都没有找到则允许访问。
-
宽松的策略:允许所有,拒绝个别
vim /etc/hosts.deny
sshd:192.168.154.1
-
严格的策略:拒绝所有,允许个别
vim /etc/hosts.allow
sshd:192.168.154.1
vim /etc/hosts.deny
sshd:ALL
ALL:103.197.244.10 #拒绝访问所有服务
2 服务器遭受攻击后的一般处理流程:
1)切断网络;
2)查找攻击源:分析系统日志文件和登陆日志文件,(如发现可疑用户,中断其远程连接)
如:
[root@localhost ~]# tail -f /var/log/messages
[root@localhost ~]# lastlog
[root@localhost ~]# lastb #查看失败的登陆记录
[root@localhost ~]# tail -f /var/log/secure #查看用户相关的安全日志
[root@localhost ~]# pkill -kill -t pts/0 #把异常登陆用户踢出去
3)分析入侵原因和途径;
遭受入侵的原因是多方面的,可能是系统漏洞,也可能是程序漏洞导致的,需要找到攻击源和途径,才能删除和修复漏洞。
4)备份数据;
5)重装系统(根据实际情况决定,如提供在线服务显然不可行)
6)修复程序或系统漏洞
7)恢复数据和网络;