加固Linux伺服器:運用命令列工具提高安全性
#概述:
在當今的網路環境下,伺服器安全性是至關重要的。為了保護伺服器免受惡意攻擊和未經授權的訪問,使用命令列工具來加固Linux伺服器是一個必要的步驟。本文將介紹一些常用的命令列工具,以及它們的使用方法和範例程式碼,幫助您提高伺服器的安全性。
SSH加密傳輸:
SSH(Secure Shell)是一種加密的網路協議,用於遠端登入和執行命令。透過使用SSH,可以防止惡意使用者截取和竊聽傳輸中的資料。以下是使用SSH產生和使用金鑰對的範例程式碼:
產生SSH金鑰對:
ssh-keygen -t rsa -b 4096
ssh-copy-id 用户名@IP地址
sudo vi /etc/ssh/sshd_config
#PasswordAuthentication yes這一行,將其改為
PasswordAuthentication no,然後儲存並退出。
sudo systemctl restart sshd
防火牆是網路安全設備,用於監控和控制網絡上的數據流。使用防火牆可以限制伺服器上的入站和出站流量,提供對惡意攻擊的保護。以下是使用
iptables指令設定防火牆規則的範例程式碼:
sudo apt-get install iptables
sudo touch /etc/iptables.rules sudo vi /etc/iptables.rules
*filter # 默认策略 :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] # 允许本地回环接口的访问 -A INPUT -i lo -j ACCEPT # 允许已经建立的、相关的连接进入 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许SSH连接 -A INPUT -p tcp --dport 22 -j ACCEPT # 允许其他必要的端口 # -A INPUT -p tcp --dport 80 -j ACCEPT # -A INPUT -p tcp --dport 443 -j ACCEPT # 允许ICMP (Ping)请求 -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # 允许限制的IP地址范围 -A INPUT -s 允许连接的IP地址/子网掩码 -j ACCEPT # 允许某个IP地址范围的访问 # -A INPUT -s 允许连接的IP地址/子网掩码 -j ACCEPT # 拒绝所有其他入站流量 -A INPUT -j DROP COMMIT
sudo iptables-restore < /etc/iptables.rules sudo touch /etc/network/if-pre-up.d/iptables sudo chmod +x /etc/network/if-pre-up.d/iptables sudo vi /etc/network/if-pre-up.d/iptables
#!/bin/sh /sbin/iptables-restore < /etc/iptables.rules
sudo reboot
日誌記錄和監視是伺服器安全性的重要組成部分。透過定期審查伺服器日誌,可以發現異常活動並採取相應措施。以下是使用常用的日誌記錄和監視工具的範例程式碼:
sudo tail -f /var/log/syslog
sudo tail -f /var/log/auth.log
sudo apt-get install nethogs sudo nethogs
sudo apt-get install htop sudo htop
透過使用以上命令列工具和範例程式碼,您可以增強Linux伺服器的安全性。從產生SSH密鑰對和停用密碼登入到設定防火牆規則和監視伺服器日誌,這些步驟可以幫助您保護伺服器免受惡意攻擊和未經授權的存取。在運維伺服器時,請務必定期審查伺服器日誌並監視系統資源的使用情況,以確保伺服器的安全性和穩定性。
以上是加固Linux伺服器:運用命令列工具提高安全性的詳細內容。更多資訊請關注PHP中文網其他相關文章!