温馨提示×

Ubuntu LNMP安全设置有哪些要点

小樊
51
2025-07-29 13:50:35
栏目: 智能运维

Ubuntu LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境的安全设置是确保服务器稳定性和数据安全的关键。以下是一些重要的安全设置要点:

修改SSH端口

  • 修改默认端口:编辑 /etc/ssh/sshd_config 文件,将默认端口从22改为非标准端口(如2222)。
  • 重启SSH服务:保存更改并重启SSH服务以应用新端口:sudo systemctl restart sshd

设置SSH允许登录的IP

  • 使用 /etc/hosts.allow/etc/hosts.deny:限制允许登录的IP。
  • 使用 allowusers 指令:在 /etc/ssh/sshd_config 文件中指定允许登录的用户。

配置ufw防火墙

  • 安装ufwsudo apt-get install ufw
  • 开启防火墙sudo ufw enable
  • 允许必要端口:如SSH(修改后的端口)、HTTP(80)、HTTPS(443)和MySQL(3306):
    sudo ufw allow 2222/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 3306/tcp
    
  • 重启防火墙sudo ufw reload

修改Nginx配置

  • 编辑配置文件:通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default
  • 确保监听正确的端口:默认80,并配置正确的server块。
  • 重启Nginx服务sudo systemctl restart nginx

修改PHP配置

  • 编辑配置文件:通常位于 /etc/php/7.x/fpm/php.ini(具体版本可能有所不同)。
  • 设置 display_errors 为 On:便于开发过程中显示错误信息。
  • 设置 error_reporting 为 E_ALL:报告所有错误。
  • 重启PHP-FPM服务sudo systemctl restart php7.x-fpm

MySQL安全配置

  • 运行 mysql_secure_installation 脚本:设置强密码、删除匿名用户、禁止远程root登录等。
  • 编辑MySQL配置文件:将 /etc/mysql/mysql.conf.d/mysqld.cnf 中的 bind-address 设置为 0.0.0.0 以允许远程连接,然后注释掉这一行。
  • 重启MySQL服务sudo systemctl restart mysql

安装和配置phpMyAdmin

  • 安装phpMyAdminsudo apt-get install phpmyadmin
  • 配置访问权限:通常通过创建符号链接到 /usr/share/phpmyadmin 目录。
  • 重启Web服务器:应用更改。

定期更新系统和软件包

  • 使用unattended-upgrades包:实现系统自动更新。
  • 定期手动更新sudo apt update && sudo apt upgrade

监控和审计

  • 审查系统日志:使用工具如Logwatch自动分析日志并生成报告。
  • 定期扫描系统漏洞:使用漏洞扫描工具如OpenVAS、Nessus等。

其他安全建议

  • 使用AppArmor或SELinux:增强访问控制。
  • 安装Zabbix:提供分布式系统监视以及网络监视功能。

通过上述措施,可以显著提高Ubuntu LNMP环境的安全性,减少遭受攻击的风险。建议用户定期检查和更新安全配置,以应对不断变化的安全威胁。

0