vps折腾记三vps的基础防护

发布时间 2023-08-05 16:25:24作者: monkey6

1.更新软件

保持软件最新可以防止旧软件的漏洞,保证系统更加安全

# 列出可更新的软件
yum check-update
# 更新所有可更新的软件
yum update

2.ROOT修改强密码

非法分子会自动扫描IP地址,SSH的默认端口是22,用户肯定有root,所以只有密码是非法分子不知道,保持强密码可以防止暴力破解

随机密码生成器,也可以使用VPS服务商提供的密码

# 修改root的密码
passwd

3.修改SSH端口

关闭selinux

vi /etc/selinux/config
#########################
SELINUX=enforcing
# 修改为
SELINUX=disabled
#########################
reboot

修改端口

vi /etc/ssh/sshd_config
########################
#Port 22
# 修改为
Port 12345

防火墙开放12345端口

# 打开12345端口
firewall-cmd --zone=public --add-port=12345/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload

4.Root禁止登陆

# 新建用户并设置密码,密码可以用上面的网址
useradd vpsadmin
passwd vpsadmin
# 普通用户赋予sudo
visudo
#########################################
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
vpsadmin        ALL=(ALL)       NOPASSWD:ALL
#########################################
# 禁登root
vi /etc/ssh/sshd_config
#########################################
PermitRootLogin yes
# 修改为
PermitRootLogin no
###########################################
systemctl restart sshd

5.配置免密登陆、

5.1.生成密钥对并上传公钥

终极大招,禁用密码登陆,直接免密登陆

我使用的是mobxterm,新建连接,选择shell,点击OK

image-20230327213439507

# 生成密钥对
ssh-keygen -t rsa -b 4096 -C "myvps"

输入上面的命令后,一路回车,在windows下C:\Users\${yourname}\AppData\Roaming\MobaXterm\home\.ssh下会生成密钥对

# 将公钥上传到服务器,-p后面是你修改的SSH端口
ssh-copy-id -i .ssh/id_rsa.pub -p 12345 vpsadmin@xxx.xxx.xxx.xxx

登陆服务器,查看在用户家目录下是否有.ssh/authorized_keys文件

以后进入,在shell里面输入即可直接进入服务器

ssh -p 12345 vpsadmin@xxx.xxx.xxx.xxx

5.2.禁用密码登陆

sudo vi /etc/ssh/sshd_config
################################
#PasswordAuthentication yes
# 修改为
PasswordAuthentication no
################################
sudo systemctl restart sshd

6.Centos7防火墙基础操作

# 查看开放了哪些端口和服务
firewall-cmd --list-all
# 查看开放了那些端口
firewall-cmd --zone=public --list-ports
# 开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 删除开放的端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 查看开放了那些服务
firewall-cmd --zone=public --list-services
# 开放服务
firewall-cmd --zone=work --add-service=smtp
# 删除开放的服务
firewall-cmd --zone=work --remove-service=smtp
# 重新加载防火墙
firewall-cmd --reload
# 
firewall-cmd --get-zones