开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

确保禁用SSH的TCP转发功能

将AllowTcpForwarding设置为no,可以禁止SSH客户端进行TCP端口转发。TCP端口转发是通过SSH隧道在本地和远程主机之间传输数据,关闭后可有效限制用户在SSH会话中的数据传输和访问范围,从而增强系统的安全性。

影响范围说明

配置后具体影响如下:

  • 限制数据传输: 禁用TCP端口转发可以防止用户在SSH会话中传输数据,从而降低数据泄露的风险。
  • 减少攻击面:开启TCP端口转发可能带来额外的安全风险,例如攻击者可能绕过网络安全措施或访问受限服务。禁用该功能可以减少系统的攻击面。
  • 避免资源滥用:TCP端口转发可能占用服务器资源和带宽,禁用后可以避免资源被滥用。
  • 符合安全最佳实践:在某些情况下,如安全性要求较高的环境,禁用TCP端口转发可能是安全最佳实践之一。

操作步骤

禁用TCP端口转发可能会影响某些应用和用例,例如需要远程访问受限服务的情况。

  1. 检查AllowTcpForwarding配置是否正确(需同时满足如下两个命令行的检查):
    • 命令一
      sshd -T -C user=root -C host="$(hostname)" -C addr="$(grep $(hostname) /etc/hosts | awk '{print $1}')" | grep allowtcpforwarding

      如下为示例,表示禁止rootTCP端口转发。

      allowtcpforwarding no
    • 命令二
      grep -Ei '^\s*AllowTcpForwarding\s+yes\b' /etc/ssh/sshd_config

      如下为示例,表示不存在“AllowTcpForwardingyes”的配置。

      Nothing is returned
  2. 编辑“/etc/ssh/sshd_config”配置文件,并重启sshd服务。
    1. 打开配置文件。
      vim /etc/ssh/sshd_config
    2. 按“i”进入编辑模式,修改或添加“AllowTcpForwarding”参数,并设置为“no”
      AllowTcpForwarding no
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
    4. 重启sshd服务。
      systemctl restart sshd