1. 更新系统与软件
保持系统及所有软件包为最新版本,及时修复已知安全漏洞。使用以下命令更新系统:
sudo apt update && sudo apt full-upgrade -y
2. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)工具限制入站/出站流量,仅允许必要服务(如SSH、HTTP、HTTPS)的端口通过:
sudo apt install ufw -y
sudo ufw enable
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw reload
3. 强化用户与认证安全
/etc/ssh/sshd_config文件,设置PermitRootLogin no,避免root账户直接暴露在网络中。~/.ssh/authorized_keys文件,替换密码登录以提升安全性。libpam-pwquality工具,编辑/etc/pam.d/common-password文件,添加以下行强制密码复杂度(至少8位,包含大小写字母、数字及特殊字符):password requisite pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
4. 安装与配置SELinux(可选但推荐)
SELinux(Security-Enhanced Linux)通过强制访问控制(MAC)限制进程权限,提升系统安全性:
sudo apt install selinux-basics selinux-policy-default -y
sudo setenforce 1 # 临时切换至Enforcing模式(生效)
/etc/selinux/config文件,将SELINUX=permissive改为SELINUX=enforcing,确保重启后仍生效。ls -Z查看文件/目录的SELinux上下文;使用chcon临时修改上下文(如将/var/www/html设为httpd_sys_content_t);使用semanage fcontext持久化上下文(需安装policycoreutils-python-utils):sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/html # 应用持久化上下文
5. 配置AppArmor(Debian默认安全模块)
AppArmor通过路径-based策略限制程序权限,适合简化安全配置:
sudo apt install apparmor apparmor-utils -y
sudo systemctl enable apparmor && sudo systemctl start apparmor
aa-status查看当前生效的Profile;编辑/etc/apparmor.d/下的Profile文件(如/etc/apparmor.d/usr.bin.apache2),添加允许的文件访问路径或网络权限;使用apparmor_parser -r重新加载Profile。6. 加固SSH服务
SSH是远程管理的关键入口,需强化其配置:
/etc/ssh/sshd_config,将默认22端口改为其他端口(如2222),减少自动化扫描攻击。PasswordAuthentication no,强制使用密钥认证。sudo systemctl restart ssh
7. 监控与审计系统活动
sudo apt install fail2ban -y
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
sudo apt install logwatch -y
sudo systemctl enable logwatch && sudo systemctl start logwatch
8. 定期备份重要数据
使用rsync、tar或专业备份工具(如Timeshift)定期备份系统文件与用户数据,存储至外部介质或云存储,防止数据丢失:
sudo tar -czvf /backup/home_$(date +%F).tar.gz /home
sudo tar -czvf /backup/etc_$(date +%F).tar.gz /etc
9. 最小化安装与服务
systemctl list-units --type=service --state=running列出运行中的服务,禁用未使用的服务(如Telnet、FTP):sudo systemctl disable telnet
10. 定期安全审计
使用auditd工具监控系统调用与文件访问,定期检查日志;使用OpenVAS、Nessus等漏洞扫描工具扫描系统,及时修复发现的安全漏洞。