参考资料

  1. Nginx如何用于反向代理?
  2. Nginx伪动态SSI服务器详细说明以及案例
  3. Nginx expires、etag、if_modified_since:客户端缓存控制详细说明以及案例
  4. Nginx日志记录配置指令详细说明以及案例
  5. Nginx集群配置管理详细说明以及案例
  6. Nginx的基本配置文件结构
  7. nginx 配置静态资源
  8. nginx是否需要开启HTTP/2支持以提高安全性?

Nginx如何设置防篡改?

  1. 安装Nginx
    确保已安装Nginx,可通过命令检查:

nginx -v
  1. 配置防篡改模块
    在nginx.conf的http模块添加:

http {
    ...
    server_tokens off;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    ...
}
  1. 设置文件完整性校验
    使用sha256sum生成校验值:

sha256sum /path/to/your/file > checksum.txt
  1. 配置访问控制
    在server块中添加:

location /protected/ {
    internal;
    alias /path/to/protected/files/;
}
  1. 启用HTTPS
    配置SSL证书:

server {
    listen 443 ssl;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    ...
}
  1. 设置文件权限

chown -R nginx:nginx /var/www/html
chmod -R 750 /var/www/html
  1. 配置日志监控
    在nginx.conf中添加:

log_format security '$remote_addr - $http_user_agent';
access_log /var/log/nginx/security.log security;
  1. 重启Nginx

systemctl restart nginx
  1. 验证配置
    检查语法:

nginx -t
  1. 定期检查
    设置cron任务定期校验文件:

0 3 * * * sha256sum -c /path/to/checksum.txt