对于ssh安全网上文章不少,
1、安装fail2ban 和 denyhosts可以加强安全机制;
如denyhosts安装方法
1 2 |
<pre class="wrap:true lang:default decode:true ">32位加源:rpm -Uhv <a href="http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.i386.rpm">http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.i386.rpm</a> 64位加源:rpm -Uhv <a href="http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm">http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm</a> |
安装yum -y install denyhosts
备份原配置文件mv /etc/denyhosts.conf /etc/denyhosts.conf.bak
新增加vim /etc/denyhosts.conf我的内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<pre class="wrap:true lang:default decode:true "> ############ THESE SETTINGS ARE REQUIRED ############ SECURE_LOG = /var/log/secure HOSTS_DENY = /etc/hosts.deny PURGE_DENY = 7d BLOCK_SERVICE = sshd DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 10 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1 WORK_DIR = /usr/share/denyhosts/data SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES HOSTNAME_LOOKUP=YES LOCK_FILE = /var/lock/subsys/denyhosts ############ THESE SETTINGS ARE OPTIONAL ############ ADMIN_EMAIL = xxxx<a href="mailto:xxxx@139.com">@139.com</a> SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <nobody@localhost> SMTP_SUBJECT = DenyHosts Report AGE_RESET_VALID=5d AGE_RESET_ROOT=25d AGE_RESET_RESTRICTED=25d AGE_RESET_INVALID=10d ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE ########## DAEMON_LOG = /var/log/denyhosts DAEMON_SLEEP = 30s DAEMON_PURGE = 1h ######### THESE SETTINGS ARE SPECIFIC TO ########## ######### DAEMON SYNCHRONIZATION ########## |
设置为开机启动chkconfig denyhosts on
启动服务service denyhosts start
查看日志
tail -f /var/log/denyhosts
tail -f /var/log/secure
2、修改 SSH 默认端口
不要使用默认的 22 端口,这样很容易暴露 SSH 服务,也为暴力猜解用户名和密码留下了隐患。解决方法:将
/etc/ssh/sshd_config
中的 Port 改为其他端口。建议端口改为1024内这样不会影响Tunnle等翻墙软件的使用。
重启ssh生效: service sshd restart
3、禁止 root 帐号 SSH 登录
这样也是相当危险的,一般的做法是通过 SSH 配置文件,限制 root 帐号直接登录。
修改
/etc/ssh/sshd_config
,将 PermitRootLogin的值改为 no。这样,SSH 一律使用普通用户登录,在需要执行更高权限命令时,通过 sudo 命令,或者 su 成 root 再执行。
4、限制账号多重登陆
这样的做法,能让同一个账号,在同一时间内不能被多人同时登录。
实现方法:编辑
/etc/security/limits.conf
加入如下配置项即可:
* hard maxlogins 2
5、防 ping
# 禁止 ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# 允许 ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all