如何設置centos系統以阻止外部攻擊者的端口掃描
摘要:
隨著互聯網的不斷發展,網絡安全問題越來越突出。外部攻擊者經常通過端口掃描來尋找系統中的安全漏洞。為了保護我們的系統,我們需要采取措施來阻止這些掃描。本文將介紹如何設置centos系統以阻止外部攻擊者的端口掃描,并提供了相關的代碼示例。
一、安裝并配置防火墻
CentOS系統自帶了firewalld防火墻,我們可以通過配置防火墻來限制對系統的端口掃描。
1.安裝firewalld:
sudo yum install firewalld
2.啟動firewalld服務:
sudo systemctl start firewalld
3.設置firewalld開機自啟動:
sudo systemctl enable firewalld
4.查看firewalld狀態:
sudo firewall-cmd –state
二、添加端口規則
我們可以使用firewalld命令來添加端口規則,以阻止外部攻擊者的端口掃描。
1.查看系統開放的端口:
sudo firewall-cmd –list-ports
2.添加允許訪問的端口:
sudo firewall-cmd –add-port=80/tcp –permanent
sudo firewall-cmd –add-port=443/tcp –permanent
3.移除默認開放的端口:
sudo firewall-cmd –remove-service=http –permanent
sudo firewall-cmd –remove-service=https –permanent
4.重新加載firewalld配置:
sudo firewall-cmd –reload
三、禁用ICMP回應
除了限制端口訪問,我們還可以禁用ICMP回應,這樣可以有效阻止外部攻擊者進行常規的ping掃描。
1.禁用ICMP回應:
sudo firewall-cmd –permanent –add-rich-rule=’rule protocol value=”icmp” drop’
2.重新加載firewalld配置:
sudo firewall-cmd –reload
四、開啟SYN Cookie保護
SYN Cookie是一種防范DoS和ddos攻擊的機制,通過開啟SYN Cookie保護,我們可以有效防止外部攻擊者對系統進行端口掃描。
1.開啟SYN Cookie保護:
sudo echo “net.ipv4.tcp_syncookies = 1” >> /etc/sysctl.conf
sudo sysctl -p
2.重新加載sysctl配置:
sudo sysctl –system
五、限制ssh訪問
SSH是外部攻擊者常用的入侵手段之一,我們可以通過限制SSH訪問來減少系統受到攻擊的風險。
1.編輯SSH配置文件:
sudo vi /etc/ssh/sshd_config
2.將以下行注釋取消并修改為指定的端口和IP:
Port 22
PermitRootLogin yes
PasswordAuthentication yes
AllowUsers user_name@ip_address
3.保存文件并重新啟動SSH服務:
sudo service sshd restart
六、監控系統日志
最后,我們應該定期監控系統的日志,以便及時發現并應對可能的攻擊。
1.查看系統日志:
sudo tail -f /var/log/messages
代碼示例:
1.添加允許80和443端口訪問的規則:
sudo firewall-cmd –add-port=80/tcp –permanent
sudo firewall-cmd –add-port=443/tcp –permanent
2.禁用ICMP回應的示例:
sudo firewall-cmd –permanent –add-rich-rule=’rule protocol value=”icmp” drop’
3.開啟SYN Cookie保護的示例:
sudo echo “net.ipv4.tcp_syncookies = 1” >> /etc/sysctl.conf
sudo sysctl -p
總結:
通過安裝并配置防火墻、添加端口規則、禁用ICMP回應、開啟SYN Cookie保護和限制SSH訪問等措施,我們可以有效地阻止外部攻擊者的端口掃描,提高系統的安全性。同時,我們也應該定期監控系統日志,及時發現并應對潛在的攻擊。只有綜合運用各種安全措施,我們才能更好地保護我們的系統免受外部攻擊的威脅。