本文章已收录至本站专栏
服务器安全系列
0、前言
去年三月,腾讯云的轻量应用服务器推出了一个免费升配的活动,其中1核2G能升级2核4G。正好腾讯云校园活动就有1核2G的套餐,我就直接下单了4年。
腾讯云校园活动:
https://curl.qcloud.com/suZnC2jW
众所周知,各大厂的活动服务器都是中国大陆的。为了满足国际联网的需求,我又租了一台中国香港的服务器。
腾讯云新客福利:
https://curl.qcloud.com/zmbe5X1i
但是一台中国香港服务器最低配置每个月也要24元,只用来国际联网未免太奢侈了。除了建镜像站,我又使用这台服务器反代已实现免备案。后来觉得这样更好,就干脆用这两台服务器实现了内外网访问。
1、内网服务器配置
由于租户网络隔离以及相关VPC配置,即便是同账号不同地域的服务器也无法实现内网互通,内外网服务器的通信只能走公网。
因此,需要对内网服务器进行以下配置:
- 宝塔面板安全防御
- 端口开放、关闭配置
- 本地DNS服务器配置
1.1、宝塔面板安全防御
上一篇文章已经详细说明,这里不再赘述。
参考文章:
《服务器安全(一)宝塔面板防御》
https://blog.tsinbei.com/tw/archives/125/
1.2、端口配置
注意:由于Docker部分配置会与firewalld冲突,这里建议将firewalld中配置为开放全部TCP、全部UDP,在服务器控制台配置防火墙规则!
服务器Firewalld配置:
服务器控制台配置:
说明:
- 开放登录端口:开放宝塔登录端口、phpMyAdmin端口、SSH端口(注意:SSH端口不要使用默认端口!)
- 开放全部TCP:对指定IP(外网服务器)开放所有IP,方便后续配置
- 开放数据传输端口:搭建了Frp Server,需要该端口段传输数据
- 开放邮件端口:搭建了邮件服务
配置后端口扫描结果:
其中2000、5060端口无法关闭,可以忽略。
1.3、本地DNS服务器配置
1.3.1、安装Dnsmasq
使用脚本安装Dnsmasq:
1 | yum install -y dnsmasq systemctl start dnsmasq |
1.3.2、配置Dnsmasq
在
/etc/dnsmasq.conf
编辑Dnsmasq配置:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
在
/etc/dnsmasq.d/address.conf
编辑泛解析配置:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
将*.tsinbei.com解析到本地。
使用
1 | systemctl restart dnsmasq |
重启Dnsmasq使配置生效。
1.3.3、修改本地DNS服务器
在
/etc/resolv.conf
最顶部添加DNS服务器127.0.0.1:
1 | ; generated by /usr/sbin/dhclient-script nameserver 127.0.0.1 nameserver 183.60.83.19 nameserver 183.60.82.98 |
2、外网服务器配置
外网服务器为了防止入侵,同样需要进行安全配置。
- 反向代理
- 端口配置
- 本地DNS服务器配置
2.1、反向代理
以宝塔面板为例。
开心版安装、使用参考文章:
安装宝塔7.7.0企业版教程:
https://blog.tsinbei.com/tw/archives/7/安装宝塔7.9.0企业版
https://blog.tsinbei.com/tw/archives/293/
注意:有能力请务必支持一下正版!
在外网服务器的宝塔面板绑定和内网服务器相同的域名。
并使用相同域名配置反向代理:
2.2、端口配置
如果没有邮件等其他服务的需要,可以只开启80和443端口。
同样在Firewalld中开放全部端口,在控制台开启80和443。
端口扫描结果:
2.3、本地DNS服务器配置
安装部分参考第一节,区别是在
/etc/dnsmasq.d/address.conf
中将域名解析到内网服务器的公网IP。
1 | address=/tsinbei.com/x.x.x.x address=/xxx.xxx/x.x.x.x |
说明:很多教程都是直接在/etc/dnsmasq.conf中配置,亲测这样只能添加一个域名。如果需要配置多个域名,就只能在address.conf中配置。
3、域名解析配置
将域名全部解析至外网服务器的IP即可完成配置。
4、小结
其实本地DNS部分也可以使用腾讯云的PrivateDNS私有域解析实现。使用上述方法会导致验证SSL时本地验证失败,不过不会影响证书申请。
腾讯云 Private DNS 购买地址
https://cloud.tencent.com/product/privatedns
使用内外网服务器配置成本较高,会导致日常使用产生一些麻烦,但是在服务器安全上的提升是效果显著的。因此这部分可以根据预算和个人习惯酌情配置。
服务器安全(二)内外网防御
评论