在Ubuntu系統中,可以通過配置SSH來限制用戶的訪問。以下是一些常見的方法:
sshd_config文件編輯/etc/ssh/sshd_config文件,可以設置一些全局或特定用戶的訪問規則。
限制登錄時間:
Match Time *
AllowUsers user1 user2
這會限制只有user1和user2可以在任何時間登錄。
限制IP地址:
Match Address 192.168.1.100
AllowUsers user1 user2
這會限制只有來自192.168.1.100的IP地址的用戶可以登錄。
限制用戶登錄:
DenyUsers user3 user4
這會拒絕user3和user4的登錄請求。
Match User user1
AllowUsers user1@192.168.1.100
這會限制只有來自192.168.1.100的IP地址的用戶user1可以登錄。PAM可以提供更細粒度的訪問控制。
sudo apt-get install libpam-pwquality
編輯/etc/pam.d/sshd文件,添加以下行:
password requisite pam_pwquality.so retry=3 minlen=8 difok=4
這會要求密碼至少8個字符,至少有4個不同的字符,并且最多允許3次重試。
可以使用ufw或iptables來限制SSH訪問。
ufwsudo ufw allow from 192.168.1.100 to any port 22
sudo ufw enable
這會允許來自192.168.1.100的IP地址訪問SSH端口22。
iptablessudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
這會允許來自192.168.1.100的IP地址訪問SSH端口22,并拒絕其他所有IP地址的訪問。
Fail2Ban可以監控日志文件并自動封禁惡意IP地址。
sudo apt-get install fail2ban
編輯/etc/fail2ban/jail.local文件,添加以下內容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600
這會監控/var/log/auth.log文件,如果某個IP地址在3次嘗試后仍然失敗,將會被封禁600秒。
通過以上方法,你可以有效地限制Ubuntu系統中的SSH訪問,提高系統的安全性。