大家好。欢迎来到marco的YouTube频道。本期视频,主要跟大家分享xray小小白话文中,安全防护篇的内容。从上次xray的作者要求xray的代理面板禁用代理面板的明文http事件后,我觉得我们应该对翻墙的网络安全加重视。本期视频主要讲解小小白白话文中安全篇章中的内容。其实,这个文档发布很久了。但是,目前,油管上很多的教学视频,都只是演示通过root登录,然后,用一键脚本或者代理面板之类的搭建一下节点就完事。包括,我自己很多视频,也是这样演示的。安全方面的一些设置,一直都是被我们给忽视的。我觉得这一块应该引起我们的重视。
小小白话文:https://xtls.github.io/document/level-0/ch04-security.html
git下载安装:https://git-scm.com/downloads
为什么,要做安全的防护
简单,如果,通过默认的root和密码方式以及端口号登录,vps容易被别人给攻破,具体的危害可以看这里的内容,这里,我就不细讲了。
步骤
【端口】:将 SSH 远程登录端口修改为【非 22 端口】 (4.4)
【用户名】:建立【非 root】的新用户、并禁用 root 用户 SSH 远程登录 (4.5、4.6)
【密码】:SSH 启用 RSA 密钥验证登录、同时禁用密码验证登录 (4.7)
使用RSA秘钥登录,禁用密码登录。
将ssh端口修改为非22端口
进入etc/ssh目录下,修改sshd_config文件
cd /etc/ssh
修改端口
保存
由于,我这一台vps的是没有安装ufw防火墙,所以,我这里安装一下。
安装ufw
apt install ufw
常用命令
ufw enable
sudo ufw default deny #关闭所有端口的外部访问,要用对外开放,哪个端口,就放行对需要的端口即可
sudo ufw allow ssh #开放ssh端口(22端口)
放行指定端口
sudo ufw allow 端口号 #端口号改成自己需要开发的端口
放行1111端口
sudo ufw allow 1111/tcp
重启ssh服务,让刚才的更改生效
systemctl restart ssh
建立非root用户
新增用户并设置密码
adduser vpsadmin
再输入一遍密码
安装sudo, sudo命令可以让普通用户临时获得用户权限,普通用户可以通过载明了前面加上sudo来执行一些root用户才能执行的命令
apt update && apt install sudo
将添加的普通用户加入,sudo名单里面,让它有使用sudo的资格
visudo
在 User Privilege Specification
下加入一行 vpsadmin ALL=(ALL) NOPASSWD: ALL
即可。
禁用root远程登录
重启 ssh 服务
systemctl restart ssh
使用普通用户登录
使用秘钥登录
生成秘钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
设置秘钥保存的文件路径
找一个文件夹,复制一下文件夹的路径,
你的目录路径\id_rsa
在VPS 并新建文件夹,起名.ssh
(注意有一个.
)
mkdir -p ~/.ssh
将公钥文件上传到.ssh目录下
把公钥写入到authorized_keys里面
cat id_rsa.pub >> ~/.ssh/authorized_keys
修改
authorized_keys
文件权限为600
(仅所有者可读可写)chmod 600 ~/.ssh/authorized_keys
修改 SSH 配置。我们变成了普通用户
vpsadmin
,此时的我们是没有权限直接编辑 SSH 配置的。这时候就需要使用sudo
命令了:sudo vi /etc/ssh/sshd_config
找到
PasswordAuthentication
改成no
找到
PubkeyAuthentication
改成yes
,然后保存(ctrl+o
)退出(ctrl+x
)重启 SSH 服务。(啰嗦君:别忘了现在需要使用
sudo
来获得权限)sudo systemctl restart ssh
评论
发表评论