首页/发现新知
视界 · 深度阅读

centos lamp怎样安全管理

在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境后,安全管理非常重要。下面从 系统层、服务层、应用层、运维层 四个维度,给你一套实用、可落地的 CentOS LAMP 安全管理方案。


一、系统层安全(基础)

1. 系统更新

yum update -y

定期检查并更新安全补丁(建议开启自动更新或定时任务)。

2. 禁用 root 远程登录

编辑 SSH 配置:

vi /etc/ssh/sshd_config

修改:

PermitRootLogin no
PasswordAuthentication no

使用 SSH 密钥登录 更安全。

3. 创建普通用户

useradd admin
passwd admin
usermod -aG wheel admin

4. 防火墙(firewalld)

只开放必要端口:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --remove-service=ssh --zone=public
firewall-cmd --reload

5. 禁用不必要服务

systemctl list-unit-files | grep enabled

关闭如 telnet、ftp 等老旧服务。


二、Apache 安全

1. 隐藏版本信息

vi /etc/httpd/conf/httpd.conf
ServerTokens Prod
ServerSignature Off

2. 禁止目录浏览

Options -Indexes

3. 限制管理目录访问

示例(phpMyAdmin):

<Directory "/usr/share/phpmyadmin">
    Require ip 192.168.1.0/24

4. 使用 HTTPS(强烈建议)

  • 使用 Let’s Encrypt:
yum install certbot python2-certbot-apache
certbot --apache

三、MySQL / MariaDB 安全

1. 初始化安全设置

mysql_secure_installation
  • 设置 root 密码
  • 禁止远程 root 登录
  • 删除 test 库

2. 创建专用数据库用户

CREATE USER 'appuser'@'localhost' IDENTIFIED BY '强密码';
GRANT SELECT,INSERT,UPDATE ON appdb.* TO 'appuser'@'localhost';

3. 禁止远程访问(如不需要)

bind-address=127.0.0.1

四、PHP 安全

1. 关闭危险函数

vi /etc/php.ini
disable_functions = exec,passthru,shell_exec,system,proc_open,popen

2. 关闭错误显示

display_errors = Off
log_errors = On

3. 文件上传限制

upload_max_filesize = 2M
post_max_size = 8M

4. 使用最新稳定 PHP 版本

避免使用 CentOS 默认过旧的 PHP(如 5.x)。


五、网站文件与权限安全

1. 正确的文件权限

chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html

禁止 777

2. 分离上传目录

上传目录不给执行权限:

<Directory "/var/www/html/uploads">
    php_admin_flag engine off


六、日志与监控

1. 开启日志

  • Apache:/var/log/httpd/
  • MySQL:/var/log/mariadb/
  • PHP:/var/log/php_errors.log

2. 安装 fail2ban

防止暴力破解:

yum install epel-release
yum install fail2ban
systemctl enable fail2ban

3. 定期备份

mysqldump -u root -p appdb > backup.sql
tar czf html.tar.gz /var/www/html

七、常见安全建议总结

✅ 不用 root
✅ 不用弱密码
✅ 不开放多余端口
✅ 不上线测试环境
✅ 定期更新和备份


如果你愿意,我可以:

  • 帮你 一步一步配置 CentOS 7/8 LAMP 安全加固
  • 给你一份 LAMP 安全检查清单
  • 针对 WordPress / 自建 PHP 项目 做专项安全方案

你现在是 CentOS 几?LAMP 用在什么场景?

读到这里,发现更多一点。探索更多内容 ↗