003-入手 VPS 后要做的几件事

入手 VPS 后要做的几件事

前几天新购买了一台小鸡,在首次使用时进行了一些配置上的修改,在这里与大家分享。按照本文章的操作,可以大大降低成为肉鸡的概率。

本文系统:Ubuntu 18.04

注:本文代码块前的 $ 代表在终端中的输入指令,复制时请勿输入!

修改 root 密码

如果你的 VPS 提供商的机子没有 root 密码,一定一定要马上修改一个密码。

1
2
3
4
$ passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

创建管理员账号

这里的管理员是指,能够运行 sudo 命令的用户,为了安全,在正常使用中禁止使用 root 账号操作。

1
2
3
4
5
6
7
$ adduser <username>
Enter new UNIX password:
Retype new UNIX password:

这里输入密码后可能还会提示需要输入用户的信息,回车默认即可

$ usermod -aG sudo <username> # 为用户添加 sudo 权限

删除默认用户和组

可以使用

1
2
$ cat /etc/passwd
$ cat /etc/group

来分别查看用户列表和组列表

删除多余的用户

1
$ userdel sync && userdel shutdown && userdel halt && userdel uucp && userdel operator && userdel games && userdel gopher

删除多余组

1
$ groupdel adm && groupdel games && groupdel lp && groupdel dip

删除了不必要的用户和组后,我们将用户管理的权限关闭

1
2
3
4
$ chattr +i /etc/passwd
$ chattr +i /etc/shadow
$ chattr +i /etc/group
$ chattr +i /etc/gshadow

i 属性代表这个文件不允许被修改,删除。这样我们就无法给系统新建用户。需要新建用户的时候使用 -i 还原

修改 SSH 配置

添加 ssh 私钥

在你的 windows 终端下生成一对私钥对,个人喜好使用 GitHub 推荐的 Ed25519 算法

1
$ ssh-keygen -t ed25519

可以自己指定文件保存的路径,一般来说默认即可。之后询问是否输入密码,这里建议还是输入一个密码。

现在我们需要的私钥上传到服务器中,我直接上传到 home 目录下了

1
2
3
4
5
#创建 .ssh 文件夹
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ mv id_ed25519 ~/.ssh/authorized_keys
$ chmod 400 ~/.ssh/authorized_keys

禁用 root 登录及密码登录

在上传了 ssh 公钥后,我们需要关闭 root 账号的登录权限

1
$ sudo vi /etc/ssh/sshd_config

PermitRootLogin yes 改为 PermitRootLogin no 关闭 root 登录
PasswordAuthentication yes 改为 PasswordAuthentication no 关闭密码登录

在配置文件最后新增一行

1
ClientAliveInterval 60

修改 ssh 端口

同上一步,将 Port 22 改为任意没有被占用的端口,建议改成小众一点的

全部修改完成后,重启 ssh 服务

1
$ sudo service sshd restart

可以重新连接一下,看是否修改成功

安装 Fail2Ban

Fail2Ban 是一款入侵防御软件,将尝试爆破 ssh 密码的 ip 封停,可以保护服务器免受暴力攻击。

1
$ sudo apt install fail2ban

安装长亭雷池 WAF

雷池 是一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。

核心检测能力由智能语义分析算法驱动,专为社区而生,不让黑客越雷池半步。

配置需求

  • 操作系统:Linux
  • 指令架构:x86_64
  • 软件依赖:Docker 20.10.6 版本以上
  • 软件依赖:Docker Compose 2.0.0 版本以上
  • 最小化环境:1 核 CPU / 1 GB 内存 / 10 GB 磁盘

一键安装

1
$ bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

更多安装方式请参考 安装雷池

登录

浏览器打开后台管理页面 https://<waf-ip>:9443。根据界面提示,使用 支持 TOTP 的认证软件 扫描二维码,然后输入动态口令登录。

禁止系统响应任何从外部/内部来的 ping 请求

1
$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

参考链接

https://zhuanlan.zhihu.com/p/371611071

https://www.logcg.com/archives/884.htmlrchives/884.html


003-入手 VPS 后要做的几件事
https://kydins.com/posts/8a304bd5.html
作者
Kydin
发布于
2023年10月3日
许可协议