温馨提示×

Debian下LNMP安全设置技巧

小樊
54
2025-06-17 15:25:07
栏目: 智能运维

LNMP是指Linux系统下的Nginx+MySQL+PHP组合,常用于搭建网站和Web应用。在Debian系统上配置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
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
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,禁止使用空密码登录。

MySQL安全配置

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

Nginx安全配置

  • 配置Nginx安全设置:确保Nginx配置文件中的fastcgi_pass指向正确的PHP-FPM套接字或端口,以防止PHP文件执行漏洞。

PHP安全配置

  • 安装必要的PHP扩展:如php-mysqlphp-gdphp-curl等。
  • 配置PHP-FPM:以使用安全的进程管理方式。

用户与权限管理

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

其他安全建议

  • 使用SELinux或AppArmor:对于更高级别的安全防护,可以考虑安装并配置SELinux或AppArmor来进一步限制进程的权限。
  • 定期检查系统日志:定期检查系统日志和应用程序日志,以便及时发现并响应任何异常活动。
  • 定期备份:定期备份服务器上的重要数据和配置文件,以防数据丢失或损坏。

0