linux服务器被攻击后处理方法

   对于一些在云平台上租用的服务器,列如linux操作系统,很多公司或者个人都不使用自带的防火墙(iptables),那样很容易被黑客入侵,虽然linux系统是安全高效稳定的,但是安全也是相对的,下面就简单讲解下,当linux服务器被攻击后应该如何处理:

    服务器被攻击状态不定时向外发送大量数据包,导致整体网络丢包严重。

    可疑进程:  pphp6       初步怀疑是DDOS程序

                        netns        可以在一台服务器上用不同网卡做环回,导致服务器资源耗尽,如 lo 回环口流量异常大,需要注意下了,(通过远程端口注入)

                        profs         初步怀疑是被利用发起DDOS的服务端程序

    IP发现在广东。


   很多人一般会先切断网络------然后进行数据备份------对系统进行检查,修复,甚至重装系统------部署策略------恢复数据------打开网络连接对外提供服务

   我是这样处理的:  --------------ps:eth0是外网网卡


   1.先做一条策略禁止新的IP连接我的服务器:

      root# service iptables restart

               iptables -F

               iptables -A INPUT -i eth0 -j DROP


   2.然后用命令   netstat -anpt 查看哪些IP连接着我的服务器,同时可以查看到相应的进程和PID,记录那些可疑IP和可疑进程。

      怀疑某个特殊进程后可以用以下命令查看进程的完整路径:

      pidof   进程名称                                -----或者用 ps -ef | grep  进程名称

      ls -al /proc/进程号/exe                      ----这就可以查出完全路径了

      ls -al /proc/进程号/fd                        -----查看文件的句柄


   3.用命令    w     或者   last   查看可疑用户,将可疑用户锁定后强行下线

       passwd   -l     用户名                        ------    -u  是解锁

       ps  -ef  |  grep  @pts/3

        kill  -9   进程号

     

   4.接下来把可疑进程杀掉:                     -------------------我发现的可疑进程有3个:pphp6,netns,profs             查出的路径在部署的nagios目录里面,所以断定是外来文件。

      kill   -9  进程号                                  --------------杀完,网络明显好转。


   5. 查看是否有执行计划:

      crontab -l              有其他用户也看下        crontab  -u   用户名    -l 

      如果有很多不知道的任务计划,一般会出现非常多注释,然后有用的夹杂在里面,列如service  iptables stop  ,   get .....        put ....       cat  日志发送给远端服务器等等。


   6. 接下来备份数据

       我用的CRT 传输数据


   7.接下来再仔细查看系统日志去发现可疑行踪,或者有可疑文件:

      tail -3000   /var/log/messages               ------查看进程启停状态以及连接状态      属于一般的消息日志

      tail -3000   /var/log/secure                     ------本机安全有关的消息,列如用户再试探密码

      tail -3000   /var/log/wtmp                       ------查看用户的登入信息

     查看各用户目录下是否存在隐藏脚本,各用户的  .bash_profile      .bashrc           .bash_logout         .bash_history

  比如  cd   /root/

           ls   -a

           cat    .bash_profile              ------su  切换的时候执行

           cat    .bashrc                         -----登入的时候执行

            cat    .bash_logout               -----登出的时候执行

           cat     .bash_history             -----保留的历史命令

    同时也要查看 /etc/目录下的这几个文件里面是否加入了什么命令或脚本,有些黑客会加入   iptables  -F   或者   service iptables stop ,那样你一开始做的策略就没有用了。

  ps:一般在    .bash_history    里面会加入        history  -c                  rm -rf    /var/log/wtmp

    

    确定完这些以后,该锁定的用户锁定,该删除的文件删除(有些文件被故意锁定了无法删除,可以用   “lsattr  文件名 ”     查看权限,   用  “ chattr  -i    文件名 ”    解锁文件,

     “ chattr  +i   文件名”   锁定文件 ),.bash_profile等文件也确认里面是否有添加其他可以命令,同时也查看下服务器自启动的程序。

               chkconfig  --list                          ----查看服务

              chkconfig   服务    off                 -----关闭自启动


   8.已经清理差不多了就可以做策略允许被访问的端口,打开外网(其实最好就是重做系统,因为你不知道你的服务器是否中了  rootkit,命令文件是否被替换或者被感染,而现在你还要确认下你是否打了bash的补丁,最新的linux安全漏洞,也可以用chkrootkit、rkhunter、lynis、antivir等工具检查下linux文件,必要时可以从安全的服务器上拷贝命令过来使用)

        我做的策略是允许特定的端口,拒绝所有,允许被ping:

       iptables -I INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
       iptables -I INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
       iptables -I INPUT -i eth0 -p tcp --dport 5666 -j ACCEPT

       iptables -I INPUT -p icmp -i eth0 -j ACCEPT

       iptables -I INPUT -p all -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

       iptables -A INPUT -i eth0 -j DROP

       service iptables save

       如果不允许被别人ping的话:

       #不允许别人ping自己,自己可以ping别人
iptables -I INPUT -p icmp -j DROP
iptables -I OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -I INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -I INPUT -p icmp --icmp-type 3 -j ACCEPT

   然后开启网卡  :   ifup  eth0


    9.进行监控观察流量和进程。



    后言:

   其实服务器刚刚安装好的时候就应该对其做基本的安全修改,比如账户的修剪和账号策略,关闭不必要的服务和端口,关闭root远程登入(使用普通账号后su),修改ssh连接端口,修改登入反馈信息,禁止非日志服务器接收日志,或者单独拿一台服务器做路由器做策略,其他服务器做   原地址转换(SNAT)    目标地址转换(DNAT)    端口映射等等,  最好是有硬件防火墙。


   下次总结下如何对linux系统安全优化,网络安全策略等。



   以上内容属于自己的看法和做法

    对以上内容有问题,有错误欢迎指出

    联系邮箱:qrcg92@foxmail.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值