加强sshd服务的安全性设置

发布时间:2020-10-14编辑:脚本学堂
加强sshd服务的安全性设置

一.修改默认端口:原文本内容为#Port 22,将注释去掉,并修改成其它的端口,例如修改为Port 1433。

二.禁止root用户远程登陆:原文本内容为#PermitRootLogin yes,修改为PermitRootLogin no。
一般情况下用普通用户ssh登录,如需root权限,再su。

三.禁止空密码用户登陆:原文本内容为#PermitEmptyPasswords no,修改为PermitEmptyPasswords no

四.限制登陆密码输错为6次:原文本内容为#MaxAuthTries 6,修改为MaxAuthTries 6

五.增加警示信息:vi /etc/ssh/ssh-banner.txt,输入以下内容:
*This is a private SSH service. Only allow appointed employee login.*
*Please leave immediately if you no gained accredit.Thank you a lot. *
保存退出,然后修改原文本内容#Banner /some/path为Banner /etc/ssh/ssh-banner.txt

六.阻止超过登陆密码输错次数的ip:
1.使用工具Denyhost,下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/12670968/com/DenyHosts-2.6-python2.4.noarch.rpm.html

2.检查安装环境:
ldd /usr/sbin/sshd |grep wrap #得到:libwrap.so.0 => /usr/lib64/libwrap.so.0 (0x00002aaaaacc6000)
python -V #得到:Python 2.4.3

3.安装并做成系统服务:
 

复制代码 代码如下:
rpm -Uvh DenyHosts-2.6-python2.4.noarch.rpm
cd /usr/share/denyhosts
cp daemon-control-dist daemon-control
chmod 700 daemon-control
ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on

4.做相应的配置:
 

复制代码 代码如下:
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
chmod 600 denyhosts.cfg
vi denyhosts.cfg
修改默认参数至如下:
PURGE_DENY = 15d #过多久后从/etc/hosts.deny清除已经禁止的ip,即阻止ip的时间,m表示分钟、d表示天、w表示周
DENY_THRESHOLD_INVALID = 3 #允许无效用户(/etc/passwd未列出的)登录失败的次数
DENY_THRESHOLD_VALID = 6 #允许有效(普通)用户登录失败的次数
DENY_THRESHOLD_ROOT = 6 #允许root登录失败的次数
hostname_LOOKUP=NO #是否做域名反解

5.启动服务:
 

复制代码 代码如下:
service denyhosts status #状态
service denyhosts start #启动
service denyhosts restart #重启

6.还有Fail2Ban和sshfilter这两个小工具也可达到相应的目的。

通过tail -f /var/log/secure,可查看试图非法ssh的信息。
通过vi /etc/hosts.deny,可查看恶意连接的ip。

通过cat /var/log/denyhosts查看Denyhost日志文件