温馨提示×

debian lnmp怎么防黑客

小樊
37
2026-09-13 23:25:58
栏目: 智能运维

在 Debian + LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境下,“防黑客”是一个系统性的安全工作,不能只靠某一项。下面给你一套实战可落地的防护清单,从系统层到应用层都覆盖。


一、系统层基础防护(最重要)

1. 系统更新

apt update && apt upgrade -y

定期更新内核和安全补丁。

2. 禁用 root 直接登录

vim /etc/ssh/sshd_config

修改:

PermitRootLogin no
PasswordAuthentication no

使用 SSH 密钥登录

重启:

systemctl restart ssh

3. 防火墙(必开)

apt install ufw
ufw default deny incoming
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

4. 防暴力破解

apt install fail2ban

默认已保护 SSH,可自行加 Nginx 规则。


二、Nginx 安全加固

1. 隐藏版本号

server_tokens off;

2. 限制访问敏感目录

location ~ /\. {
    deny all;
}
location ~* /(wp-admin|admin|config) {
    allow 你的IP;
    deny all;
}

3. 禁止非法请求方法

if ($request_method !~ ^(GET|POST|HEAD)$ ) {
    return 444;
}

4. 防 SQL 注入 / XSS(基础)

location / {
    proxy_set_header X-Forwarded-For $remote_addr;
}

配合 WAF(见下文)。


三、PHP 安全配置

1. 修改 php.ini

vim /etc/php/*/fpm/php.ini

关键项:

disable_functions = exec,passthru,shell_exec,system,proc_open,popen
expose_php = Off
allow_url_include = Off
display_errors = Off

2. PHP-FPM 权限隔离

  • 不同网站用不同用户
  • 禁止跨目录访问(open_basedir)

四、MySQL / MariaDB 安全

1. 初始化安全

mysql_secure_installation
  • 删除 test 库
  • 禁止 root 远程登录

2. 绑定内网

bind-address = 127.0.0.1

3. 最小权限原则

GRANT SELECT,INSERT ON db.* TO 'user'@'localhost';

五、Web 应用层防护(关键)

1. 使用 WAF

推荐:

  • Nginx + ModSecurity
  • 或 宝塔/WAF 插件
  • 或 Cloudflare(免费)

2. 文件上传防护

  • 限制类型
  • 上传目录禁止执行 PHP
location /uploads {
    location ~ \.php$ {
        deny all;
    }
}

六、监控与应急

1. 日志监控

/var/log/nginx/access.log
/var/log/auth.log

2. 文件完整性

apt install tripwire

3. 定期备份

  • 数据库
  • 网站目录
  • 异地备份(对象存储)

七、常见黑客入侵途径(你重点防这些)

✅ 弱密码
✅ 旧版本漏洞(WordPress / PHP / Nginx)
✅ 上传 webshell
✅ Redis / MySQL 暴露公网
✅ 未授权 API


总结一句话

Debian LNMP 防黑客 = 系统加固 + 防火墙 + Nginx限制 + PHP禁函数 + WAF + 备份

如果你愿意,可以告诉我:

  • 是 个人博客 / 企业站 / API 服务
  • 是否使用 WordPress
  • 是否有 公网数据库

我可以给你一套更精准的配置方案。

0 踩