给VPS的SSH加固防止成为别人的肉鸡

点击数:44

前言:不知道你登录VPS时有没有注意到,自己的小鸡经常被人在尝试暴力登录。Linux有两个命令查看最近登录的用户,第一个是last命令可以查看所有的历史登录记录,可查看用户名、IP等信息,方便判断VPS是不是已经被人破解了。第二个命令是lastb,可以查看最近的登录失败的记录。为了不让自己的小鸡变肉鸡,有必要对VPS进行一些加固,防止别人暴力破解。本文的方法是修改变更ssh的默认端口及安装fail2ban,fail2ban的作用是可以设置允许1个IP登录失败的最大次数,达到最大次数后可以将冻结一段时间,防止暴力破解。下文以谷歌云为例:

  • 《给VPS的SSH加固防止成为别人的肉鸡》

 

一、允许root用户用密码进行登录

1.进入谷歌云实例面板通过网页ssh登录

2.切换到root角色

sudo -i

3.修改SSH配置文件/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

修改PermitRootLogin和PasswordAuthentication为yes

PermitRootLogin yes //默认为no,需要开启root用户访问改为yes

PasswordAuthentication yes //默认为no,改为yes开启密码登陆

4.给root用户设置密码

passwd root

5.重启SSH服务使修改生效

systemctl restart sshd.service

二、修改ssh登录端口

vi /etc/ssh/sshd_config

#Port 22 //这行去掉#号,防止配置不好以后不能远程登录,等修改以后的端口能使用了再注释掉

Port 12345 //在#Port 22下面添加这一行

:wq  //按ESC输入:wq保存退出

systemctl restart sshd.service

SSH登录测试新端口号,成功后再次编辑sshd_config

vi /etc/ssh/sshd_config

#Port 22  //加上#号,禁止通过22号端口登录

重启sshd服务

systemctl restart sshd.service

大功告成

三、安装fail2ban

1、安装fail2ban

yum install fail2ban  //debian 命令为 apt-get install fail2ban

2、修改配置文件

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local  #可以略过此步骤
vi /etc/fail2ban/jail.local

在文件最后添加以下内容

[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=12345, protocol=tcp]  #这里端口号按自己的情况修改,以12345为例
#sendmail-whois[name=SSH, [email protected], [email protected]]
logpath = /var/log/secure  #Debian或者Ubuntu则替为/var/log/auth.log
maxretry =5  #允许连续尝试失败的最大次数,我设置为5
bantime = 3600  #达到最大失败次数后禁止登录的时间,单位为秒
ignoreip = 123.123.123.123 111.111.111.0/24 #添加白名单IP,可以将自己经常登录的IP或IP段设为白名单

配置好了之后,我们需要让配置生效:

fail2ban-client reload

配置不生效可以用以下命令

fail2ban-client stop
fail2ban-client start

3、启动fail2ban服务

systemctl enable fail2ban
systemctl start fail2ban

4、验证

启动后验证fail2ban是否正常运行

fail2ban-client ping

正常响应内容为

Server replied: pong

5、查看被禁止的IP

fail2ban-client status ssh-iptables

可以在/var/log/fail2ban.log查看屏蔽IP的记录

cat /var/log/fail2ban.log | grep actions

实时显示日志

tail -F /var/log/fail2ban.log

6、临时取消白名单 IP(未修改配置文件,fail2ban-client stop再start以后就失效了)

fail2ban-client set ssh-iptables delignoreip 123.123.123.123

7、手动删除被ban IP

fail2ban-client set ssh-iptables unbanip 123.123.123.123

总结:如果以上方法还是觉得不够安全的话,建议给VPS配置密钥对进行登录。

点赞
  1. comments说道:

    Let me send comments for you.
    10,000 comments cost $1, 100,000 comments cost $5
    You can receive this comment, it means that I sent it successfully.
    If you want to buy, pay 1 or 5 dollars through PayPal, after that,
    Send the following information to my Email:
    Name, email, Url, content.
    I will send the send Log to you by email within three days
    My PayPal & Email: [email protected]

发表评论

电子邮件地址不会被公开。 必填项已用*标注