网络管理与 SSH 安全加固实战

网络是运维的”水电煤”——不通就什么都干不了,而 SSH 又是唯一的管理通道,它的安全等级直接决定服务器被不被攻破。这篇把网络基础配置和 SSH 加固基线完整过一遍。

一、网卡与 DNS 配置

CentOS 7 系网卡配置在 /etc/sysconfig/network-scripts/ifcfg-eth0

1
2
3
4
5
6
7
8
9
TYPE=Ethernet
BOOTPROTO=none # 服务器用固定 IP:none/static;笔记本才用 dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes # 开机自动启用
IPADDR=10.0.8.11 # 内网固定 IP(本机局域网内唯一)
PREFIX=24
GATEWAY=10.0.8.1
DNS1=223.5.5.5 # 阿里云公共 DNS

改完必须重启网络服务生效:systemctl restart network

DNS 排查三连:

1
2
3
cat /etc/resolv.conf   # 本机 DNS 配置
cat /etc/hosts # 本机 hosts 解析
nslookup / dig 域名 # 实际解析验证

生产教训:DNS 配错是”最隐蔽”的网络故障——服务看起来都正常,就是偶发连接超时。排查时先确认 resolv.conf 指向可达的 DNS,再看 hosts 有没有被污染(改 hosts 前先备份)。

常用公共 DNS 记住即可:223.5.5.5(阿里)、114.114.114.114(电信)、8.8.8.8(谷歌)、202.106.0.20(联通)。

二、SSH 加固:生产基线

装好 openssh-server 后,/etc/ssh/sshd_config 按这个基线配(每项都有明确目的):

1
2
3
4
5
6
7
8
9
10
11
# 1. 禁止密码登录(生产必须密钥登录)
PasswordAuthentication no
# 2. 禁止 root 直接登录
PermitRootLogin no
# 3. 修改端口(默认 22,避开暴力破解的常规扫描)
Port 2222
# 4. 连接超时(避免无效连接占资源)
ClientAliveInterval 60
ClientAliveCountMax 3

systemctl restart sshd # 重启前先检查语法:sshd -t

改端口前注意sshd -t 验证配置、确认防火墙放行新端口、保持当前 SSH 会话别断开,三步都做好再重启,否则容易把自己锁在外面(我见过不止一次改配置改到连不上的现场)。

密钥登录配置流程:

1
2
3
4
5
# 1. 客户端生成密钥:ssh-keygen -t ed25519
# 2. 服务端存放公钥(目录 700、文件 600,企业规范)
mkdir -p /root/.ssh && chmod 700 /root/.ssh
echo "公钥内容" >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys
# 3. 确认密钥能登录后,再把 PasswordAuthentication 改为 no

三、一次暴力破解防护实录

事件:某台云服务器的 /var/log/secure 里出现大量 Failed password for root,来自境外 IP 的扫描在持续撞库。

应对三步:

  1. 立即 PermitRootLogin no + 改 SSH 端口,观察 secure 日志,撞库流量明显下降;
  2. 部署 fail2ban:同一 IP 连续失败 5 次封禁 10 分钟,日志里 Failed 快速归零;
  3. 长期措施:密钥登录全覆盖 + 堡垒机(JumpServer)统一入口,服务器不再直连公网。

四、网络排查命令速查

1
2
3
4
5
ip addr                 # 查看网卡 IP(ip a)
ss -tulnp # 查看监听端口(替代过时的 netstat)
ss -s # 连接统计
ping / traceroute # 连通性与路由路径
tcpdump -i eth0 port 80 # 抓包定位(网络问题的最终手段)

常用服务端口对照:SSH 22、HTTP 80、HTTPS 443、MySQL 3306、Redis 6379、DNS 53——排查”端口不通”时先分清是防火墙拦了还是服务没监听:ss -tulnp 确认监听,firewall-cmd --list-all(或 iptables)确认放行。

网络故障排查的核心纪律:先本机后远端、先端口后路由、先防火墙后抓包,一步步缩小范围,不要上来就抓包大海捞针。