(1)修改SSH端口并禁止root登录、禁用密码登录
## 修改端口,个人觉得作用并不明显,人家一个端口扫描立马能找到你服务器开启了哪些端口,我们还需要做更多的限制。
(2)对登陆的ip做白名单限制(iptables、/etc/hosts.allow、/etc/hosts.deny)
可以专门找两台机器作为堡垒机,其他机器做白名单后只能通过堡垒机登陆,将机房服务器的登陆进去的口子收紧;
另外,将上面限制ssh的做法用在堡垒机上,并且最好设置登陆后的二次验证环境(Google-Authenticator身份验证)
(3)严格的sudo权限控制
(4)使用chattr命令锁定服务器上重要信息文件,如/etc/passwd、/etc/group、/etc/shadow、/etc/sudoers、/etc/sysconfig/iptables、/var/spool/cron/root等
(5)禁ping(echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all)
(6)安装denyhosts
## DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽IP的功能。
(7)把所有软件升级到新版本
(8)修改所有软件默认端口号
(9)打开ssh/authorized_keys, 删除不认识的密钥
(10)删除用户列表中陌生的帐号
(11)封了他的ip
ls -l ~/.bash_history
lrwxrwxrwx 1 jd jd 9 Oct 10 19:40 /home/jd/.bash_history -> /dev/null # 这是一个致命的信息
grep :x:0: /etc/passwd # 正常只有一行,因为只有一个用户的UID为0
who # 看下是否有外国IP登录中,加到hosts.deny或者防火墙:iptables –A OUTPUT –d 175.124.123.26 –j DROP
skill -9 -t pts/5 # 杀掉外来IP登录进程
skill -9 -v /dev/pts/* # 杀死/注销所有用户
netstat -ntpl # 查看最后一栏是否有异常进程
查看异常登录:
grep "199.66.90" -r /var/log/secure*
grep Connection -r /var/log/secure* >> lsl.sh
cat /var/log/secure|awk '/Failed/{print}'
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | uniq -c | sort -nr | more # 查看被尝试密码登录的信息
lastb | awk '{print $3}' | sort | uniq -c | sort -nr # 查看ip试图登录的次数
(1)ifconfig查看外网卡带宽是否消耗得异常多:
## 被木马感染,系统带宽被打满。网卡流量跑满
(2)top看系统cpu也被打满。内存占用还好:
(3)ps命令,ls命令执行无输出。这个时候我们需要清醒的意识到,这些系统命令已经病被病毒程序替换了。我们的系统已经变得不可靠了,任何命令的执行都有可能进一步拉起病毒。
入侵排查:
(1)用busybox命令
(2)busybox last命令是查看系统登陆日志,比如系统被reboot或登陆情况
(3)cat /etc/passwd # 查看是否有异常的系统用户
(4)grep “0” /etc/passwd # 查看是否产生了新用户,UID和GID为0的用户
(5)ls -l /etc/passwd # 查看passwd的修改时间,判断是否在不知的情况下添加用户
(6)awk -F: '3==0 {print 1}' /etc/passwd # 查看是否存在特权用户
(7)awk -F: 'length(2)==0{print 1}' /etc/passwd # 查看是否存在空口令帐户
(8)top #仔细检查异常进程pid ;ls -l /proc/pid/exe 查看异常进程命令所在地
(9)crontab -l ; cat /etc/crontab # 查看异常计划任务
(10)ls /tmp/ # 查看tmp目录异常文件
(11)ll /etc/init.d/ # 查看是否有开机自启动的异常文件
(12)ll /root/.ssh/
## killall -9 nshbsjdy # 直接用killall杀掉进程
## echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all # 禁ping设置
## 能自我开机启动,要么/etc/rc.d/{init.d,rc{1,2,3,4,5}.d}/下有启动脚本,要么有cron计划任务