CentOS 7 下搭建 web 服务器的网络安全加固技巧
web 服务器是现代互联网的重要组成部分,因此保护 web 服务器的安全性非常重要。通过加固网络安全,可以减少风险和避免潜在的攻击。本文将介绍在 CentOS 7 上搭建 web 服务器时常用的网络安全加固技巧,并提供相应的代码示例。
sudo yum update
sudo systemctl list-unit-files --type=service | grep enabled
根据需要,可以使用以下命令停止和禁用相应的服务。例如,如果不需要使用 FTP 服务器,可以停止并禁用 vsftpd:
sudo systemctl stop vsftpd sudo systemctl disable vsftpd
允许 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
首先,安装 Certbot 和 Certbot Nginx 插件:
sudo yum install certbot python2-certbot-nginx
然后,为你的网站启用 SSL:
sudo certbot --nginx
首先,安装 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
编辑 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中文网其他相关文章!