场景:

周一上班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="

"] 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重启服务后配置生效。

以上就是linux服务器被黑客入侵后处理的详细内容,更多请关注Work网其它相关文章!

09-03 14:54