场景:
周一上班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,黑白名单
#修改端口号
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系统被入侵后处理经历【转】
背景 操作系统:Ubuntu12.04_x64 运行业务:公司业务系统,爬虫程序,数据队列. 服务器托管在外地机房. 突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbix监控系统查看流 ...
- Linux服务器被入侵后的处理过程(转发阿良)
Linux服务器被入侵后的处理过程 突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...
- Linux系统被入侵后处理经历
服务器托管在外地机房. 突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbix监控系统查看流量状况. 可见流量已经达到了800M左右,肯定不正常,马上尝试SSH登陆系统,不幸的事,这种情 ...
- Linux服务器被入侵后的处理过程
突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 SSH 登陆系统,不幸的事,由于网络堵 ...
- 一次Linux服务器被入侵和删除木马程序的经历
转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wzlinux.blog.51cto.com/8021085/1740113 一.背景 晚上看到有台服 ...
- linux 服务器下入侵之后的日志清理
1.web日志的清理:access.log 和auth.log 位置在/var/log/下面. 2.系统日志存放在:/root/.bash_history
- 快速自检电脑是否被黑客入侵过(Linux版)
之前写了一篇快速自检电脑是否被黑客入侵过(Windows版), 这次就来写写Linux版本的. 前言 严谨地说, Linux只是一个内核, GNU Linux才算完整的操作系统, 但在本文里还是用通俗 ...
- 如何判断Linux服务器是否被入侵?
被入侵服务器的症状 当服务器被没有经验攻击者或者自动攻击程序入侵了的话,他们往往会消耗 100% 的资源.他们可能消耗 CPU 资源来进行数字货币的采矿或者发送垃圾邮件,也可能消耗带宽来发动 DoS ...
- 如何检查linux服务器是否被入侵
被入侵服务器的症状 当服务器被没有经验攻击者或者自动攻击程序入侵了的话,他们往往会消耗 100% 的资源.他们可能消耗 CPU 资源来进行数字货币的采矿或者发送垃圾邮件,也可能消耗带宽来发动 DoS ...
随机推荐
- 【软件需求工程与建模 - 小组项目】第6周 - 成果展示3 - 软件设计规格说明书V4.1
成果展示3 - 软件设计规格说明书V4.1
- 四则运算 Java 杨辉鹏,郑冠华
四则运算 Java 杨辉鹏,郑冠华 GitHub链接:https://github.com/yanghuipeng/arithmetic 项目相关要求 使用 -n 参数控制生成题目的个数,例如 -n ...
- 关于正餐智能POS6.0.1.1改版后,点击反结账进入点菜界面后无法进行加菜的FAQ
适用版本:智能POS正餐V6.0.1.1+适用情况:点击反结账进入点菜界面后无法进行加菜.原因:为让报表统计的数据更准确解决方案:1.点击反结账,输入用户密码,进入点菜界面. 2.点击结算,进入收银台 ...
- web前端(3)—— html标签及web页面结构
本节内容简单介绍下html都有哪些标签 还是百度首页,查看源代码看看: 我把源代码复制下来另存为html文件里: 注意:网页文件的后缀都是html或者htm 我这用的pycharm编辑器(Python ...
- C# WINFORM 应用程序动态读写xml config文件,获取数
在实际项目里,我们需要用一个应用程序去连接多个数据库,有的进行测试,有的是数据库基本结构相同,数据不同, 我们不可能总去程序的连接字符串里去修改,更不能让用户去修改,所以需要动态去修改连接数据库配置信 ...
- Android 自定义ListView单击事件失效
因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...
- LeetCode算法题-Binary Tree Level Order Traversal II(Java实现)
这是悦乐书的第165次更新,第167篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第24题(顺位题号是107).给定二叉树,返回其节点值的自下而上级别顺序遍历(即从左到右 ...
- MYSQL的binlog日志
binlog 基本认识 MySQL的二进制日志以事件形式,记录了所有的DDL和DML(除了数据查询语句)语句,及语句执行消耗时间. MySQL的二进制日志是事务安全型的,是MySQL最重要的日志. b ...
- 解决:Vue刷新/载入页面,出现双括号闪现后消失
https://cn.vuejs.org/v2/api/#v-cloak v-cloak 不需要表达式 用法: 这个指令保持在元素上直到关联实例结束编译.和 CSS 规则如 [v-cloak] { d ...
- Django-rest-framework 接口实现 权限:(Permission)
权限:(Permission) rest_framework 中 已经定义好了 权限 在 from rest_framework.permissions 中查看所有的权限 from rest_fram ...