首頁  >  文章  >  運維  >  CentOS 7下搭建web伺服器的網路安全加固技巧

CentOS 7下搭建web伺服器的網路安全加固技巧

WBOY
WBOY原創
2023-08-05 13:12:26856瀏覽

CentOS 7 下搭建 web 伺服器的網路安全加固技巧

web 伺服器是現代網路的重要組成部分,因此保護 web 伺服器的安全性非常重要。透過加強網路安全,可以減少風險和避免潛在的攻擊。本文將介紹在 CentOS 7 上建置 web 伺服器時常用的網路安全加固技巧,並提供對應的程式碼範例。

  1. 更新系統和軟體
    首先,確保你的系統和軟體是最新版本。可以使用以下命令更新 CentOS 7 上的軟體包:
sudo yum update
  1. 關閉不必要的服務
    為了提高系統的安全性,應該關閉一些不必要的服務。可以使用以下命令來查看目前已安裝的服務:
sudo systemctl list-unit-files --type=service | grep enabled

根據需要,可以使用以下命令停止和停用相應的服務。例如,如果不需要使用 FTP 伺服器,可以停止並停用 vsftpd:

sudo systemctl stop vsftpd
sudo systemctl disable vsftpd
  1. 設定防火牆
    設定防火牆是保護 web 伺服器的重要措施之一。在 CentOS 7 上,可以使用 firewalld 來管理防火牆。以下是一些常用的防火牆規則:

允許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
  1. 使用HTTPS 加密通訊
    HTTPS 是一種透過使用SSL 或TLS 加密機制來保護web 伺服器和客戶端之間通訊的安全協定。可以使用 Certbot 工具自動為你的網站產生和設定 SSL 憑證。以下是在CentOS 7 上安裝和設定Certbot 的範例指令:

首先,安裝Certbot 和Certbot Nginx 外掛程式:

sudo yum install certbot python2-certbot-nginx

然後,為你的網站啟用SSL:

sudo certbot --nginx
  1. 安裝和設定Web 應用防火牆
    Web 應用防火牆(WAF) 可以偵測並封鎖針對web 應用的攻擊。在 CentOS 7 上,ModSecurity 是一個常用的 WAF 工具。以下是在CentOS 7 上安裝和設定ModSecurity 的範例指令:

首先,安裝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
  1. 配置登入保護
    為了保護web 伺服器的登入頁面,可以限制存取登入頁面的IP 位址。以下是使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn