hqbsh.com 运行时间
HQBSH.com的whois记录显示注册于2013年1月18日,至今已经持续运营了:0年0个月0天零0小时0分钟0秒

最新报价
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 21|回复: 0

服务器安全配置完全指南:从入门到精通

[复制链接]

5

主题

1

回帖

5

银子

超级版主

积分
112
发表于 2026-2-8 09:47 | 显示全部楼层 |阅读模式
本帖最后由 dctc_青龙 于 2026-2-8 09:52 编辑

服务器安全配置完全指南:从入门到精通

> 作者:dctc_青龙
> 2026-02-08

---

== 一、前言:为什么安全很重要? ==

服务器暴露在互联网中,每天都在遭受各种攻击:

- **暴力破解**:尝试弱密码登录
- **端口扫描**:寻找开放端口
- **DDoS攻击**:耗尽系统资源
- **恶意注入**:通过漏洞植入木马

本文将介绍 Linux 服务器的基本安全配置,让你的服务器更安全。

---

== 二、SSH 安全配置 ==

- 1. 禁用密码登录,使用密钥认证

1. 在本地生成SSH密钥(如果还没有)
ssh-keygen -t ed25519 -C "your_email@example.com"

2. 将公钥上传到服务器
ssh-copy-id user@你的服务器IP

3. 编辑SSH配置文件
sudo vim /etc/ssh/sshd_config

4. 添加/修改以下配置
PasswordAuthentication no    # 禁用密码登录
PubkeyAuthentication yes     # 启用公钥登录
PermitRootLogin no           # 禁止root直接登录(可选)

5. 重启SSH服务
sudo systemctl restart sshd


- 2. 更换SSH默认端口

编辑配置文件
sudo vim /etc/ssh/sshd_config

将 Port 22 改为其他端口(如 2222)
Port 2222

重启服务
sudo systemctl restart sshd


- 3. 配置防火墙只允许必要端口

使用UFW防火墙(Ubuntu/Debian)
sudo apt install ufw

设置默认策略
sudo ufw default deny incoming   # 拒绝所有入站
sudo ufw default allow outgoing  # 允许所有出站

只开放必要端口
sudo ufw allow ssh               # 你的SSH端口
sudo ufw allow 80/tcp            # HTTP
sudo ufw allow 443/tcp           # HTTPS

启用防火墙
sudo ufw enable

查看状态
sudo ufw status verbose


---

== 三、防火墙配置 ==

- 1. 使用 iptables 基础防护

允许已建立的连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许本地回环
sudo iptables -A INPUT -i lo -j ACCEPT

允许SSH(替换为你的端口)
sudo iptables -A INPUT -p tcp --dport 你的SSH端口 -j ACCEPT

限制SSH连接频率(防止暴力破解)
sudo iptables -A INPUT -p tcp --dport 你的SSH端口 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 你的SSH端口 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

禁止ping(可选)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

保存规则
sudo apt install iptables-persistent
sudo netfilter-persistent save


- 2. 使用 fail2ban 自动封禁

安装fail2ban
sudo apt install fail2ban

配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vim /etc/fail2ban/jail.local

SSH防护配置
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

启动服务
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

查看状态
sudo fail2ban-client status


---

== 四、用户权限管理 ==

- 1. 创建有限权限用户

创建新用户
sudo adduser deploy

添加到sudo组(需要时输入密码)
sudo usermod -aG sudo deploy

或者添加只读权限
sudo usermod -aG readonly deploy


- 2. 配置sudo免密码(谨慎使用)

编辑sudoers文件
sudo visudo

添加以下内容(允许deploy用户无密码执行特定命令)
deploy ALL=(ALL) NOPASSWD: /usr/bin/docker, /usr/bin/docker-compose


- 3. 定期检查异常用户

查看登录历史
last

查看当前登录用户
who

查看所有用户
cat /etc/passwd

查看sudo组成员
getent group sudo


