首頁 > 運維 > linux運維 > 主體

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

WBOY
發布: 2023-08-05 13:12:26
原創
851 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!