加固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,然后保存并退出。
-
重新啟動SSH服務:
sudo systemctl restart sshd
防火墻設置:
防火墻是一種網絡安全設備,用于監控和控制網絡上的數據流。使用防火墻可以限制服務器上的入站和出站流量,提供對惡意攻擊的保護。以下是使用iptables命令設置防火墻規則的示例代碼:
-
安裝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
在文件中添加以下內容:
#!/bin/sh /sbin/iptables-restore <ol start="4"><li> <p>重啟服務器以應用新的防火墻規則:</p> <pre class="brush:bash;toolbar:false;">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密鑰對和禁用密碼登錄到設置防火墻規則和監視服務器日志,這些步驟可以幫助您保護服務器免受惡意攻擊和未經授權的訪問。在運維服務器時,請務必定期審查服務器日志并監視系統資源的使用情況,以確保服務器的安全性和穩定性。