公司刚上线一个新业务系统,内网数据库没动,防火墙规则也没改——结果某天发现服务器被植入挖矿程序,日志里全是来自境外IP的SSH暴力登录记录。问题出在哪?不是内网不设防,而是边界那道门,压根没锁牢。
边界不是摆设,是第一道防线
很多人觉得‘只要内网不连外网就安全’,这想法早过时了。现在办公用WiFi、员工手机热点、远程协作工具、云服务API调用……数据进出的口子越来越多。防火墙、入侵检测系统(IDS)、WAF(Web应用防火墙)这些设备,就是守在企业网络‘大门口’的保安。但保安再尽责,如果门禁卡随便发、访客登记形同虚设、后门小窗常年敞开,照样白搭。
几处最容易被忽略的‘破洞’
• 默认策略没改:很多防火墙出厂策略是‘允许所有’,管理员装完就跑,没把默认规则改成‘拒绝所有,只放行必需端口’;
• 老服务还开着:FTP、Telnet、SNMP v2 这些明文协议,早该下线却还在跑;
• 云上边界被遗忘:用了阿里云或腾讯云,安全组规则设置成‘0.0.0.0/0’开放22端口,等于把服务器钥匙挂在微博上;
• VPN配置太宽松:员工连内网用的SSL VPN,没做二次认证,也没限制可访问的内网段,一人账号泄露,整张内网暴露。
动手加固,三步见效
第一步:清点并收敛出口
用命令查当前所有监听端口:
netstat -tuln | grep ":"重点看 21、23、135-139、445、3389 这些高危端口是否真有必要对外提供服务。没有业务需求的,一律关闭。
第二步:收紧防火墙策略
以iptables为例,把默认策略设为DROP,再精准放行:
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.168.10.0/24 -j ACCEPT注意最后一行——只允许运维网段登录SSH,而不是全网放行。
第三步:加一道‘身份门禁’
哪怕是最基础的SSH,也要禁用密码登录,强制用密钥对:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes配合fail2ban,连续5次输错密钥就自动封IP十分钟,有效拦住自动化扫描。
别只盯着硬件,人也是边界的一部分
去年某电商公司被黑,不是防火墙被绕过,而是运维人员点了钓鱼邮件里的链接,中招后电脑成了跳板。边界加固不只是配设备、写规则,还要定期做员工钓鱼测试,把‘看到陌生链接先 hover 看网址’变成肌肉记忆。真正的边界,是技术+流程+人的组合拳。