温馨提示×

ubuntu lamp安全防护方法

小樊
53
2025-09-02 12:33:16
栏目: 智能运维

Ubuntu LAMP环境安全防护指南
LAMP(Linux+Apache+MySQL+PHP)是常见的Web服务组合,其安全防护需覆盖系统基础、组件配置、访问控制、监控审计等多层面,以下是具体措施:

一、系统基础安全加固

  1. 物理与启动安全
    启用BIOS/UEFI密码,禁用从CD/DVD、外部设备启动;设置GRUB引导密码,防止未经授权修改启动项;隐藏操作系统版本信息(编辑/etc/rc.local添加echo "0" > /proc/sys/kernel/osrelease),拒绝回复ping命令(echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all)。
  2. 最小权限与包管理
    遵循“最小权限原则”,仅安装必要的软件包(sudo apt install --no-install-recommends package_name);定期更新系统和软件包(sudo apt update && sudo apt upgrade -y),修复已知漏洞;清理过时包(sudo apt autoremove)。

二、组件安全配置

1. Apache Web服务器

禁用目录列表(在/etc/apache2/apache2.conf或虚拟主机配置中添加Options -Indexes);使用.htaccess文件限制敏感目录访问(如Deny from all);启用HTTPS(通过Let’s Encrypt申请免费证书,配置SSLEngine on);隐藏Apache版本信息(ServerTokens ProdServerSignature Off)。

2. MySQL/MariaDB数据库

修改root用户强密码(sudo mysql_secure_installation);删除匿名账户和测试数据库(DELETE FROM mysql.user WHERE User=''; DROP DATABASE test;);限制远程访问(仅允许可信IP连接,GRANT ALL PRIVILEGES ON *.* TO 'user'@'trusted_ip' IDENTIFIED BY 'StrongPassword'; FLUSH PRIVILEGES;);加密存储密码(ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword';)。

3. PHP配置

禁用危险函数(在php.ini中设置disable_functions = eval,exec,system,passthru,shell_exec,curl_exec);关闭注册全局变量(register_globals = Off);限制错误信息泄露(生产环境设置display_errors = Offlog_errors = On);设置PHP信息隐藏(expose_php = Off)。

三、访问控制与认证

  1. SSH安全加固
    禁用root直接登录(修改/etc/ssh/sshd_configPermitRootLogin no);使用密钥认证(ssh-keygen -t rsa -b 4096生成密钥,ssh-copy-id user@server_ip复制公钥);更改默认SSH端口(如Port 2222);限制登录尝试次数(MaxAuthTries 3)。

  2. 防火墙配置
    使用UFW(Uncomplicated Firewall)配置规则:允许必要端口(sudo ufw allow 22/tcp(SSH)、sudo ufw allow 80/tcp(HTTP)、sudo ufw allow 443/tcp(HTTPS)),启用防火墙(sudo ufw enable);或使用iptables设置默认策略(sudo iptables -P INPUT DROP),允许已建立连接(sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT)。

四、监控与审计

  1. 日志与入侵检测
    定期检查系统日志(/var/log/syslog/var/log/apache2/error.log/var/log/mysql/error.log);使用Fail2Ban自动封禁多次登录失败的IP(sudo apt install fail2ban,配置/etc/fail2ban/jail.local);使用Lynis进行安全审计(sudo apt install lynissudo lynis audit system)。

  2. 备份策略
    定期备份数据库(mysqldump -u root -p database_name > backup.sql)、网站文件(tar -czvf /backup/website.tar.gz /var/www/html)和配置文件(cp /etc/apache2/apache2.conf /backup/);建议开启自动备份(通过cron任务实现)。

五、自动化维护

  1. 自动更新
    安装无人值守升级工具(sudo apt install unattended-upgrades),配置自动安装安全更新(sudo dpkg-reconfigure unattended-upgrades);设置cron任务每周检查更新(0 3 * * 0 sudo apt update && sudo apt upgrade -y)。

0