对于ssh安全网上文章不少,
1、安装fail2ban 和 denyhosts可以加强安全机制;
如denyhosts安装方法
32位加源:rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
64位加源:rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
安装yum -y install denyhosts
备份原配置文件mv /etc/denyhosts.conf /etc/denyhosts.conf.bak
新增加vim /etc/denyhosts.conf我的内容为:
############ 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@139.com
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