网络安全这件事,说难也难,说简单也简单。我带过不少徒弟,发现大家最怕的不是技术本身,而是不知道从哪下手。今天我就把建站这些年积累的安全经验,像当年师傅教我一样,一步步说给你听。
先说 SSL 证书,这是网站的门面。你去 Let’s Encrypt 申请个免费的,用 Certbot 工具一键安装。命令就一行:certbot –nginx -d 你的域名。装好后浏览器地址栏会显示小绿锁,用户放心,搜索引擎也给你加分。我有个徒弟图省事没装 SSL,结果网站被标记为不安全,流量直接掉了一半。
防火墙是第二道防线。Ubuntu 系统用 ufw 就行,先允许 SSH 和 Web 端口:ufw allow 22 和 ufw allow 80、443,然后 ufw enable 开启。千万别把端口全开了,我见过有人图方便开放所有端口,结果服务器被当成矿机挖了三天才发现。
防攻击这块,Fail2Ban 是神器。它会自动监控日志,发现有人暴力破解就封 IP。安装后配置 /etc/fail2ban/jail.local,设置 maxretry=3 表示输错三次密码就封禁,bantime=3600 封一小时。我有个站之前每天被扫描几百次,装上后清净多了。
还有个小技巧,把 SSH 默认端口 22 改掉。改 /etc/ssh/sshd_config 里的 Port 参数,比如改成 22334,然后重启 SSH 服务。这样能挡住大部分自动化扫描脚本。但记住改之前先在防火墙允许新端口,不然把自己锁外面了。
最后说备份。安全做得再好也怕万一,每天用脚本自动备份数据库和网站文件,存到阿里云 OSS 或者本地硬盘。我有个徒弟网站被黑过,幸好有前一天的备份,两小时就恢复了。
安全不是一劳永逸的事,定期检查日志、更新系统补丁、换复杂密码,这些习惯比任何工具都重要。