• 一次linux服务器黑客入侵后处理


     场景:
    周一上班centos服务器ssh不可用,web和数据库等应用不响应。好在vnc可以登录
    使用last命令查询,2号之前的登录信息已被清空,并且sshd文件在周六晚上被修改,周日晚上2点服务器被人远程重启
    root     pts/1        :1.0             Mon Jul  3 11:09   still logged in   
    root     pts/1        :1.0             Mon Jul  3 11:08 - 11:09  (00:01)    
    root     pts/0        :0.0             Mon Jul  3 10:54   still logged in   
    root     tty1         :0               Mon Jul  3 10:53   still logged in   
    reboot   system boot  2.6.32-696.3.2.e Mon Jul  3 10:46 - 11:11  (00:25)    
    root     pts/0        :0.0             Mon Jul  3 10:42 - down   (00:01)    
    root     tty1         :0               Mon Jul  3 10:40 - down   (00:03)    
    reboot   system boot  2.6.32-696.3.2.e Sun Jul  2 02:31 - 10:44 (1+08:12)   
    reboot   system boot  2.6.32-431.el6.x Sun Jul  2 02:27 - 02:27  (00:00) 
    Jul  2 03:11:20 oracledb rsyslogd: [origin software="rsyslogd" swVersion="5.8.10
    " x-pid="1960" x-info="
    http://www.rsyslog.com"] rsyslogd was HUPed
    Jul  2 03:35:11 oracledb sshd[13864]: Did not receive identification string from
     
    使用less /var/log/messages命令2点结合last命令,判断2点重启后IPATABLES生效,有大量的ssh暴力破解的扫描信息,由于机器是测试环境,上面安装了ORACLE和squid,临时管理了iptables,重启后iptables启动,应该没有再次被再次登录,但是系统中部分文件以及被修改
     
    message文件中部分信息如下:
    103.207.37.86
    Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 186
    Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 187
    Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 188
    Jul  2 03:35:13 oracledb sshd[13865]: Failed password for illegal user support f
    103.207.37.86 port 58311 ssh2
    Jul  2 03:45:05 oracledb sshd[13887]: Illegal user support from 
    103.79.143.234
     
    113.108.21.16
    Jul  2 05:10:37 oracledb sshd[14126]: Illegal user support from 
    103.79.143.234
    Jul  2 05:10:37 oracledb sshd[14126]: Failed password for illegal user support f
    rom 
    103.79.143.234 port 57019 ssh2
    Jul  2 05:10:43 oracledb sshd[14128]: Did not receive identification string from
     
    解决方法
    1.修改root用户密码
    2.由于sshd文件被修改,重新安装ssh,并设置只有指定内网IP可以访问
    3.配置iptables,使iptables
     
    重装SSHD
    1.rpm -qa | grep ssh查询已安装包
    系统已安装包:
    openssh-clients,openssh-server,openssh,openssh-askpass
    删除这四个包,删除时centos提示包之间有依赖关系,按照提示从依赖关系的最里层开始删除,
    按照openssh-askpass openssh openssh-server openssh-clients这个顺序删除就可以了。
     
    2.安装
    使用yum逐一安装,yum install openssh-askpass **
    安装openssh-server时提示:
    unpacking of archive failed on file /user/sbin/sshd cpio:rename
    删除文件提示Operation not permitted错误
    查询文件的隐藏属性
    lsattr /usr/sbin/sshd
    -u---ia--e /usr/sbin/sshd
    i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
    a 即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性
    使用 chattr -ia /usr/sbin/sshd修改文件的隐藏属性,取消对应设置之后删除成功
    + :在原有参数设定基础上,追加参数。 - :在原有参数设定基础上,移除参数
    再次yum install openssh-server 成功
     
    3.配置ssh登录控制,设置管理IP,黑白名单
    vi /etc/ssh/sshd_config
    #修改端口号
    Port 52111
    #只允许SSH2方式的连接
    Protocol 2
    #容许root用户登录,因为后面会设置可登录IP,所以这里就容许了
    PermitRootLogin yes
    #不容许空密码
    PermitEmptyPasswords no
     
    #屏蔽来自所有的SSH连接请求
    vi /etc/hosts.deny
    sshd: ALL
     
    #允许来自内网指定ip的SSH连接请求
    vi /etc/hosts.allow
    sshd: 192.168.0
    sshd: 192.168.253.**
     
    配置对应iptables设置
    1.iptables配置规则
    iptables [-t表名] [-A|I|D|R 链名 ] [-i网卡名] [-p协议] [-s源IP] [-d目标ip] [--dport目标端口号] [-j动作]
    这里需要配置的是filter表,filter表中有input,output,forward三条规则链,如果本机服务比较多,规则比较繁琐,比较便捷的方法是写shell脚本之后重启ssh服务
    #限制SSH的连接IP
    iptables -A INPUT -s 192.168.101.32 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 192.168.101.35 -p tcp --dport 22 -j ACCEPT
    #SSH支持52111是修改后SSH端口
    iptables -A OUTPUT -p tcp --sport 52111 -j ACCEPT
     
    这里只是针对SSH做了简单配置,具体iptables的配置,详见iptables配置一文
    配置后/etc/rc.d/init.d/iptables save保存,使用service iptables restart重启服务后配置生效。
     
     
  • 相关阅读:
    MySQL事务
    docker搭建mysql:5.7.29
    Docker构建常用PHP扩展
    Hadoop HDFS概述
    一个简单连接池的实现
    SpringCloud学习笔记-Eureka搭建过程中的出现问题
    记录Spring整合Mybatis过程中出现Invalid bound statement (not found)的解决问题思路
    项目中错误设置max-http-header-size参数导致内存激增
    DBeaver中如何调整SQL编辑器的字体大小
    Java 排序异常 Comparison method violates its general contract
  • 原文地址:https://www.cnblogs.com/lodestar/p/7155820.html
Copyright © 2020-2023  润新知