服务器遭遇黑客攻击,如何应对与防范?
服务器被黑怎么办?
一、发现安全事件
外界通知
核实信息:收到外界的安全事件通知后,首先需要与报告人核实信息,确认服务器或系统是否真的被入侵,很多企业有自己的安全响应中心(SRC),在核实过程中依赖这些资源。
检查异常活动:通过日志和监控工具检查服务器上的异常活动,例如非正常的登录尝试、大量数据传输、异常进程运行等。
自行发现
监控和告警:运维工程师通常会通过监控系统发现异常,服务器对外发送大量流量或者系统负载异常高等。
初步判断:根据经验判断是否有入侵行为,并立即采取措施进行进一步确认。
二、现场保护
保存现场环境
截图记录:对当前服务器的状态进行截图保存,包括进程列表、网络连接状态等。
采集命令:使用以下命令采集相关信息:
ps axu
:查看所有进程信息
netstat –a
:查看所有网络连接
lsof / netstat -p
:查看打开的文件和网络端口
攻击者登录情况
查看登录用户:使用w
或who -a
命令查看当前登录的用户。
分析登录记录:检查系统日志,确定攻击者的登录时间和IP地址。
三、服务器保护
业务迁移
立即下线:如果可能,立即将受影响的业务迁移到其他服务器上,并将被入侵的服务器下线处理。
隔离网络:如果不能立即处理,可以通过配置网络ACL等方式封掉该服务器对网络的双向连接,防止进一步的攻击扩散。
数据备份
备份关键数据:使用sftp/rsync
等工具将重要数据(如日志文件、配置文件等)上传到安全的服务器。
tar -jcvf syslog.tar.bz2 /var/log
:打包系统日志
cp /home/user/.history user_history
:备份用户操作历史
四、影响范围评估
业务架构评估
确认业务架构:了解Web服务、数据库、代理等各部分的架构和拓扑结构。
检查VLAN内服务器:确认同一网络下的服务器和应用情况,评估是否有相互影响。
访问控制评估
确定访问权限:确认是否需要Key或密码登录,评估攻击者是否已经获取这些权限。
检查泄露情况:确认数据库或敏感文件是否被泄露,程序评估危害情况与处置方法。
五、在线分析
用户历史记录检测
关键字搜索:查找包含wget/curl
、gcc
等关键字的History记录。
检查异常用户:查看最近添加的用户,是否有不知名用户或不规范提权。
找出root权限用户:执行以下命令检查:
grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'
反连木马判断
网络连接检测:使用netstat –a
查看所有网络连接,注意非正常端口的外网IP。
可疑进程判断
检查隐藏进程:使用ps aux
查看进程,重点关注隐藏文件和脚本(如Python、Perl、Shell)。
定位文件:使用which
、whereis
、find
等命令定位可疑文件。
Crontab检测
检查计划任务:查看crontab任务,确认是否存在异常任务。
crontab –l cat /etc/crontab ls /etc/cron.
系统日志检测
检查SSH配置:确认认证方式,检查/etc/ssh/sshd_config文件。
日志完整性检查:确认日志文件是否被删除或清理过。
辅助工具:使用last/lastb
命令作为辅助工具。
NHIDS正常运行判断
安装检查:确认是否安装NHIDS,例如OSSEC。
运行状态检查:使用ps axu | grep nhids
命令查看NHIDS进程是否正常。
其他攻击分析
抓取网络数据包:使用tcpdump工具抓取网络数据包进行分析。
tcpdump -w tcpdump.log
六、深入分析
Webshell检测
脚本检测:使用webshell_check.py脚本检测Web目录。
python webshell_check.py /var/www/ > result.txt
查找特定文件:查找Web目录下所有属于nobody的文件,人工分析。
find /var/www –user nobody > nobody.txt
利用漏洞直接反连Shell
分析access.log:缩小日志范围,提取异常IP和攻击行为。
常见攻击识别:识别常见的攻击exp。
系统弱口令入侵
检查系统文件:检查系统文件是否被篡改,特别是SUID文件。
检查核心转储文件:查找系统中的核心转储文件。
find / -name core -exec ls -l {} ;
RPM包检查
RPM文件校验:使用rpm –qf和rpm -Va命令检查RPM包的完整性和校验和。
rpm –qf /bin/ls rpm -Va
网络检查
网卡混杂模式:检查网卡是否处于混杂模式。
ip link | grep PROMISC lsof –i netstat –nap arp –a
计划任务检查
Root和UID为0的计划任务:检查root用户的crontab任务和其他计划任务。
crontab –u root –l cat /etc/crontab ls /etc/cron.
后门检查
常见后门路径:检查常见的后门文件和路径。
cat /etc/crontab ls /var/spool/cron/ cat /etc/rc.d/rc.local ls /etc/rc.d/* find / -type f -perm 4000
内核模块检查
检查加载的内核模块:使用lsmod命令列出当前加载的内核模块。
lsmod
七、归纳与反思
归纳事件:组织相关人员对事件进行归纳和反思,分析黑客入侵的原因、过程和影响。
改进措施:找出自身在安全管理上的不足和漏洞,制定相应的改进措施。
持续学习:保持对最新安全技术和威胁动态的关注,不断更新和完善安全防护体系。
到此,以上就是小编对于“服务器被黑怎么”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
暂无评论,1人围观