当前位置:网站首页 >  百科

网站安全运维入门实操指南:从基础防护到应急处理全步骤

时间:2026年06月09日 07:09:48 来源:易频IT社区

服务器基础配置加固

覆盖暴力破解、默认端口等核心基础风险,所有步骤可直接复制执行。

修改SSH默认端口(防自动化爆破)

1. 编辑SSH配置文件:

``` sudo nano /etc/ssh/sshd_config ```

2. 找到`Port 22`,保留该行并在下方添加`Port 2200`(测试旧端口正常后可删除原22端口配置)。

必须先开防火墙再重启SSH,否则会锁死无法连接,执行对应系统的防火墙命令:

``` Debian/Ubuntu 防火墙配置 sudo ufw allow 2200/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable CentOS 防火墙配置 sudo firewall-cmd --add-port=2200/tcp --permanent sudo firewall-cmd --reload ```

3. 重启SSH生效:

``` sudo systemctl restart sshd ```

安装fail2ban防暴力破解

1. 安装对应包:

``` Debian/Ubuntu sudo apt install fail2ban -y CentOS sudo yum install fail2ban -y ```

2. 生成自定义配置文件:

``` sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local ```

3. 编辑jail.local的[sshd]模块,替换为你的SSH端口:

``` [sshd] enabled = true port = 2200 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 ```

4. 启动并设置开机自启:

``` sudo systemctl enable --now fail2ban ```

网站核心安全配置(以Nginx为例)

网站安全运维入门实操指南:从基础防护到应急处理全步骤

直接替换对应域名、证书路径即可使用,无冗余配置。

Nginx安全规则配置

编辑站点配置文件(路径一般为/etc/nginx/sites-available/你的域名),替换server块为:

``` server { listen 80; server_name example.com; 替换为你的域名 return 301 https://$host$request_uri; 强制跳转HTTPS } server { listen 443 ssl http2; server_name example.com; 替换为你的域名 ssl_certificate /etc/ssl/example.com.crt; 替换为你的证书路径 ssl_certificate_key /etc/ssl/example.com.key; 替换为你的密钥路径 server_tokens off; 隐藏Nginx版本号 autoindex off; 禁止目录列表浏览 if ($request_method !~ ^(GET|HEAD|POST)$) { 禁用非必要HTTP方法 return 405; } 上传目录权限隔离(防止木马执行) location /uploads { deny all; } location ~ \.(php|jsp|asp)$ { 拦截所有脚本访问 deny all; } } ```

配置测试并重启Nginx:

``` sudo nginx -t && sudo systemctl reload nginx ```

日常安全巡检(自动执行)

100行内脚本完成核心巡检,无需复杂工具,设置定时运行即可。

编写巡检脚本

创建security_check.sh文件,替换脚本路径后执行:

``` !/bin/bash 安全巡检脚本 LOG_PATH="/var/log/security_check.log" echo "=== 安全巡检报告:$(date '+%Y-%m-%d %H:%M:%S') ===" > $LOG_PATH 1. 检查24小时未修改的网站文件(异常篡改/新增) echo "【1】24小时未修改的网站文件:" >> $LOG_PATH find /var/www/html -type f -mtime +1 -size +1c >> $LOG_PATH 2. 检查非内网的SSH登录IP(异常爆破) echo "【2】最近登录的非内网IP:" >> $LOG_PATH last -i | grep -vE "(192\.168|127\.0\.0\.1)" | head -10 >> $LOG_PATH 3. 检查fail2ban封禁的IP echo "【3】fail2ban已封禁的IP:" >> $LOG_PATH fail2ban-client status sshd | grep "Banned IP list" >> $LOG_PATH ```

添加执行权限:

``` sudo chmod +x /path/to/security_check.sh 替换为你的脚本路径 ```

设置定时执行

编辑crontab,设置每天凌晨2点执行巡检:

``` sudo crontab -e ```

在最后添加一行后保存:

``` 0 2 /path/to/security_check.sh >> /var/log/security_check_cron.log 2>&1 ```

入侵应急快速响应

按以下步骤操作,最小化损失,无需复杂工具:

  1. 立即隔离服务器(测试连接正常后再调整):临时阻断所有入站,仅开放自身SSH和网站端口: ``` sudo iptables -P INPUT DROP sudo iptables -A INPUT -p tcp --dport 2200 -j ACCEPT 替换为你的SSH端口 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT ```
  2. 备份核心日志:将/var/log/auth.log(Debian)或/var/log/secure(CentOS)、Nginx访问日志复制到外接存储,禁止修改。
  3. 排查后门文件:查找7天内新增的可执行文件: ``` sudo find / -type f -mtime -7 -perm +111 -o -name ".sh" -o -name ".php" ```
  4. 恢复环境:用干净备份还原网站文件、数据库,重置所有密码(SSH、数据库、FTP)。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图