以下是一份详细的服务器加固脚本,该脚本旨在增强服务器的安全性,包括禁用不必要的服务、设置防火墙规则、更新系统软件等,在运行此脚本之前,请确保您已经备份了所有重要数据,并且对脚本中的命令有充分的了解。
#!/bin/bash 更新包列表并升级已安装的软件包 echo "Updating package lists and upgrading installed packages..." sudo apt-get update && sudo apt-get upgrade -y 安装必要的安全工具 echo "Installing security tools..." sudo apt-get install -y ufw fail2ban sshguard 启用并配置UFW防火墙 echo "Enabling and configuring UFW firewall..." sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable 安装并配置Fail2Ban echo "Installing and configuring Fail2Ban..." sudo systemctl enable fail2ban sudo systemctl start fail2ban 修改SSH配置文件以提高安全性 echo "Configuring SSH for enhanced security..." sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sudo bash -c 'cat >> /etc/ssh/sshd_config <<EOF 使用非标准端口号 Port 2222 禁用root登录 PermitRootLogin no 使用公钥认证 PasswordAuthentication no 限制最大连接数 MaxStartups 10:30:60 设置空闲超时时间 ClientAliveInterval 60 ClientAliveCountMax 3 EOF' 重启SSH服务使更改生效 echo "Restarting SSH service..." sudo systemctl restart ssh 安装并配置SSHGuard echo "Installing and configuring SSHGuard..." sudo apt-get install sshguard -y sudo systemctl enable sshguard sudo systemctl start sshguard 设置密码策略以确保密码强度 echo "Setting password policy for stronger passwords..." sudo sed -i '/^PASS_MAX_DAYS\s/s/^/#/' /etc/login.defs sudo sed -i 's/^PASS_MIN_LEN\s*/PASS_MIN_LEN\s9/' /etc/login.defs sudo sed -i 's/^PASS_WARN_AGE\s*/PASS_WARN_AGE\s7/' /etc/login.defs sudo chage -M 90 -m 7 $(who | cut -d' ' -f1) 确保日志文件的权限正确设置 echo "Ensuring log files have correct permissions..." sudo chmod 644 /var/log/auth.log sudo chown root:adm /var/log/auth.log sudo chmod 640 /var/log/fail2ban.log sudo chown root:fail2ban /var/log/fail2ban.log 清理临时文件和缓存以释放空间 echo "Cleaning up temporary files and caches to free up space..." sudo apt-get clean sudo rm -rf /tmp/* /var/tmp/* ~/.cache/* 显示当前防火墙状态 echo "Current UFW status:" sudo ufw status 显示Fail2Ban状态 echo "Current Fail2Ban status:" sudo systemctl status fail2ban 显示SSHGuard状态 echo "Current SSHGuard status:" sudo systemctl status sshguard echo "Server hardening script completed successfully."
这个脚本涵盖了多个方面来增强服务器的安全性,包括但不限于:
更新系统和软件包
安装和配置防火墙(UFW)
安装和配置入侵防御系统(Fail2Ban)
修改SSH配置以提高安全性
设置更强的密码策略
确保日志文件的安全权限
清理不必要的文件以释放空间
请根据您的具体需求调整此脚本,并在生产环境中谨慎执行。
到此,以上就是小编对于“服务器加固脚本”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/664438.html