---
title: "记录一下服务器和网站的安全防护"
date: 2023-07-12T20:21:00+08:00
tags: []
---

## 宝塔

### 1. 软件

1. **Nginx防火墙：** 防止小型ddos和常见恶意攻击
2. **宝塔系统加固：** 阻止恶意程序运行
3. **系统防火墙：** 管理端口

### 2. 设置默认站点防止域名恶意解析

<details>
  <summary>修改默认站点</summary>

1. 在宝塔面板中添加一个不用的站点，域名随便写，而且不要解析到服务器IP，因为我们添加的这个站点没有任何实质性内容。用自己域名或任何域名都没关系（百度、谷歌域名都随便用）
2. 点击网站域名，在弹出的对话框中点击配置文件，在 `server_name` 下面，添加一行代码，代码内容如下：

   ```nginx
   return 500;
   ```

3. 找一份现成的 SSL证书密钥key 和证书(PEM格式)，要真实有效的那种，放到上面你添加的站点中。具体位置在宝塔面板 > 域名管理 > SSL > 其他证书中分别添加，然后保存。
   勾选"强制HTTPS"。
   找一份现成的 SSL证书密钥key 和证书(PEM格式)，放到上面你添加的站点中。我是使用的证书和密钥是：

   密钥(KEY):
   ```text
   -----BEGIN RSA PRIVATE KEY-----
   MIICXQIBAAKBgQDXyF6m81zOeoOPvfk6nGKtyfczRG6/yeSkcc+66vGvq0s8oB7V
   cCzLl1YcNsru3ixelPR2z1zvjKqa9/Aqh8+TvP1kGGbLD/mynjnj8l+0vVzZ+vnz
   AH0RN9fpqzlpHmFBHQzQ25AtIAH8pXOL1541YN0TNPRA3kHUCL0FH8CkwwIDAQAB
   AoGAQ4ejh6AV5VCWJ8AOZXdXsofIYzUBa+glNAmiNx8b8BwteZWq0KVAf56nBkFn
   lQXW4OrA7wXKUfW11rXNZaIHJePJXv1swkN9+Em18Hon6BrtcqnKAwzAbhok3SzY
   IVjI/zrgOABH6+ii77xCRBzI1itVPNN88DAUHC7PYLYiaaECQQD7PSoij37+kMc/
   wPeEkl9r3vzU0OrsCsjU8Ev714OaoL/SIuAh6nsiRh9rcbUrrpGSSzIcmsk9HMDa
   hXBNkNl5AkEA298yQvssaUc4tbEWxAVfd9DsHJdCdbXfgf9Dy5/tpCzYncY7T0du
   VVHqKu3jXWoMc5XlesiCOerU/DIlMM8dGwJBANQn7GLO5iC1xWvS2bF7oVSIMtzL
   pvW4jaszWBbNAPccc59RkA9T4LMqn/GtTZ4bhhYRpbl+BB21IC3nrNPzU5ECQG8T
   Ln0QDruQs2F2eR3F6RjKfr1i3LxCiQtPPZycypzp2vS5tDS0zVRk8XuGehoy/N9X
   lnqU2NURgU92tbsWpokCQQDdc9tU3B/OM/YfzUNwvOLmUVwrJX6PFSFsOn+XHrCC
   q9LcGEAHyzaf5GEWje84ee4rkv5oaZcwll3dg4IioBnC
   -----END RSA PRIVATE KEY-----
   ```

   证书(PEM格式):
   ```text
   -----BEGIN CERTIFICATE-----
   MIIBkjCB/AIJAI3bCYqa39hiMA0GCSqGSIb3DQEBBQUAMA0xCzAJBgNVBAYTAiAg
   MCAXDTE4MTEyNDA5MDMzOFoYDzIwOTkxMjMxMDkwMzM4WjANMQswCQYDVQQGEwIg
   IDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA18hepvNcznqDj735Opxircn3
   M0Ruv8nkpHHPuurxr6tLPKAe1XAsy5dWHDbK7t4sXpT0ds9c74yqmvfwKofPk7z9
   ZBhmyw/5sp454/JftL1c2fr58wB9ETfX6as5aR5hQR0M0NuQLSAB/KVzi9eeNWDd
   EzT0QN5B1Ai9BR/ApMMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBiqHZsuVP09ubT
   GzBSlAFEoqbM63sU51nwQpzkVObgGm9v9nnxS8Atid4be0THsz8nVjWcDym3Tydp
   lznrhoSrHyqAAlK3/WSMwyuPnDCNM5g1RdsV40TjZXk9/md8xWxGJ6n1MoBdlK8T
   H6h2ROkf59bb096TttB8lxXiT0uiDQ==
   -----END CERTIFICATE-----
   -----BEGIN CERTIFICATE-----
   MIIBkjCB/AIJAI3bCYqa39hiMA0GCSqGSIb3DQEBBQUAMA0xCzAJBgNVBAYTAiAg
   MCAXDTE4MTEyNDA5MDMzOFoYDzIwOTkxMjMxMDkwMzM4WjANMQswCQYDVQQGEwIg
   IDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA18hepvNcznqDj735Opxircn3
   M0Ruv8nkpHHPuurxr6tLPKAe1XAsy5dWHDbK7t4sXpT0ds9c74yqmvfwKofPk7z9
   ZBhmyw/5sp454/JftL1c2fr58wB9ETfX6as5aR5hQR0M0NuQLSAB/KVzi9eeNWDd
   EzT0QN5B1Ai9BR/ApMMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBiqHZsuVP09ubT
   GzBSlAFEoqbM63sU51nwQpzkVObgGm9v9nnxS8Atid4be0THsz8nVjWcDym3Tydp
   lznrhoSrHyqAAlK3/WSMwyuPnDCNM5g1RdsV40TjZXk9/md8xWxGJ6n1MoBdlK8T
   H6h2ROkf59bb096TttB8lxXiT0uiDQ==
   -----END CERTIFICATE-----
   ```
</details>

### 3. 使用密钥登陆

[post cid="439" /]

### 4. 端口设置

1. 删除非必要端口
2. 删除80端口，全部强制HTTPS，443端口只限定CDN的IP节点回源请求

[post cid="491" /]

3. 其他必要端口

    - 安全 - 系统防火墙 - 地区规则 - 添加地区规则
        - 地区：封海外（A），封海外（B）
        - 策略：屏蔽
        - 端口：指定端口
        - 指定端口：其他非必要端口

### 5. 开启系统加固所有选项

> 需要在异常进程监控里面填入docker项目的名字，如果被杀就填入再重启

### 6. 阻止海外恶意访问

- WAF - 全局设置 - 防CC攻击 - CC防御 - 设置规则
    - 模式：标准模式
    - 请求类型：ip
    - 地区人机验证：中国大陆以外的地区（包括港澳台）

## Cloudflare

### 1. 开启自动程序攻击模式

- 站点 - 安全性 - 自动程序

### 2. 提升安全级别

- 站点 - 安全性 - 设置 - 安全级别 -高

### 3. 阻止海外恶意访问

- 站点 - 安全性 - WAF - 自定义规则 - 创造规则
    - 名字：随便
    - 字段：国家/地区
    - 运算符：不等于
    - 值：China
    - 表达式预览（自动生成）：(ip.geoip.country ne "CN")
    - 选择操作：JS 质询

### 4. 完全加密

- 站点 - SSL/TLS - 概述 - 完全（严格）
