黑客是很疯狂的,只要能登录你的服务器,就可以窃取你的数据,然后用数据要挟你给钱,我的服务器一晚上被尝试这么多次:
Last failed login: Thu Aug 29 20:25:51 EDT 2024 from 39.155.215.179 on ssh
There were 1827 failed login attempts since the last successful login. Last login: Thu Aug 29 10:02:13 2024 from 120.244.236.133如图:
为了有效防止黑客,就一定要保护好自己打开的端口。用ss -tuln指令查看自己打开了哪些端口,如下图,可以看到我的80、443、22都是打开的。
网站服务的80和443端口,用Docker启动,要以非root用户的身份运行Docker容器,可以在Dockerfile中创建和使用非root用户,或者在启动容器时指定用户。这一点不强求,毕竟很多东西是需要Docker里也是root的。
宿主机ssh登录的22端口,这个端口非常重要了,一定要保护好。保护措施:
为了保护你的服务器的22端口SSH登录,你可以采取以下措施:
这里介绍ssh密钥对登录,目前我采用的也是如此方式,首先在服务器执行: ssh-keygen -t rsa -b 4096 -C "[email protected]" 生成了密钥对。
把私钥文件/root/.ssh/id_rsa下载到windows本地C:\Users\Administrator\moba_ssh_rsa\id_rsa。确保私钥文件的安全性,不要泄露给他人。服务器的私钥可以删除掉。
本地可以用指令连接服务器:ssh -i C:\Users\Administrator\moba_ssh_rsa\id_rsa user@your_server_ip
或者用 mobaxterm 连接服务器,打开mobaxterm,如下图,使用密钥对登录:
更改默认SSH端口:
具体步骤:
/etc/ssh/sshd_config
文件,找到Port 22
行并将其更改为一个非标准端口,例如Port 2222
。sudo systemctl restart sshd
如下图:
使用防火墙限制访问:
ufw
或iptables
限制对SSH端口的访问,仅允许特定IP地址访问。具体步骤(使用ufw为例):
sudo ufw allow from <your_ip> to any port 22
sudo ufw allow <new_port>
sudo ufw enable
启用Fail2Ban防止暴力破解:
具体步骤:
sudo apt install fail2ban
/etc/fail2ban/jail.local
,添加如下配置:
ini[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
sudo systemctl restart fail2ban
禁用Root用户SSH登录:
具体步骤:
/etc/ssh/sshd_config
文件,找到PermitRootLogin
行,并将其更改为no
。sudo systemctl restart sshd
通过以上步骤,你可以显著提高SSH服务的安全性,减少被攻击的风险。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!