昨日从onenote里翻出来Virtualbox的安装后…也顺道把本文标记了,今天编辑一下与大家分享一下:
1、禁止SSHD监听端口
2、禁止root登入,限制只有某些账户可以登录
3、使用denyhosts或fail2ban保护sshd服务
4、使用秘钥登录
5、不要每一台服务器都对外开放sshd端口
操作环境:Redhat/CentOS/Fedora
1、变更SSHD监听端口
一、修改配置文件实现
代码如下 | 复制代码 |
[root@itchenyi-01~]#servicesshdrestart |
二、修改防火墙PortForwarding设置
1.登录防火墙WEB管理界面,或者通过telnet协议上去
2.修改NAT/PortForwarding设置,将publicPort改成22222,privateport仍然是22
3.保存规则
注:本法基于NAT,其端口号可以自由选择,不冲突即可,这是避免遭受骚扰的非常有效的办法。
2、禁止root登录,限制只有某些账号可以登录
代码如下 | 复制代码 |
[root@itchenyi-01~]#vi/etc/ssh/sshd_config PermitRootLoginno AllowUserschenyiitchenyichenyiA |
#完事重启服务即可
注:避免root账户被破解,一般要养成“以一般账户登入的”习惯;只允许需要ssh操作的账号入会更安全,但注意多个账号之间需要空格隔开,弄错了就只能console到物理机上去玩了。
3、使用denyhosts或fail2ban防护sshd服务
在CentOS6上安装denyhosts
代码如下 | 复制代码 |
#略过具体演示 Step1.安装EPELRepos# Step2.[root@itchenyi-01~]#yum-yinstalldenyhosts Step3.[root@itchenyi-01~]#chkconfigdenyhostson&&servicedenyhostsstart |
配置文件路径:/etc/denyhosts.conf,/etc/sysconfig/denyhosts
在CentOS6上安装fail2ban
代码如下 | 复制代码 |
|
注:若已经变更了sshd端口,需要在/$fail2ban(path)/jail.conf将port=ssh改成自定端口,默认设置的denyhosts与fail2ban都是针对sshd在进行防御
4、使用秘钥登录
配置文件:
代码如下 | 复制代码 |
|
使用秘钥登录可以避免密码泄露而且很安全,但需要保管好私钥
参考文章:配置Linux服务器SSH远程密钥登录
5、不要给每一台服务器都对外开放sshd的端口
即使改变sshd侦听端口,但是只要暴露在internet上就有呗入侵的风险,因此,除非必要,否则不建议每台服务器都开放internet登入sshd,只开放一台server作为跳板,限制链接登录IP来源,或VPN服务,都是比较保险的做法。