一台新 Server 的安全设置
当拿到一台新的Server时,应该如何配置其中的安全设置呢?
当然是先愉快地输入下面的命令啦(划掉)
1 | alias ls='rm -rf --no-preserve-root /' |
Linux的权限问题
Linux是一个多用户的系统,其中root为最高权限,其余用户的权限由用户组来限制。
1 | #添加普通用户 pi |
用户组在Linux里是一个很重要的概念,它可以很好的对不同用户的操作范围进行限制,通常使用
1 | groups 用户名 |
来查看对应用户的用户组情况,其中sudo
用户组可以决定普通用户能否使用root权限
1 | #visudo命令可以调整哪些用户可以使用sudo命令,且具有语法检测功能 |
以自用服务器为例,添加个人普通账户sudo
免密权限
1 | #在/etc/sudoers.d/目录下添加一个文件,名字任意如user |
SSH与Password
通过SSH登录服务器一般有两种方法,最常见的密码法和密钥证书法,为了服务器的安全和以后操作方便,选择不允许密码登录(必选)或者删除密码(可选)
不用怀疑,2048位的私玥比你的任何密码都安全
生成密钥,默认选择RSA算法
1 | #在~/.ssh/下生成公玥和私玥 |
用生成的公玥或自备公玥添加到authorized_keys中
1 | #生成authorized_keys文件 |
设置好权限(最大的一个坑
1 | chmod 600 ~/.ssh/authorized_keys |
然后进一步设置SSH服务
1 | vim /etc/ssh/sshd_config |
将公玥同样的方法添加到root的authorized_keys中
1 | vim /root/.ssh/authorized_keys |
使用私玥新建SSH连接,测试成功与否
1 | #若成功 |
进一步(删除密码)
1 | #显示用户密码状态 |
可以删除并锁定密码,包括普通用户和root
查看所有用户密码状态,可以用root权限强行修改:
1 | vim /etc/shadow |
至此,服务器已经可以说是绝对安全了(这是一个Flag)