CentOS 7 下搭建 web 伺服器的網路安全加固技巧
web 伺服器是現代網路的重要組成部分,因此保護 web 伺服器的安全性非常重要。透過加強網路安全,可以減少風險和避免潛在的攻擊。本文將介紹在 CentOS 7 上建置 web 伺服器時常用的網路安全加固技巧,並提供對應的程式碼範例。
sudo yum update
sudo systemctl list-unit-files --type=service | grep enabled
根據需要,可以使用以下命令停止和停用相應的服務。例如,如果不需要使用 FTP 伺服器,可以停止並停用 vsftpd:
sudo systemctl stop vsftpd sudo systemctl disable vsftpd
允許HTTP 和HTTPS 流量進入伺服器:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
允許SSH 連線進入伺服器:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
限制入站連線數量:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" limit value="5/m" accept' sudo firewall-cmd --reload
首先,安裝Certbot 和Certbot Nginx 外掛程式:
sudo yum install certbot python2-certbot-nginx
然後,為你的網站啟用SSL:
sudo certbot --nginx
首先,安裝ModSecurity 和Nginx 模組:
sudo yum install mod_security mod_security_crs nginx-mod-http-modsecurity
然後,啟用ModSecurity:
sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/httpd/conf.d/mod_security.conf
最後,重新啟動Nginx:
sudo systemctl restart nginx
編輯Nginx 設定檔:
sudo nano /etc/nginx/nginx.conf
在"http" 區塊中新增以下程式碼:
map $remote_addr $limited_access { 192.168.1.1 ''; 10.0.0.0/24 ''; default 1; } server { ... location /login { deny all; allow $limited_access; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/.htpasswd; } }
儲存並退出設定檔。然後建立用於驗證登入的使用者名稱和密碼:
sudo htpasswd -c /etc/nginx/.htpasswd username
最後,重新啟動 Nginx:
sudo systemctl restart nginx
本文介紹了在 CentOS 7 下建立 web 伺服器時常用的網路安全加固技巧。透過更新系統和軟體、關閉不必要的服務、設定防火牆、使用 HTTPS 加密通訊、安裝和設定 Web 應用防火牆以及設定登入保護,可以提高 web 伺服器的網路安全性。希望以上技巧對你有幫助。
以上是CentOS 7下搭建web伺服器的網路安全加固技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!