VPS折腾笔记

年初买了个vps,打算折腾个xray服务器,买了三个月来练手

设置禁用root登录,然后改端口加密钥登录
现在新版宝塔暂时没办法绕过绑定手机,我又懒得折腾旧版宝塔或者用其他面板啥的,所以干脆不用了
2022-09-28更新:我认为这类管理页面并不安全,而且宝塔确实有漏洞隐患,考虑到服务器性能和安全性,不会再使用宝塔这类管理工具了
nginx设置一个静态站,然后使用websocket代理xray端口

服务器配置

更换源到清华源,更新所有软件,安装云服务系统,再安装bbr,最后将最新版nginx的源添加进去

服务器安全

我很喜欢debian这样简洁干净的系统,所以使用debian11
ssh设置密钥加密+密码登录+google二次认证,防火墙使用ufw,设置web端口和ssh仅允许自己的IP访问

下载libpam-google-authenticator(debian11)
先在/etc/pam.d/sshd第一行写入auth required pam_google_authenticator.so
然后在sshd_config中写入AuthenticationMethods “publickey,keyboard-interactive”

设置日志和web页面的RWX权限到刚刚好允许访问为止
网上总是有扫描器,占用服务器的资源,考虑要不要设计一个banip的逻辑。

申请证书

最开始是用的acme.sh申请的证书,泛解析证书需要dns的api

export CF_Token="sdfsdfsdfljlbjkljlkjsdfoiwje"
export CF_Account_ID="xxxxxxxxxxxxx"
export CF_Zone_ID="xxxxxxxxxxxxx"
acme.sh --dns dns_cf --server letsencrypt --issue -d example.com -d *.example.com --keylength ec-256

如果不使用dns,直接申请即可,记得定时更新证书,并将证书安装给nginx和xray

配置nginx

设置强制https和HSTS,使用强加密,不使用RC4、MD5、DES,启动nginx,如果使用上方的证书申请方式,证书就不是sni.cloudflaressl.com的一年泛解析证书,如果不想使用dns,可以改为使用国内服务器转发的方式,nginx的stream中设置proxy_pass即可,有时间还要给转发服务器再配个证书

配置xray

wget https://github.com/XTLS/Xray-install/raw/main/install-release.sh
sudo bash install-release.sh

配置xray dns为1.1.1.1,设置分流来屏蔽广告和拒绝访问国内网站,tls+ws入站,因为ws不支持xtls
之后配置Xray的日志文件,原本使用了随机用户启动服务,但是无法写入日志,所以新建了一个xray的用户,仅能使用xray和写日志
这次启动xray后可以正常使用了,看来没白折腾…