首页主机资讯Debian LAMP中Linux系统如何加固

Debian LAMP中Linux系统如何加固

时间2025-10-23 18:22:04发布访客分类主机资讯浏览352
导读:系统更新与维护 保持系统及软件包最新是安全加固的基础,定期更新可修复已知漏洞。使用以下命令手动更新:sudo apt update && sudo apt full-upgrade -y;为避免遗漏安全更新,建议安装unat...

系统更新与维护
保持系统及软件包最新是安全加固的基础,定期更新可修复已知漏洞。使用以下命令手动更新:sudo apt update & & sudo apt full-upgrade -y;为避免遗漏安全更新,建议安装unattended-upgrades包并启用自动更新:sudo apt install unattended-upgrades -y,随后配置自动安全更新策略。

用户权限与SSH安全

  • 限制root远程登录:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,禁止root用户通过SSH直接登录;若需root权限,建议使用普通用户登录后通过sudo命令提权。
  • 使用SSH密钥对认证:生成密钥对(ssh-keygen),将公钥(id_rsa.pub)复制到服务器~/.ssh/authorized_keys文件中,替换密码认证以提升安全性;同时修改SSH配置文件,设置PasswordAuthentication no禁用密码登录。
  • 强密码策略:通过PAM模块强化密码复杂度,编辑/etc/pam.d/common-password文件,添加或修改minlen=12(密码最小长度)、ucredit=-1(至少1个大写字母)、lcredit=-1(至少1个小写字母)、dcredit=-1(至少1个数字)等参数,要求密码包含多种字符类型且长度足够。

防火墙配置
使用ufw(Uncomplicated Firewall)简化防火墙管理,仅开放必要端口(HTTP 80、HTTPS 443、SSH 22)。执行以下命令:sudo ufw enable启用防火墙;sudo ufw allow 22/tcp允许SSH;sudo ufw allow 80/tcp允许HTTP;sudo ufw allow 443/tcp允许HTTPS;sudo ufw deny in on any拒绝其他未授权流量。定期检查防火墙规则,确保无多余开放端口。

服务与组件安全加固

  • Apache安全配置:禁用不必要的模块(如statusautoindex),执行sudo a2dismod status autoindex;通过.htaccess文件限制目录访问,设置Deny from all禁止未授权访问,或允许特定IP;关闭目录列表,编辑Apache配置文件(/etc/apache2/apache2.conf),添加Options -Indexes
  • MySQL/MariaDB安全配置:运行mysql_secure_installation脚本,完成root密码修改、匿名用户删除、远程root登录禁用等基础安全设置;限制数据库访问,仅允许特定IP连接,执行GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'strongpassword'; FLUSH PRIVILEGES; ,若需远程访问,将localhost替换为具体IP。
  • PHP安全配置:编辑php.ini文件,禁用危险函数(如execsystemshell_exec),设置disable_functions = exec,passthru,shell_exec,system;限制上传文件大小,设置upload_max_filesize = 2Mpost_max_size = 8M,防止恶意文件上传。

加密与认证
为网站启用SSL/TLS加密,保护数据传输安全。使用Let’s Encrypt免费证书,执行sudo apt install certbot python3-certbot-apache -y安装Certbot;申请证书:sudo certbot --apache -d yourdomain.com,按照提示完成配置。证书到期前会自动提醒,也可设置自动续订。

日志与监控

  • 日志审计:定期查看系统日志(/var/log/syslog/var/log/auth.log)和Web服务日志(/var/log/apache2/error.log/var/log/apache2/access.log),分析异常登录(如多次失败尝试)、未授权访问等行为。
  • 恶意IP阻止:使用fail2ban工具监控日志,自动封禁频繁尝试登录的恶意IP。安装fail2bansudo apt install fail2ban -y;配置SSH防护,编辑/etc/fail2ban/jail.local,设置[sshd]部分的enabled = truemaxretry = 3(3次失败后封禁),封禁时间bantime = 3600(1小时)。
  • 实时监控:使用Prometheus+Grafana搭建监控系统,监控服务器CPU、内存、磁盘使用率及网络流量,及时发现异常负载。

其他安全措施

  • 定期备份:使用rsynctar工具定期备份关键数据(网站文件、数据库),例如备份网站目录:sudo tar -czvf /backup/site-$(date +%F).tar.gz /var/www/html;备份数据库:mysqldump -u username -p database_name > /backup/db-$(date +%F).sql,将备份文件存储在异地或云存储中。
  • 禁用不必要的服务:使用systemctl list-unit-files --type=service查看所有服务,禁用不需要的服务(如FTP、Telnet),执行sudo systemctl stop service_name停止服务,sudo systemctl disable service_name禁用开机自启,减少攻击面。
  • 启用SELinux/AppArmor:SELinux(Security-Enhanced Linux)或AppArmor是Linux强制访问控制(MAC)机制,可限制进程权限。Debian默认使用AppArmor,编辑/etc/apparmor.d/下的配置文件,自定义规则;若使用SELinux,安装selinux-basics包并启用:sudo apt install selinux-basics selinux-policy-default -ysudo setenforce 1

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian LAMP中Linux系统如何加固
本文地址: https://pptw.com/jishu/733663.html
Linux SFTP如何进行文件下载 Fortran在Debian上的最新版本是什么

游客 回复需填写必要信息