我的树莓派被攻击了
事情的背景是这样的,最近给家里的树莓派配了外网访问的地址,以便在公司可以访问,写写自己的东西。
今天早上,ssh登录的时候突然登不上了,第一反应是不是我的外网IP被禁了。
然后又试了几次,居然有一次又登上了。
顿时感觉有点不对劲,下意识地 ps x 发现有大量的 sshd 连接。
一时间有点懵,因为没有遇到过这样的情况。
上网搜了一下,说可以看一下 /var/log/auth.log 。
然后就让我惊讶了,这文件里出现了一堆连接失败的记录,各种登录的尝试,于是瞬间明白了,这是被暴力破解了,太多了连接导致我的树莓派拒绝服务了,我的正常登录也出现了异常。
这里我放几张auth.log中的记录:
这里可以看到攻击者使用了不同的用户名来尝试登录,什么chief、cxc等等
这里全部换成了root用户名尝试登录,算是暴力破解
这里又出现了另一个IP的攻击,不知道是不是同一个攻击者,如果是的话,这算是分布式暴力破解?
解决方案
之前都是一直用的云服务器,安全方面都是服务商帮我做好了。这次要自己防护了。
因为我的树莓派并不需要对外网服务,只需要自己能登ssh就可以了。所以只要开放我信任的IP就好了,设置IP的白名单就可以实现。找到两种方法如下:
1. 设置 /etc/hosts.allow 和 /etc/hosts.deny
/etc/hosts.deny 是黑名单列表,先在其中加上下面一行,阻止所有的 ssh 登录
sshd:ALL
这个配置瞬时起效的,所以你不能关掉当前的 ssh 连接,不然会直接连不上。
/etc/hosts.allow 是白名单,在其中加上允许访问的 IP 列表
sshd:111.222.333.444
这样就可以了。结果就是只允许 IP 111.222.333.444 的主机登录。
但是,感觉这种方法没有那么完美,因为 /var/log/auth.log 还是会出现这样的记录
sshd[21358]: refused connect from 118.123.213.221 (118.123.213.221)
因为 sshd 属于应用层的协议,估计数据报流量还是被传进来了,只是被 ssh 自己给拒绝了。
ss -anpt 后发现还是有很多 ESTAB 的连接。不爽!然后又想到用防火墙的方法。
2. ufw 设置黑白名单
很早之前用过 iptables,后来好像都变成直接使用 ufw 来设置。
特地查了一下两者的区别,ufw 使用起来更简洁,底层还是调用 iptables 。
具体的使用方法,网上很多,后面可能再写整理个 ufw 的使用方法,这里先放一下我的设置。
首先,开启 ufw
ufw enable
然后设置默认策略,出去的流量全部放行,进来的流量全部阻止(同样,当前的 ssh 连接不能断开哦)
ufw default allow outgoing
ufw default deny incoming
最后就是开放信任的 IP
ufw allow from 111.222.333.444 to any port 22
这样设置之后,就只有 111.222.333.444 的主机可以登录 ssh 了。
这种方法应该是从网络层和传输层阻止了进来的流量,比第一种方案要好一点。
以上就是这次树莓派被攻击的过程。有哪里理解的不对的,希望大神指导一下。
番外
其实,这几天我外网的服务器也被攻击了,ss -anpt 80端口显示一大堆 SYN_RECV 的连接。
正常情况下我的博客主页是不可能有这么多访问的,妥妥地被拒绝服务攻击,找不到好的方法,总不能把 80 端口给禁了吧。
有没有大神给建议一下。
大家有什么问题都可以联系我哦。https://fancygo.net
文章转载:高效运维
(版权归原作者所有,侵删)
点击下方“阅读原文”查看更多