选择发行版
系统更新
# CentOS/RHEL
sudo dnf update -y && sudo dnf upgrade -y
# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
创建管理用户
sudo adduser adminuser
sudo usermod -aG sudo adminuser # Ubuntu/Debian
sudo usermod -aG wheel adminuser # CentOS/RHEL
SSH安全配置
sudo nano /etc/ssh/sshd_config
修改以下参数:
Port 2222 # 更改默认端口
PermitRootLogin no # 禁止root登录
PasswordAuthentication no # 强制使用密钥认证
MaxAuthTries 3 # 最大尝试次数
ClientAliveInterval 300 # 超时设置
防火墙配置
# UFW (Ubuntu/Debian)
sudo ufw allow 2222/tcp
sudo ufw enable
# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
安装并配置Fail2Ban
sudo apt install fail2ban # 或 sudo dnf install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
修改jail.local配置适当的封禁规则
安装基本监控工具
# 通用工具
sudo apt install htop iotop iftop ncdu tmux
# 或
sudo dnf install htop iotop iftop ncdu tmux
配置日志轮转
sudo nano /etc/logrotate.conf
确保关键日志有适当的轮转策略
设置自动更新
# Ubuntu/Debian
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
# CentOS/RHEL
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer
设置自动化备份
# 示例:每日备份重要目录
sudo mkdir /backups
sudo crontab -e
添加:
0 3 * * * tar -czf /backups/$(date +\%Y\%m\%d).tar.gz /etc /home /var/www
配置远程备份 考虑使用rsync或rclone将备份传输到远程存储
SELinux/AppArmor
# CentOS/RHEL (SELinux)
sudo setenforce 1
sudo nano /etc/selinux/config # 确保SELINUX=enforcing
# Ubuntu (AppArmor)
sudo systemctl enable apparmor
sudo systemctl start apparmor
内核参数加固
sudo nano /etc/sysctl.conf
添加安全相关参数如:
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
通过以上步骤,您可以建立一个安全且稳定的Linux服务器基础环境。根据具体应用需求,可能还需要安装和配置额外的服务软件。