🗣 Wd提问: VPS搭建教程安全配置
🤖 Ai回答: 以下是VPS安全配置的详细教程,涵盖系统初始化、网络防护、访问控制、入侵防御等关键环节:
一、基础系统安全配置
1、系统更新与初始化
bash
更新系统包(Ubuntu/Debian)
sudo apt update && sudo apt upgrade -y
更新系统包(CentOS/RHEL)
sudo yum update -y
安装必要工具
sudo apt install -y fail2ban ufw unattended-upgrades Debian/Ubuntu
sudo yum install -y fail2ban firewalld chrony CentOS/RHEL
2、时区与时间同步
bash
sudo timedatectl set-timezone Asia/Shanghai 设置时区
sudo systemctl enable now chrony 启用时间同步服务
3、创建非root用户
bash
adduser adminuser 创建新用户
usermod -aG sudo adminuser 添加sudo权限
二、网络与防火墙配置
1、配置UFW防火墙(Ubuntu/Debian)
bash
sudo ufw default deny incoming 默认拒绝所有入站
sudo ufw allow ssh 允许SSH(默认端口22)
sudo ufw allow 80/tcp 允许HTTP
sudo ufw allow 443/tcp 允许HTTPS
sudo ufw enable 启用防火墙
2、配置Firewalld(CentOS/RHEL)
bash
sudo systemctl start firewalld
sudo firewall-cmd permanent add-service=ssh
sudo firewall-cmd permanent add-service=http
sudo firewall-cmd permanent add-service=https
sudo firewall-cmd reload
3、修改SSH默认端口
bash
sudo nano /etc/ssh/sshd_config
修改 Port 22 为 Port 2222(或其他高端口)
sudo systemctl restart sshd
三、访问控制与SSH加固
1、禁用root远程登录
bash
sudo nano /etc/ssh/sshd_config
设置 PermitRootLogin no
sudo systemctl restart sshd
2、启用SSH密钥认证
bash
生成密钥对(本地执行)
ssh-keygen -t ed25519 -C your_email@65.hk
上传公钥到VPS
ssh-copy-id -p 2222 adminuser@your_vps_ip
禁用密码登录(编辑sshd_config)
sudo nano /etc/ssh/sshd_config
设置 PasswordAuthentication no
sudo systemctl restart sshd
3、限制SSH访问IP
bash
sudo nano /etc/hosts.allow
添加:sshd: 192.168.1.0/255.255.255.0 仅允许特定IP访问
sudo nano /etc/hosts.deny
添加:sshd: ALL
四、入侵防御与监控
1、配置Fail2ban
bash
sudo nano /etc/fail2ban/jail.local
添加配置:
ini
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600 封禁1小时
重启服务:
bash
sudo systemctl restart fail2ban
2、安装入侵检测工具
bash
安装Lynis(安全审计)
sudo apt install lynis Debian/Ubuntu
sudo yum install lynis CentOS/RHEL
sudo lynis audit system
3、启用日志监控
bash
安装logwatch(自动日志分析)
sudo apt install logwatch
sudo logwatch mailto your_email@65.hk detail high
五、系统加固
1、禁用不必要的服务
bash
查看运行的服务
sudo systemctl list-units type=service
禁用不必要服务(如:sendmail, cups)
sudo systemctl disable sendmail
sudo systemctl mask cups
2、内核安全优化
bash
sudo nano /etc/sysctl.conf
添加以下配置:
conf
防止IP欺骗
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
禁用ICMP重定向
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
防止SYN洪水攻击
net.ipv4.tcp_syncookies = 1
应用配置:
bash
sudo sysctl -p
3、定期自动更新
bash
Ubuntu/Debian
sudo dpkg-reconfigure -plow unattended-upgrades
CentOS/RHEL
sudo yum install -y yum-cron
sudo systemctl enable now yum-cron
六、数据安全
1、配置自动备份
bash
安装rsync
sudo apt install rsync Debian/Ubuntu
创建备份脚本
sudo nano /usr/local/bin/backup.sh
脚本内容:
bash
!/bin/bash
rsync -avz delete /home/adminuser/ user@backup_server:/backup/vps_data/
设置定时任务:
bash
sudo crontab -e
添加:0 2 * * * /usr/local/bin/backup.sh
2、启用磁盘加密(可选)
bash
安装LUKS加密工具
sudo apt install cryptsetup Debian/Ubuntu
加密磁盘(操作前备份数据!)
sudo cryptsetup luksFormat /dev/sda1
sudo cryptsetup open /dev/sda1 encrypted_disk
sudo mkfs.ext4 /dev/mapper/encrypted_disk
七、定期维护
1、安全扫描:
bash
sudo lynis audit system
sudo rkhunter checkall 安装:sudo apt install rkhunter
2、更新系统:
bash
sudo apt update && sudo apt upgrade -y 每周执行
3、检查日志:
bash
sudo tail -f /var/log/auth.log 监控登录日志
sudo fail2ban-client status sshd 查看封禁状态
关键安全原则
最小权限原则:仅开放必要端口和服务。
深度防御:防火墙+入侵检测+日志监控多层防护。
定期更新:及时修补系统漏洞。
备份验证:定期测试恢复流程。
⚠️ 操作前必读:
1、修改SSH端口后,确保新端口已开放防火墙规则。
2、禁用密码登录前,必须配置好SSH密钥。
3、生产环境操作前务必在测试环境验证。
通过以上配置,VPS安全性将大幅提升,有效抵御常见攻击。建议定期(如每月)重复扫描和更新流程。
📣 商家广告:





0
IP地址: 61.110.114.240
搜索次数: 121
提问时间: 2025-11-21 01:43:22
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。