。/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

最後修改日期: 2011 年 04 月 27 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。