溫馨提示×

如何防止CentOS SSH被攻擊

小樊
46
2025-03-07 09:18:55
欄目: 網絡安全

為了防止 CentOS 系統上的 SSH 服務被攻擊,你可以采取以下措施:

  1. 更新系統:確保你的 CentOS 系統已更新到最新版本,以便修復已知的安全漏洞。
sudo yum update
  1. 更改默認 SSH 端口:將默認的 SSH 端口從 22 更改為其他端口,以減少自動攻擊工具的成功率。

編輯 /etc/ssh/sshd_config 文件:

sudo vi /etc/ssh/sshd_config

找到 #Port 22 這一行,取消注釋并更改端口號,例如:

Port 2222

保存文件并重啟 SSH 服務:

sudo systemctl restart sshd
  1. 禁用 root 登錄:編輯 /etc/ssh/sshd_config 文件,找到 PermitRootLogin 這一行,將其更改為 prohibit-passwordno。
PermitRootLogin prohibit-password

保存文件并重啟 SSH 服務:

sudo systemctl restart sshd
  1. 使用公鑰認證:禁用密碼認證,改為使用 SSH 密鑰對進行身份驗證。這將提高安全性,因為攻擊者需要獲取你的私鑰才能登錄。

在客戶端生成 SSH 密鑰對(如果尚未生成):

ssh-keygen

將公鑰復制到服務器的 ~/.ssh/authorized_keys 文件中:

ssh-copy-id -p 2222 your_username@your_server_ip

確保 sshd_config 文件中的以下設置已啟用:

PubkeyAuthentication yes
PasswordAuthentication no

保存文件并重啟 SSH 服務:

sudo systemctl restart sshd
  1. 使用防火墻限制訪問:使用 firewalld 或 iptables 限制可以訪問 SSH 服務的 IP 地址。

例如,使用 firewalld 僅允許特定 IP 地址訪問 SSH:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="your_ip_address" port protocol="tcp" port="2222" accept'
sudo firewall-cmd --reload
  1. 使用 Fail2ban:安裝并配置 Fail2ban 以阻止多次嘗試登錄失敗的 IP 地址。

安裝 Fail2ban:

sudo yum install fail2ban

創建一個新的 Fail2ban 配置文件 /etc/fail2ban/jail.local,并添加以下內容:

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600

啟動并啟用 Fail2ban 服務:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

通過采取這些措施,你可以大大降低 CentOS 系統上 SSH 服務被攻擊的風險。請確保定期檢查和更新系統,以便保持安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女