---

== 五、DNS 安全配置 ==

- 1. 使用安全DNS

编辑DNS配置
sudo vim /etc/resolv.conf

添加可靠的DNS服务器
nameserver 114.114.114.114  # 114DNS
nameserver 8.8.8.8          # Google DNS
nameserver 1.1.1.1          # Cloudflare DNS


- 2. 防止DNS污染

安装dnsmasq(可选)
sudo apt install dnsmasq

配置本地DNS缓存
sudo vim /etc/dnsmasq.conf
添加:cache-size=1000


---

== 六、证书与加密 ==

- 1. 使用Let's Encrypt免费证书

安装certbot
sudo apt install certbot python3-certbot-nginx

获取证书
sudo certbot --nginx -d 你的域名

自动续期测试
sudo certbot renew --dry-run


- 2. 配置HTTPS强制跳转

Nginx配置示例
server {
    listen 80;
    server_name 你的域名;
    return 301 https://你的域名;
}

server {
    listen 443 ssl;
    server_name 你的域名;
   
    ssl_certificate /etc/letsencrypt/live你的域名/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live你的域名/privkey.pem;
   
    # SSL安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;
   
    # 其他配置...
}


---

== 七、监控系统配置 ==

- 1. 安装日志监控

安装auditd
sudo apt install auditd

查看登录日志
sudo ausearch -m LOGIN

配置监控规则
sudo vim /etc/audit/audit.rules
添加:-w /etc/passwd -p wa -k identity
添加:-w /etc/shadow -p wa -k identity


- 2. 配置系统监控

安装netdata(可视化监控)
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

或使用htop查看实时状态
sudo apt install htop
htop


- 3. 设置告警

使用systemd监控服务
sudo vim /etc/systemd/system/server-monitor.service

[Unit]
Description=Server Monitor

[Service]
Type=simple
ExecStart=/usr/local/bin/monitor.sh
Restart=always

[Install]
WantedBy=multi-user.target


---

== 八、安全更新与备份 ==

- 1. 自动安全更新

安装unattended-upgrades
sudo apt install unattended-upgrades

配置自动更新
sudo dpkg-reconfigure -plow unattended-upgrades


- 2. 配置自动备份

创建备份脚本
sudo vim /backup.sh

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=/backup
mkdir -p

备份重要配置
tar -czf /config_.tar.gz /etc/

备份数据(示例)
mysqldump -u root -p数据库密码 数据库名 | gzip > /db_.sql.gz

清理旧备份(保留30天)
find  -name "*.tar.gz" -mtime +30 -delete

echo "Backup completed: "


- 3. 设置定时任务

编辑crontab
crontab -e

添加:每天凌晨2点执行备份
0 2 * * * /backup.sh

添加:每周日凌晨3点执行系统更新
0 3 * * 0 sudo apt update && sudo apt upgrade -y


---

== 九、Docker 安全配置 ==

- 1. 配置Docker daemon安全选项

编辑Docker配置
sudo vim /etc/docker/daemon.json

{
  "icc": false,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "userns-remap": "default",
  "no-new-privileges": true
}

重启Docker
sudo systemctl restart docker


- 2. 以非root用户运行Docker

创建docker组(如果不存在)
sudo groupadd docker

将用户添加到docker组
sudo usermod -aG docker

重新登录生效
newgrp docker


- 3. 容器安全建议

Dockerfile 安全最佳实践

使用非root用户
FROM ubuntu:22.04
RUN groupadd -r appgroup && useradd -r -g appgroup appuser
USER appuser

不以root运行
CMD ["su-exec", "appuser", "python", "app.py"]

设置只读文件系统(如果可能)
securityOpt:
  - read-only:true


---

== 十、AI 服务安全配置(OpenClaw示例) ==

- 1. 配置访问白名单

