服务器设置和教程 · 9 10 月, 2024

如何保護 Ubuntu 16.04 上的 NGINX Web 伺服器

如何保護 Ubuntu 16.04 上的 NGINX Web 伺服器

在當今的網絡環境中,網站安全性變得越來越重要。NGINX 作為一個高效的 Web 伺服器,廣泛應用於各種網站和應用程序中。本文將探討如何在 Ubuntu 16.04 上保護 NGINX Web 伺服器,確保其安全性和穩定性。

1. 更新系統和 NGINX

保持系統和 NGINX 的最新版本是保護伺服器的第一步。定期更新可以修補已知的安全漏洞。可以使用以下命令來更新系統:

sudo apt update
sudo apt upgrade

要更新 NGINX,可以使用以下命令:

sudo apt install nginx

2. 配置防火牆

使用防火牆可以有效地限制不必要的流量。Ubuntu 16.04 預設使用 UFW(Uncomplicated Firewall)。可以使用以下命令來啟用 UFW 並允許 HTTP 和 HTTPS 流量:

sudo ufw allow 'Nginx Full'
sudo ufw enable

這樣可以確保只有必要的端口(80 和 443)對外開放。

3. 使用 SSL/TLS 加密

為了保護網站的數據傳輸,建議使用 SSL/TLS 加密。可以使用 Let’s Encrypt 提供的免費 SSL 證書。安裝 Certbot 工具後,可以使用以下命令獲取證書:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

這樣可以自動配置 NGINX 以使用 SSL。

4. 限制訪問權限

為了進一步提高安全性,可以限制對 NGINX 配置文件和網站根目錄的訪問權限。使用以下命令來設置適當的權限:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

這樣可以確保只有必要的用戶擁有訪問權限。

5. 配置 NGINX 安全性選項

NGINX 提供了一些安全性選項,可以進一步加強伺服器的安全性。以下是一些建議的配置:

  • 禁用不必要的 HTTP 方法:
  • server {
            ...
            if ($request_method !~ ^(GET|POST)$ ) {
                return 444;
            }
        }
  • 隱藏 NGINX 版本信息:
  • server {
            ...
            server_tokens off;
        }
  • 限制請求速率:
  • http {
            ...
            limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        }

6. 定期備份

定期備份網站數據和配置文件是防止數據丟失的重要措施。可以使用以下命令來備份 NGINX 配置文件:

sudo cp -r /etc/nginx /etc/nginx.bak

此外,還應定期備份網站內容和數據庫。

7. 監控伺服器日誌

定期檢查 NGINX 的訪問日誌和錯誤日誌可以幫助及時發現潛在的安全問題。日誌文件通常位於 /var/log/nginx/ 目錄下。可以使用以下命令查看日誌:

sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

總結

保護 Ubuntu 16.04 上的 NGINX Web 伺服器需要多方面的努力,包括系統更新、防火牆配置、SSL 加密、訪問權限限制、安全性選項配置、定期備份和日誌監控。這些措施能夠有效提高伺服器的安全性,減少潛在的風險。如果您需要更多有關 香港 VPS 的資訊,請訪問我們的網站。