前几天新购买了一台小鸡,在首次使用时进行了一些配置上的修改,在这里与大家分享。按照本文章的操作,可以大大降低成为肉鸡的概率。
本文系统:Ubuntu 18.04
注:本文代码块前的 $ 代表在终端中的输入指令,复制时请勿输入!
修改 root 密码 #
如果你的 VPS 提供商的机子没有 root 密码,一定一定要马上修改一个密码。
$ passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
创建管理员账号 #
这里的管理员是指,能够运行 sudo 命令的用户,为了安全,在正常使用中禁止使用 root 账号操作。
$ adduser <username>
Enter new UNIX password:
Retype new UNIX password:
这里输入密码后可能还会提示需要输入用户的信息,回车默认即可
$ usermod -aG sudo <username> # 为用户添加 sudo 权限
删除默认用户和组 #
可以使用
$ cat /etc/passwd
$ cat /etc/group
来分别查看用户列表和组列表
删除多余的用户
$ userdel sync && userdel shutdown && userdel halt && userdel uucp && userdel operator && userdel games && userdel gopher
删除多余组
$ groupdel adm && groupdel games && groupdel lp && groupdel dip
删除了不必要的用户和组后,我们将用户管理的权限关闭
$ chattr +i /etc/passwd
$ chattr +i /etc/shadow
$ chattr +i /etc/group
$ chattr +i /etc/gshadow
i 属性代表这个文件不允许被修改,删除。这样我们就无法给系统新建用户。需要新建用户的时候使用 -i 还原
修改 SSH 配置 #
添加 ssh 私钥 #
在你的 windows 终端下生成一对私钥对,个人喜好使用 GitHub 推荐的 Ed25519 算法
$ ssh-keygen -t ed25519
可以自己指定文件保存的路径,一般来说默认即可。之后询问是否输入密码,这里建议还是输入一个密码。
现在我们需要的私钥上传到服务器中,我直接上传到 home 目录下了
#创建 .ssh 文件夹
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ mv id_ed25519 ~/.ssh/authorized_keys
$ chmod 400 ~/.ssh/authorized_keys
禁用 root 登录及密码登录 #
在上传了 ssh 公钥后,我们需要关闭 root 账号的登录权限
$ sudo vi /etc/ssh/sshd_config
将PermitRootLogin yes 改为 PermitRootLogin no 关闭 root 登录
将PasswordAuthentication yes 改为 PasswordAuthentication no 关闭密码登录
在配置文件最后新增一行
ClientAliveInterval 60
修改 ssh 端口 #
同上一步,将 Port 22 改为任意没有被占用的端口,建议改成小众一点的
全部修改完成后,重启 ssh 服务
$ sudo service sshd restart
可以重新连接一下,看是否修改成功
安装 Fail2Ban #
Fail2Ban 是一款入侵防御软件,将尝试爆破 ssh 密码的 ip 封停,可以保护服务器免受暴力攻击。
$ sudo apt install fail2ban
安装长亭雷池 WAF #
雷池 是一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。
核心检测能力由智能语义分析算法驱动,专为社区而生,不让黑客越雷池半步。
配置需求 #
- 操作系统:Linux
- 指令架构:x86_64
- 软件依赖:Docker 20.10.6 版本以上
- 软件依赖:Docker Compose 2.0.0 版本以上
- 最小化环境:1 核 CPU / 1 GB 内存 / 10 GB 磁盘
一键安装 #
$ bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
更多安装方式请参考 安装雷池
登录 #
浏览器打开后台管理页面 https://<waf-ip>:9443。根据界面提示,使用 支持 TOTP 的认证软件 扫描二维码,然后输入动态口令登录。
禁止系统响应任何从外部/内部来的 ping 请求 #
$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all