2019年2月12日 星期二

SSH使用的安全要領


提供幾個SSH的安全要領:
1.    變更 sshd 聆聽埠口
2.    禁止 root 登入 & 限制只有某些帳號可以登入
3.    使用金鑰登入
4.    不要每一台伺服器都對外開放 sshd 埠口

變更 sshd 聆聽埠口
作法一確實變更 sshd 聆聽埠口
# vi /etc/ssh/sshd_config
Port 22022
# service sshd restart
視需求調整 iptablesfail2ban 規則
作法二變更硬體防火牆 Port Forwarding 設定
1.    登入硬體防火牆 Web 管理界面
2.    修改 NAT / Port Forwarding 設定 Public Port 改為 22022, Private Port 仍為 22
3.    變更防火牆規則
說明埠號自由選擇不衝突即可這是避免遭受騷擾的最有效辦法立竿見影!

禁止 root 登入 & 限制只有某些帳號可以登入
# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers userA userB userC
# service sshd restart
說明避免 root 帳號被破解一定要養成 "以一般帳號登入的習慣只允許需要 ssh 操作的帳號登入會更安全但要注意多個帳號以空白隔開弄錯的話只能到 console 登入處理了
補充允許 ssh 登入的帳號不要太普通密碼不能太弱都能有效提昇安全性



使用金鑰登入
Client:
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub myaccount@my.linux.host
Server:
vi /etc/ssh/sshd_config
全面禁止密碼登入
PasswordAuthentication no
只限制某些帳號必須使用金鑰登入
PasswordAuthentication yes
Match User userA,userB
PasswordAuthentication no
# service sshd restart
說明使用金鑰登入可避免密碼外洩但必須妥善保管私鑰

不要每一台伺服器都對外開放 sshd 埠口
即使變更 sshd 聆聽埠口一旦暴露在 Internet 上就有被入侵的風險因此除非必要否則不建議每台伺服器都開放 Internet 登入 sshd. 只開放一台 Server 作為登入跳板、限制連線 IP 來源 VPN 連線後才使用 ssh 服務都是保險的作法.


沒有留言:

張貼留言