。/etc/nologin – 這個檔案存在的話,就表示只讓root可登入,其它人完全不行,直接拒絕掉
。只讓root及cross可登入,其它人不行
# 在 /etc/ssh/sshd_config 裡設定
AllowUsers root cross# 重啟 sshd
service sshd restart
。五分鐘閒置就自動踢出
# 在 /etc/ssh/sshd_config 裡設定
ClientAliveInterval 300
ClientAliveCountMax 0
。不允許root登入
PermitRootLogin no
。設置iptables
只允許某個來源可以存取
iptables -A INPUT -s x.x.x.x -m state –state NEW -p tcp –dport 22 -j ACCEPT
企圖60秒內達五次連結的拒絕
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –set
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 60 –hitcount 5 -j DROP
。改變 listen port 或 IP
Port 22123
ListenAddress x.x.x.x
。使用複雜的密碼 – 但也要自已記得住才行
。使用 public key 作驗證
。chroot
。TCP Wrappers
# /etc/hosts.allow
sshd: x.x.x.x # 被允許的ip
# /etc/hosts.deny
sshd: ALL
。不允許使用者使用空的密碼
PermitEmptyPasswords no
怎麼查出誰使用空的
awk -F: ‘($2 == “”) {print}’ /etc/shadow
。使用一些外掛來防暴力式攻擊,DenyHosts、Fail2Ban 等等
。定期查看 log 記錄
。定期更新 ssh
ref: http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html
留言