原文作者:VitaliyKolesov
翻译:weakish
LeanCloud原链接可点击文末左下角「阅读原文」
加固服务器并不难,但有很多例行操作需要进行时,有可能会遗忘。以我为例,刚买的服务器就在两周内被人入侵了。有天早上我收到几封来自第三方的邮件,说我服务器上有东西在尝试入侵他们的服务器。所以,我需要快速解决这个问题。
如何查找漏洞
我碰到的情况比较简单,我执行了以下命令:
cat/var/log/auth.log
grepAccepted
该命令返回了我的服务器上的成功认证记录,其中有一个IP不是我的。所以,是SSH服务被入侵了。
别忘了还有一个命令last,这个命令返回最近成功登录的用户。
如何加固服务器
购买服务器后需要立刻进行的操作:
安装ufw,简单易用的防火墙软件;
关闭除SSH、HTTP(s)外的所有端口;
安装配置fail2ban工具。这个工具基于/var/log/auth.log识别恶意行为并封禁IP;
修改sshd配置,只使用密钥认证。
具体怎么做?
如果发生了入侵,你需要知道如何调查和清扫。最好的方式是重新创建VPS。我就是这么做的。我在hetzner买了服务器,它的控制台提供了重新创建(移除旧VPS,新建一个)VPS并保留原IP的功能。所以我重新创建了一个VPS。之后我在本地计算机上使用ssh-keygen工具(标准OpenSSH包的一部分)生成了SSH密钥:(下面的命令同时适用于Linux和macOS)
ssh-keygen
该命令在~/.ssh目录中创建了一对密钥。之后运行以下命令:
ssh-copy-idyou_useryour_server_id该命令会将新创建的公钥上传到服务器。接下来,登录服务器并修改sshd配置:
nano/etc/ssh/sshd_config修改配置文件中的PasswordAuthentication配置:
PasswordAuthenticationno这一配置禁用了使用密码登录(只能使用密钥登录)。
安装配置ufw和fail2ban
服务器上我用的系统是Ubuntu,所以通过以下命令可以安装这两个工具:
aptinstallufwfail2ban只开ssh和中科白癜风医院喜迎新年中科白癜风医院用疗效说话