{
  "security": {
    "allowedHosts": ["localhost", "你的内网IP段"],
    "allowedChannels": ["telegram", "whatsapp"],
    "maxMessageLength": 4096,
    "rateLimit": {
      "windowMs": 60000,
      "maxRequests": 60
    }
  }
}


- 2. API Key安全管理

使用环境变量(不要写在配置文件中)
export OPENAI_API_KEY="你的API密钥"

或使用密钥管理服务
- HashiCorp Vault
- AWS Secrets Manager
- 1Password CLI


- 3. 部署架构安全建议

互联网
   │
   ▼
┌─────────────────────────────────┐
│  反向代理(Nginx/Caddy)         │
│  - HTTPS终结                    │
│  - 基础认证                     │
│  - 速率限制                     │
└─────────────────────────────────┘
   │
   ▼
┌─────────────────────────────────┐
│  应用服务(OpenClaw)            │
│  - 监听内网                     │
│  - API Key加密存储               │
│  - 请求验证                     │
└─────────────────────────────────┘
   │
   ▼
┌─────────────────────────────────┐
│  本地服务(Ollama/数据库)        │
│  - 只监听127.0.0.1              │
│  - 无公网暴露                   │
└─────────────────────────────────┘


---

== 十一、常见问题排查 ==

- Q1: SSH连接被拒绝

**检查**:
查看SSH服务状态
sudo systemctl status sshd

查看端口是否开放
sudo ss -tlnp | grep ssh

查看防火墙规则
sudo ufw status


- Q2: 端口无法访问

**解决**:
检查服务是否运行
sudo netstat -tlnp | grep 你的端口

检查防火墙
sudo iptables -L -n

检查云服务商安全组(如果是云服务器)


- Q3: 发现异常登录

**处理**:
查看登录日志
sudo last

查看失败登录尝试
sudo lastb

查看系统日志
sudo tail -f /var/log/auth.log

如果发现攻击IP,立即封禁
sudo ufw deny from 攻击IP


---

== 十二、总结 ==

- 安全配置检查清单

| 配置项 | 状态 |
|--------|------|
| SSH密钥登录 | ⬜ |
| SSH端口更换 | ⬜ |
| 防火墙配置 | ⬜ |
| Fail2ban安装 | ⬜ |
| 非root用户 | ⬜ |
| 自动更新 | ⬜ |
| 定期备份 | ⬜ |
| HTTPS配置 | ⬜ |
| 监控告警 | ⬜ |

- 推荐资源

- SSH 安全配置指南:https://www.ssh.com/academy/ssh/sshd_config
- Linux 服务器安全:https://www.linuxfoundation.org/blog/blog/classic-sysadmin-series-of-posts-on-linux-server-security
- Docker 安全:https://docs.docker.com/engine/security/

---

**安全无小事,定期检查是关键!**

有问题欢迎在评论区交流。

---

*原文链接:https://www.hqbsh.com/thread-95605-1-1.html*

---

== 十三、高级安全配置 ==

- 1. 系统入侵检测

安装AIDE(高级入侵检测环境)
sudo apt install aide

初始化数据库
sudo aideinit

手动检查
sudo aidecheck

设置定时检查
crontab -e
添加:0 3 * * * /usr/bin/aidecheck && /usr/bin/aide --update


- 2. 文件完整性监控

使用Tripwire
sudo apt install tripwire

初始化
sudo twadmin --create-polfile /etc/tripwire/tw.pol

初始化数据库
sudo tripwire --init

检查完整性
sudo tripwire --check


- 3. 网络流量监控

安装ntopng
sudo apt install ntopng

启动服务
sudo systemctl enable ntopng
sudo systemctl start ntopng

访问Web界面
http://你的服务器IP:3000


---

== 十四、安全加固脚本 ==

#!/bin/bash
服务器安全加固脚本

echo "开始安全加固..."

1. 更新系统
sudo apt update && sudo apt upgrade -y

2. 安装必要工具
sudo apt install -y fail2ban ufw auditd

