首页 > 文章列表 > CentOS 7下搭建web服务器的网络安全加固技巧

CentOS 7下搭建web服务器的网络安全加固技巧

web服务器 网络安全 加固技巧 搭建 关键词:CentOS
445 2023-08-09

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 服务器的网络安全性。希望以上技巧对你有所帮助。