目录
[2.1.2nginx https配置和概念](#2.1.2nginx https配置和概念)
1.1核心安全配置
1.1.1隐藏版本号
在生产环境中,需要隐藏Nginx的版本号,以避免泄露Nginx的版本,使攻击者不能针对特定版本进行攻击。
1.1.2限制危险请求方法
不安全的请求方式,是潜在的安全风TRACE,PUT,CONNECT,通过正则表达式来实现,并返回444错误。
1.1.3请求限制(CC攻击防御)
CC(Challenge Collapsar,挑战黑洞)攻击是一种常见的 DDoS(分布式拒绝服务)攻击方式 ,被黑客控制的计算机设备)模拟正常用户向目标服务器发起海量看似合法的 HTTP 请求 。
1.1.4防盗链
防盗链是一种通过技术手段防止其他网站或用户未经授权,直接引用本站资源(如图片、视频、音频、文件等)的安全防护措施。其核心目的是避免服务器资源被滥用,减少带宽消耗、保护内容版权、维护网站流量和经济利益。
2.1高级防护
2.1.1动态黑名单
动态黑名单(Dynamic Blacklist)是一种实时或准实时更新的禁止列表,用于拦截、限制或拒绝具有恶意行为、违规特征的用户、IP 地址、设备、请求或内容。与静态黑名单(固定不变的列表)不同,其核心特点是规则和内容可根据实时数据、行为分析或外部威胁情报动态调整,以应对不断变化的安全威胁和违规行为。
2.1.2nginx https配置和概念
https概念:HTTPS(Hyper Text Transfer Protocol Secure,超文本传输安全协议)是 HTTP 协议的安全版本,通过加密、认证和完整性保护机制,确保网络通信的安全。
ssl概念:SSL(Secure Sockets Layer,安全套接层)是早期用于保障网络通信安全的协议,旨在解决 HTTP 明文传输的安全缺陷。虽已逐渐被更安全的 TLS(传输层安全协议)替代,但仍是理解加密通信的基础。
安全通信的四大原则:1.机密性2.完整性3.身份认证4.不可否认
https的配置:
步骤 | 操作 | 详情 |
---|---|---|
1 | 获取 SSL/TLS 证书 | 选择证书类型,如免费的 Let's Encrypt 证书或付费的 CA 机构证书。生成 CSR(证书签名请求),包含域名、组织等信息。将 CSR 提交给 CA,审核通过后下载证书文件(通常为.crt 或.pem 格式)和私钥文件。 |
2 | 上传证书文件至服务器 | 将证书文件和私钥文件上传到服务器的指定目录,如/etc/nginx/ssl/ 或/etc/apache2/ssl/ 。 |
3 | 配置 Web 服务器(以 Nginx 为例) | 编辑 Nginx 配置文件,添加 HTTPS 监听和证书路径等相关配置。例如: server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM:DHE+CHACHA20; ssl_prefer_server_ciphers on; } |
4 | 验证配置并重启服务 | 检查 Nginx 配置语法的正确性:nginx -t 。重启 Nginx 使配置生效:systemctl restart nginx 。 |
5 | 验证 HTTPS 配置 | 在浏览器中输入https://example.com ,检查地址栏是否显示安全锁图标,证书信息是否与域名匹配。也可以使用 SSL Labs 检测等工具分析配置的安全性,或通过命令行工具如openssl s_client -connect example.com:443 -showcerts 检查证书信息、nmap --script ssl-enum-ciphers -p 443 example.com 检测 TLS 协议支持情况。 |