新入手的VPS的安全配置

in Tutorials with 0 comment

一般情况下,如果不配置ssh密钥登录的话,ssh密钥配置教程可以查看《配置SSH密钥登录CentOS》,需要进行下面的配置,当然这个教程也是针对CentOS的,针对新入手的VPS,这也是教程来历,朋友新入一个VPS,简单写点教程给他看。下面就开始配置···

一般地,我们使用的是默认账户root登陆执行操作的,但是root用户权限太大,所以我们要做一些相应的安全设置。

新建一个用于登陆的帐户

新建一个用户demo

useradd demo

设置密码

passwd demo

将账号加入wheel用户组

usermod -G wheel demo

设置这个组的账号

只允许这个组的账号使用su命令切换到root用户

vi /etc/pam.d/su

找到

#auth required pam_wheel.so use_uid

去掉行首的注释符 # 然后使用 :wq 保存退出

接着

vi /etc/login.defs

在最末添加

SU_WHEEL_ONLY yes

再用:wq保存退出即可

或者用下面命令代替上面的两个步骤也可以

echo "SU_WHEEL_ONLY yes">>/etc/login.defs

现在,再建立新的普通帐号,是无法使用su命令切换到root组

删除掉不需要的用户和用户组

userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers

锁定口令文件

chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

然后就轮到ssh安全设置了

ssh安全设置

打开ssh配置文件

vi /etc/ssh/sshd_config

修改默认登陆端口

查找

#Port 22

把行首的 # 去掉并修改后面的数值

PS:端口数值建议1024-65535之间,不要和其他端口起冲突。

禁root用户通过ssh登陆

找到

#PermitRootLogin yes

把行首的 # 去掉,并修改为如下

PermitRootLogin no

禁止空密码登陆

找到

#PermitEmptyPasswords no

把 # 去掉,:wq 保存退出

最后重启SSH服务

CentOS 6.x:

service sshd restart

CentOS 7.x:

systemctl restart sshd

服务器响应的安全设置已经基本设置完成,其实如果设置一个强密码,并保护好自己的ip防止泄漏,这些都是可以不用做的。

上面我们用到了wheel组,下面就是关于它的一些阅读拓展

Linux 中的 wheel 组和 staff 组

wheel 组的概念

wheel 组的概念继承自 UNIX。当服务器需要进行一些日常系统管理员无法执行的高级维护时,往往就要用到 root 权限;而“wheel” 组就是一个包含这些特殊权限的用户池;也就是说,如果你不是“wheel”组的成员,就无法取得 root 权限进行一些特权的操作;

为什么需要 wheel 组

通常在UNIX下,即使我们是系统的管理员,也不推荐用 root 用户登录来进行系统管理。一般情况下用普通用户登录,在需要 root 权限执行一些操作时,再 su 登录成为 root 用户。但是,任何人只要知道了 root 的密码,就都可以通过 su 命令来登录为 root 用户——这无疑为系统带来了安全隐患。所以,将普通用户加入到 wheel 组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别——就像警察下班后,没有带枪、穿这便衣和普通人(用户)一样,虽然他的的确确是警察。

知识延展:staff 和 wheel 的区别

下面是一段关于staff 和 wheel 区别的解释,原文来自http://forums.macnn.com/90/mac-os-x/108958/group-permissions-wheel-vs-staff-whats/

The wheel group is used to control those people that can su to the root user (though this is made irrelevant by the sudo command).

All of the users on your system will be in the staff group, so by changing group ownership of files to staff the group permissions will apply to all users. All of the administrators on your system will be in the wheel group, so by changing group ownership of the files to wheel group permissions will apply to all of the administrators, global permissions will apply to any other users.

My advice is that, except for files that you have created, you leave the group ownership and permissions alone. Unix is very particular about file ownership and permissions in certain areas and changing them only leads to trouble.

大概就这样。

Responses