在CentOS系統中,可以通過配置SSH服務器的訪問控制來增強系統的安全性。以下是一些常見的方法:
編輯SSH服務器的配置文件 /etc/ssh/sshd_config
,進行相應的設置。
sudo vi /etc/ssh/sshd_config
可以通過 AllowUsers
或 DenyUsers
指令來限制特定用戶登錄。
AllowUsers user1 user2
# 或者
DenyUsers user3 user4
通過 AllowGroups
或 DenyGroups
指令結合 sshd_group
來限制特定IP地址或IP段訪問。
首先,創建一個組并添加允許訪問的用戶:
sudo groupadd sshd_group
sudo usermod -aG sshd_group user1
sudo usermod -aG sshd_group user2
然后在 sshd_config
中添加:
AllowGroups sshd_group
或者使用 Match
指令來限制特定IP地址:
Match Address 192.168.1.0/24
AllowUsers user1 user2
Match all
DenyUsers *
編輯 sshd_config
文件,找到并修改以下行:
PermitRootLogin no
CentOS 7及以上版本使用 firewalld
作為默認防火墻,可以通過以下命令來限制SSH訪問。
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
如果你需要完全禁用SSH端口,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
sudo firewall-cmd --reload
Fail2Ban 是一個入侵防御軟件框架,可以用來防止暴力破解密碼。
sudo yum install epel-release
sudo yum install fail2ban
編輯Fail2Ban的配置文件 /etc/fail2ban/jail.local
,添加以下內容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
確保系統和SSH服務器軟件包是最新的,以防止已知的安全漏洞。
sudo yum update
通過以上步驟,你可以有效地設置CentOS系統的SSH訪問控制,提高系統的安全性。