简单的服务器安全配置脚本
2024-11-24 05:35:50
最近老是想买些便宜VPS。每次配置服务器安全都要手挫半天,最后让Claude搓了个脚本,免得冬天手生疮
#适用于Debian服务器
快速开始
1 | wget -P /root -N --no-check-certificate https://raw.githubusercontent.com/li88iioo/init_server/refs/heads/main/init_server.sh && chmod 700 /root/init_server.sh && /root/init_server.sh |
功能特点
系统管理
- 系统更新与软件安装
- SSH 端口配置与安全加固
- UFW 防火墙配置
- Fail2ban 防暴力破解
- ZeroTier 虚拟网络配置
- Docker 环境配置
- Swap 交换空间管理
应用安装
- 1Panel 面板
- v2ray-agent
系统工具
- 系统安全检查
- 系统安全加固
- 系统资源监控
- 网络诊断
功能详解
SSH 配置
- 修改 SSH 端口
- 配置 SSH 密钥认证
- SSH 安全加固
防火墙配置
- UFW 规则管理
- 端口开放/关闭
- PING 响应控制
- Docker 网络规则配置
Fail2ban 配置
- SSH 防暴力破解
- 自定义封禁规则
- 状态监控
Docker 管理
- Docker 环境安装
- Docker Compose 安装
- 容器资源监控
- 网络配置
- 资源清理
Swap 管理
- 创建/调整 Swap 大小
- Swappiness 参数调整
- Swap 删除
系统监控
- CPU 使用率
- 内存使用情况
- 磁盘使用状态
- 网络连接状态
安全检查
- 系统基本信息检查
- 开放端口检查
- 登录记录审计
- SSH 配置检查
- 防火墙状态检查
使用建议
- 首次使用建议先运行系统安全检查
- 及时更新系统并配置防火墙
- 配置 SSH 密钥认证并禁用密码登录
- 根据需要调整 Swap 和系统参数
- 定期检查系统资源使用情况
注意事项
- 脚本需要 root 权限运行
- 修改 SSH 配置前请确保有其他可用的登录方式
- 防火墙配置前请确保已开放必要端口
- 建议在配置前备份重要数据
- 部分功能可能需要联网下载相关组件
常见问题
Q: 如何备份配置?
A: 脚本会自动备份重要的配置文件,备份文件通常带有时间戳后缀。
Q: 忘记修改后的 SSH 端口?
A: 可以在 /etc/ssh/sshd_config 文件中查看。
Q: 如何恢复被 Fail2ban 封禁的 IP?
A: 使用 fail2ban-client set sshd unbanip <IP> 命令。