服务器系统安装后的安全加固应优先关闭不必要的服务、配置强密码策略并启用防火墙,同时定期更新补丁和禁用root远程登录。具体做法包括使用`ufw`或`firewalld`限制端口访问,通过`/etc/ssh/sshd_config`修改ssh默认配置,以及利用`fail2ban`防止暴力破解。这些措施能显著降低被入侵的风险。

如何配置防火墙以限制入站流量
配置防火墙时,应先允许必要的服务端口(如SSH的22端口),然后拒绝所有其他入站连接。在Ubuntu系统中,可以使用`ufw`工具简化这一过程。例如,运行`sudo ufw allow ssh`允许SSH连接,再执行`sudo ufw enable`启用防火墙。对于CentOS,可使用`firewalld`,通过`sudo firewall-cmd --permanent --add-service=ssh`添加规则,最后`sudo firewall-cmd --reload`生效。确保只开放业务必需的端口,避免暴露数据库或管理接口到公网。

sudo apt install ufw 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
如何强化SSH远程登录安全性
强化SSH登录需禁用密码认证,改用密钥对验证,并禁止root用户直接远程登录。编辑`/etc/ssh/sshd_config`文件,设置`PermitRootLogin no`和`PasswordAuthentication no`,然后重启SSH服务(`sudo systemctl restart sshd`)。生成密钥对后,将公钥复制到服务器的`~/.ssh/authorized_keys`文件中。这样即使密码泄露,攻击者也无法通过SSH进入系统。此外,可更改SSH默认端口(如改为2222)以增加隐蔽性,但需同步更新防火墙规则。

# 编辑SSH配置文件 sudo nano /etc/ssh/sshd_config # 修改以下行: PermitRootLogin no PasswordAuthentication no Port 2222 # 重启SSH服务 sudo systemctl restart sshd # 客户端生成密钥对(本地执行) ssh-keygen -t rsa -b 4096 # 复制公钥到服务器 scp ~/.ssh/id_rsa.pub user@server:/tmp/ sudo mv /tmp/id_rsa.pub ~/.ssh/authorized_keys sudo chmod 600 ~/.ssh/authorized_keys
禁用root远程登录后如何管理服务器
禁用root远程登录后,管理员应通过普通用户登录,并使用`sudo`命令执行特权操作。创建新用户(如`sudo adduser admin`),将其加入`sudo`组(`sudo usermod -aG sudo admin`),然后通过该用户SSH登录。日常操作中,仅在执行需要权限的命令前使用`sudo`,避免长期以root身份活动。这符合最小权限原则,减少误操作或恶意软件的影响范围。若忘记sudo密码,可通过单用户模式或救援模式重置,但需物理或控制台访问权限。
,











