Linux之账号安全的基本配置

拿到一个新服务器(VPS),如何安全的使用它?Linux服务器的安全是需要从多个方面下手的,包括服务器的基础安全配置,防火墙规则,所用软件本身的安全配置,今天我来分享一下我的关于Linux服务器账号安全基本配置的一些知识。

替换root账户

避免直接使用root账户,新建其他用户来替代root账户管理服务器。拿到服务器后,先使用root
账户和密码登录。

新建非root用户并授予sudo权限:

# 新建用户和同名组并创建home目录
useradd -m -U myuser
cat /etc/group
cat /etc/passwd
# 设置密码
passwd myuser
# 授予用户sudo权限
chmod -v u+w /etc/sudoers
vim /etc/sudoers
# 已有行
# root    ALL=(ALL)       ALL
# 添加行
# myuser    ALL=(ALL)       ALL
chmod -v u-w /etc/sudoers

为新用户配置SSH登录

mkdir /home/myuser/.ssh
touch /home/myuser/.ssh/authorized_keys
chown -R myuser:myuser /home/myuser/.ssh
# 添加登录主机公钥到authorized_keys
vim /home/myuser/.ssh/authorized_keys

这样就为系统准备好了一个可以替换root用户拥有sudo权限管理账户了。

更换SSH默认的22端口

# 更改SSH端口
vim /etc/ssh/sshd_config
# Port 22 注释打开,下面增加 Port 19822
service sshd restart
# 防火墙开启19822端口
# centos7 firewall
firewall-cmd --zone=public --add-port=19822/tcp --permanent
firewall-cmd --reload
# centos6 iptables
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 19822 -j ACCEPT
service iptables restart

这里要注意,修改22端口时候,不要直接换了,添加新端口后先留着22端口,防止你重启服务后,新端口防火墙配置没生效,就无法登录服务器了,等你确认新端口可以登录了再删除Port 22,重启一下sshd服务就好了。

关闭密码登录

避免简单的root密码泄露或者被破解后密码最直接登录root用户,这个是很有必要的。

不允许密码登录

# 修改配置
vim /etc/ssh/sshd_config
# PasswordAuthentication no 不允许使用密码登录
service sshd restart

限制root用户

同样是上面的配置文件,将PermitRootLogin修改为下面其中一项就行。

# PermitRootLogin no 不允许root登录
# PermitRootLogin without-password 不允许root使用密码登录
service sshd restart

到这里,就可以使用配置好的SSH新端口登录,并使新建的非root用户myuser来管理你的服务器了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注