Ubuntu VPS 一些安全设置

在 RamNode 搞了个 VPS 来折腾。当然免不了要做些安全方面的设置:

Part 1.

  1. 添加新用户:adduser yourUsername
  2. 把新用户加入 sudo 规则内:visudo,然后添加 yourUsername ALL=(ALL) ALL
  3. 修改 sshd_config 文件,vi /etc/ssh/sshd_config
    • 禁止 root 帐号登录:把 PermitRootLogin yes 改成 PermitRootLogin no
    • 修改 ssh 端口:把 Port 22 中 22 改成你自己想要的端口
  4. 重启 ssh 服务:/etc/init.d/ssh restart

退出 vps 就登录到 yourUsername,而且不能用 root 登录了。

Part 2.

  1. 禁用密码登录,使用私钥登录:

    • 在客户端生成密钥 ssh-keygen -t rsa
    • 上传公钥到 vps:scp .ssh/id_rsa.pub yourServer:~/.ssh,在 vps 上重命名为 authorized_keys,然后 sudo vi /etc/ssh/sshd_config,修改以下几项:

      RSAAuthentication yes #RSA认证
      PubkeyAuthentication yes #开启公钥验证 
      AuthorizedKeysFile .ssh/authorized_keys #验证文件路径
      PasswordAuthentication no #禁止密码认证
      PermitEmptyPasswords no #禁止空密码
      UsePAM no #禁用PAM
      
    • 重启 ssh 服务:sudo /etc/init.d/ssh restart

  2. 安装 denyhosts:sudo apt-get install denyhosts,如需修改配置,可以在 /etc/denyhosts.conf 这里修改。

Ref.

  1. Ubuntu VPS 配置与管理
  2. VPS 防止 SSH 暴力登录尝试攻击
  3. Linux VPS Ubuntu 系统配置指南