温馨提示×

Debian下LNMP的安全防护措施

小樊
55
2025-07-01 19:49:51
栏目: 智能运维

LNMP是指Linux环境下安装Nginx、MySQL和PHP的Web服务器配置,它提供了快速和可靠的Web服务。然而,LNMP环境也可能面临各种安全威胁,因此,对LNMP进行安全加固是至关重要的。以下是具体的安全加固措施:

系统更新与升级

  • 保持系统最新:定期更新系统以修补可能存在的安全漏洞。
    sudo apt update
    sudo apt upgrade
    

防火墙配置

  • 配置iptables:安装并配置iptables以限制对特定端口的访问,只允许必要的端口(如HTTP、HTTPS和SSH)连接。
    sudo apt-get install iptables
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP连接
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS连接
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH连接
    sudo iptables-save /etc/iptables/rules.v4
    sudo systemctl enable iptables
    sudo systemctl start iptables
    

SSH服务安全配置

  • 使用SSH密钥对认证:生成公钥和私钥对,将公钥添加到服务器的~/.ssh/authorized_keys文件中,实现无密码登录。
  • 禁用root远程登录:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,禁止root用户远程登录。
  • 限制空密码登录:在/etc/ssh/sshd_config中设置PermitEmptyPasswords no,禁止使用空密码登录。
    sudo nano /etc/ssh/sshd_config
    # 更改端口号
    Port 2222
    # 禁用root登录
    PermitRootLogin no
    # 使用SSH密钥对进行身份认证
    

MySQL安全配置

  • 强化MySQL安全设置:在MySQL安装完成后,运行mysql_secure_installation命令,进行必要的安全配置,如更改root密码、移除匿名用户、禁止root远程登录等。
    sudo mysql_secure_installation
    
  • 修改MySQL绑定地址:如果需要远程访问MySQL,修改/etc/mysql/my.cnf文件中的bind-address配置,允许远程访问。
    # 在 /etc/mysql/my.cnf 或 /etc/my.cnf 中找到并修改
    bind-address = 0.0.0.0
    

Nginx安全配置

  • 配置Nginx安全设置:确保Nginx配置文件中的fastcgi_pass指向正确的PHP-FPM套接字或端口,以防止PHP文件执行漏洞。
    sudo nano /etc/nginx/nginx.conf
    # 禁用不必要的模块
    # ...
    # 配置SSL/TLS
    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;
    

PHP安全配置

  • 安装并配置PHP-FPM时,限制PHP进程的资源使用,例如通过调整pm.max_childrenpm.start_servers等参数。禁用不必要的PHP模块,减少攻击面。
    sudo nano /etc/php/7.4/fpm/pool.d/www.conf
    # 限制资源使用
    pm.max_children = 5
    pm.start_servers = 5
    # 禁用不必要的模块
    ; extension=php_curl.dll
    

用户与权限管理

  • 创建普通用户并限制权限:避免使用root用户进行操作,创建普通用户并通过usermod命令将其加入sudo组,以获得必要的权限。
  • 配置PAM模块强化密码策略:安装libpamcracklib后,编辑/etc/pam.d/commonpassword文件以实施密码复杂度要求。

监控和日志记录

  • 启用详细的日志记录功能,并定期检查日志文件,以便及时发现并响应任何异常活动。
  • 使用安全加固工具:可以考虑使用诸如fail2ban之类的工具来防止暴力破解攻击。

定期审查和更新安全设置

  • 安全加固是一个持续的过程,需要定期评估和调整策略以应对新的威胁。

通过上述措施,可以显著提高Debian LNMP环境的安全性,保护系统免受网络攻击和数据泄露的威胁。

0