3. 配置防火墙
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

4. 配置fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

5. 禁用root登录(谨慎)
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

6. 配置自动更新
echo 'APT:eriodic::Update-Package-Lists "1";
APT:eriodic:ownload-Upgradeable-Packages "1";
APT:eriodic::AutocleanInterval "7";
APT:eriodic::Unattended-Upgrade "1";' | sudo tee /etc/apt/apt.conf.d/10periodic

echo "安全加固完成!"
echo "建议后续手动配置SSH密钥登录"


---

== 十五、性能优化与安全平衡 ==

- 安全配置对性能的影响

| 配置 | 性能影响 | 安全收益 |
|------|---------|---------|
| 防火墙规则 | 极低 | 高 |
| Fail2ban | 低 | 高 |
| 文件加密 | 中 | 高 |
| 完整审计日志 | 中 | 高 |
| 多层防护 | 中高 | 极高 |

- 建议配置策略

小型网站/个人服务器:
├── SSH密钥 + 防火墙 + Fail2ban
├── 自动更新 + 日志监控
└── 每周安全检查

中型网站/团队服务:
├── 以上全部
├── 文件完整性监控
├── 入侵检测
└── 每日安全报告

生产环境/企业服务:
├── 以上全部
├── Web应用防火墙(WAF)
├── DDoS防护
├── SIEM日志分析
└── 安全审计团队


---

== 十六、参考文献与延伸阅读 ==

- 官方文档

- SSH官方文档:https://www.ssh.com/ssh/
- Fail2ban文档:https://www.fail2ban.org/
- UFW文档:https://help.ubuntu.com/community/UFW
- Docker安全指南:https://docs.docker.com/engine/security/

- 推荐工具

| 工具 | 用途 |
|------|------|
| ClamAV | 病毒扫描 |
| RKHoot | Rootkit检测 |
| Lynis | 安全审计 |
| OSSEC | 主机入侵检测 |

- 学习资源

- OWASP安全指南:https://owasp.org/
- CIS Benchmarks:https://www.cisecurity.org/cis-benchmarks
- Linux安全手册:https://www.linux.com/learn/understanding-linux-security

---

== 十七、附录:快速参考 ==

- 常用命令速查

系统信息
uname -a                    # 查看系统信息
whoami                      # 当前用户
last                        # 登录历史

用户管理
id                          # 用户ID和组
w                           # 当前在线用户
lastlog                     # 最后登录时间

网络安全
netstat -tlnp               # 查看监听端口
ss -s                       # 连接统计
iftop                       # 流量监控

系统资源
top                         # 进程监控
htop                        # 增强版top
iotop                       # IO监控

日志查看
tail -f /var/log/auth.log   # 认证日志
journalctl -f               # systemd日志
dmesg | tail                # 内核日志


- 端口参考

| 端口 | 服务 | 建议 |
|------|------|------|
| 22 | SSH | 更换端口或限制IP |
| 80 | HTTP | 仅内部或配合HTTPS |
| 443 | HTTPS | 开放 |
| 3306 | MySQL | 仅本地或内网 |
| 5432 | PostgreSQL | 仅本地或内网 |
| 6379 | Redis | 仅本地或内网 |
| 11434 | Ollama | 仅本地或内网 |

---

**安全配置是持续过程,不是一次性工作。**

建议每月进行一次安全检查,每季度进行一次完整审计。

---

*原文链接:https://www.hqbsh.com/thread-95605-1-1.html*
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
加好友78950405
QQ臨時會話
華強北商行笔记本,手機
淘宝阿里旺旺
沟通交流群:
水货thinkpad笔记本
工作时间:
11:00-22:00
电话:
18938079527
微信联系我们

QQ|手机版|华强北商行 ( 粤ICP备17062346号 )

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

|网站地图 手机端 公司简介 联系方式 版权所有@

GMT+8, 2026-2-9 06:09 , Processed in 0.048769 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表