计算化学公社

 找回密码 Forget password
 注册 Register
Views: 327|回复 Reply: 3
打印 Print 上一主题 Last thread 下一主题 Next thread

[网络相关] 个人网站搭建过程中的配置心得体会

[复制链接 Copy URL]

96

帖子

2

威望

704

eV
积分
840

Level 4 (黑子)

最近因为某些原因,上Cloudflare怒买了一个域名。本来是有一些其他的用处的,但是最后还是突发奇想,搭建了自己的个人网站。
当然我不是想要讲诉前端react的构建。事实上我也不是很会使用react,大部分内容是AI完成的。我想要在帖子中记录的是我的安全配置过程。

首先,我们考虑到最简单也最难防护的网络攻击DDOS,既然买了Cloudflare的域名,免费的DDOS防护必须打开。橙云代理www和@的两个DNS记录。


第二,我的服务器默认状态,80和443端口全部打开。这很危险。万一通过某些请求,被绕过代理挖出源站IP,直接打到IPv4地址。网站服务器将处于一个绝对危险的状态。因此我利用代码查询了我的代理,也即Cloudflare的IP段。并为这些IP在nftables开放了白名单,只接受Cloudflare回源。
  1. curl https://www.cloudflare.com/ips-v4
  2. curl https://www.cloudflare.com/ips-v6
复制代码
然后:
  1. sudo nano /etc/nftables.conf
复制代码

写入:
  1. flush ruleset

  2. table inet filter {
  3.     set cloudflare_v4 {
  4.         type ipv4_addr
  5.         flags interval
  6.         elements = {
  7. 返回的IPv4地址
  8.         }
  9.     }

  10.     set cloudflare_v6 {
  11.         type ipv6_addr
  12.         flags interval
  13.         elements = {
  14. 返回的IPv6地址
  15.         }
  16.     }

  17.     chain input {
  18.         type filter hook input priority filter;
  19.         policy drop;

  20.         iif lo accept
  21.         ct state established,related accept

  22.         tcp dport 22 accept

  23.         ip saddr @cloudflare_v4 tcp dport {80, 443} accept
  24.         ip6 saddr @cloudflare_v6 tcp dport {80, 443} accept

  25.         ip protocol icmp accept
  26.         ip6 nexthdr ipv6-icmp accept
  27.     }

  28.     chain forward {
  29.         type filter hook forward priority filter;
  30.         policy drop;
  31.     }

  32.     chain output {
  33.         type filter hook output priority filter;
  34.         policy accept;
  35.     }
  36. }
复制代码
最后,考虑到即使已经通过 Cloudflare 与 nftables 将源站限制为仅接受 Cloudflare 回源请求,Web 服务直接暴露于公网监听端口仍然很危险。因此,我用 Nginx 作为前端反向代理,由 Nginx 对外监听 443,并将请求转发至监听于127.0.0.1:4372的静态站点服务。

一套小连招下来,网站应该比较安全了。虽然网站内容我还有很多留空没写,但这些安全防护的经验对我来说还是很重要的。自己记录一下,也给其他想建立个人博客的坛友做个参考。个人实有限,这套方案还有一些漏洞。但是我认为作为个人网站来说应当算相对完善了。


评分 Rate

参与人数
Participants 3
eV +9 收起 理由
Reason
DaMin32767 + 3 GJ!
星殇~浮梦 + 3
SharkYYX2025 + 3 牛!

查看全部评分 View all ratings

Superiora de inferioribus, inferiora de superioribus, prodigiorum operatio ex uno, quemadmodum omnia ex uno eodemque ducunt originem, una eademque consilii administratione.

33

帖子

0

威望

78

eV
积分
111

Level 2 能力者

2#
发表于 Post on 3 day ago | 只看该作者 Only view this author
🐂多谢分享

272

帖子

7

威望

2268

eV
积分
2680

Level 5 (御坂)

3#
发表于 Post on 3 day ago | 只看该作者 Only view this author
搭建个人网站使用 Notion 就行了,自己搭建非常麻烦,维护,加上各种管理,及其消耗精力

96

帖子

2

威望

704

eV
积分
840

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 3 day ago | 只看该作者 Only view this author
wxyhgk 发表于 2026-5-11 09:52
搭建个人网站使用 Notion 就行了,自己搭建非常麻烦,维护,加上各种管理,及其消耗精力

主要里面还有一些别的考量。我一开始买域名的目的并不是搭建网站来着。顺手弄个网站算是物尽其用。
Superiora de inferioribus, inferiora de superioribus, prodigiorum operatio ex uno, quemadmodum omnia ex uno eodemque ducunt originem, una eademque consilii administratione.

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-5-14 19:31 , Processed in 0.249922 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list