服务器概况
系统版本:ubuntu14.04 LTS
内核版本:3.0.14-generic
被黑症状:dos攻击其他主机
结果:收到网络中心邮件,校园网账号被警告
发现日期:2015-8-25
当日ssh登陆此服务器,并在3s内断开链接,提示
之前学长们也有遇到过,当时重启搞定了。也有lan连接导致wan断开的情况。
有两个来自hongkong和一个Beijing的IP尝试连接到这台服务器。
以下只截取了2个
显然这个已经知道root密码了。
这个估计想进内网,在查看路由
服务器连上网后,有进程占用CPU非常严重,比如下面这个
双路共8核服务器 时常满载。上行11Mbps,应证了这服务器已经成了dos攻击的bot。
尝试摆脱控制
杀掉进程
直接kill pid,可以看到上行瞬间降到0,CPU占用恢复到正常值,但是随后连接再次established,上行又变回11Mbps。虽然此法行不通,但是证明了,确实是这个连接在捣鬼。ufw
ubuntu内置的防火墙,用法
ufw deny allow/deny/reject from addr
但是没有阻止59那个ip的连接iptables
这个东西属于一个模块,如果之前没有用过,就要通过
modprobe ip_tables
加载这个模块,网上所说的那些service iptables,我这边提示unrecognized service
加载后就可以开始添加规则了,我这边用了下面这个模板
iptables -I INPUT -s sourceIP -j DROP
用来drop来自那三个IP的连接。
这个方法成功阻止了这三个IP的连接,上行恢复正常,但是SSH的问题依旧。
问题分析
SSH
SSH登陆掉线的问题,学长那边查到的说法是,两块网卡,网关冲突,我这边查到的是内核bug或者驱动没装好。晚上我和QT开发群里的群友讨论,有人说如果没有配好路由,会有问题,所以我又去学习了下路由表的知识,后面修改好了之后再加到博客里来。安全意识缺失
首先不谈iptables没有开启,(他们可能之前开过,影响了测试,就关了),root密码离谱的简单123456,而且服务器直接暴露在公网里,不被黑都难。
补救
SSH重装
既然SSH出问题,就重装SSH试试,总比换网卡简单。权限配置
1、关闭root远程登陆权限。
2、设置远程账户,开证书认证,而不是直接远程root登陆。登陆成功之后在su user 切换到root用户。
3、设置重试次数,防止暴力破解。iptables配置
如果没有交换机直接构建内网,只能放到公网里,更保险的方法是,配置完编译环境后,指定IP才能连接到服务器(accept),其余的全部drop。