SSH和VNC安全问题问题

SSH和VNC安全问题问题

我的 Centos 7.5 服务器在过去几天收到了数千次传入 SSH 登录尝试,今天我无法登录到我的 VNC 客户端,因为它只是说“太多安全故障”。所以想请问一下我有什么办法可以解决这个问题?我读到隧道可以解决这个问题,但我只是不想使用它,因为它太麻烦了。

答案1

SSH

  1. 禁用直接 root 访问:

    cat /etc/ssh/sshd_config | grep PermitRootLogin
    

    应设置为:

    PermitRootLogin no
    
  2. 强制执行 SSH 协议版本 2:

    cat /etc/ssh/sshd_config | grep Protocol
    

    应设置为:

    Protocol 2
    
  3. 将端口更改为随机端口,例如 56789:

    cat /etc/ssh/sshd_config | grep Port
    

    应设置为:

    Port 56789
    
  4. 在防火墙上打孔:

    sudo iptables -A INPUT -p tcp -m tcp --dport 56789 -m comment --comment "SSH custom port" -j ACCEPT
    
  5. 生成新的公钥/私钥对:

    ssh-keygen -t rsa -b 4096
    
  6. 添加此密钥并验证没有其他密钥:

    eval $(ssh-agent -s)
    ssh-add
    ssh-add -l
    

    将导致:

    4096 SHA256:gibberish /home/fictional_user/.ssh/id_rsa (RSA)
    4096 SHA256:gibberish fictional_user@fictional_computer (RSA)
    
  7. 将公钥导入到将维护服务器的客户端计算机上:

    ssh-copy-id fictional_user@public_ip -p 56789
    
  8. 然后,完全禁用密码验证:

    cat /etc/ssh/sshd_config | grep PasswordAuthentication
    

    应设置为:

    PasswordAuthentication no
    

虚拟网络控制器

您应该只允许特定的 IP 地址范围,例如仅对于默认本地网络,它会类似于(带有iptables):

sudo iptables -A INPUT -p tcp -m tcp --dport 5900 -m comment --comment "VNC on desktop: local network only" -m iprange --src-range 192.168.0.1-192.168.0.254 -j ACCEPT

相关内容