我目前正在几个 Fedora 服务器之间建立一些安全的系统日志连接。这是我目前的设置
192.168.56.110 (系统日志服务器) <----> 192.168.57.110 (系统日志代理)
从代理,我运行以下命令:
ssh -fnNTx -L 1514:127.0.0.1:514 [email protected]
这很好用。我在 syslog-agent 上安装了 rsyslog,指向 @@127.0.0.1:1514,它通过隧道将所有内容正确地转发到端口 514 上的服务器。我的问题是,我希望能够锁定它。我将使用 ssh 密钥,这样就可以自动完成,因为将有多个代理与服务器通信。以下是我的担忧。
- 有人进入 syslog-agent 并直接登录服务器。
- 我已经通过确保 syslog_user 具有 /sbin/nologin 的 shell 来解决这个问题,这样用户根本无法获取 shell。
- 我不希望有人能够通过 ssh 隧道传输另一个端口。例如 - 6666:127.0.0.1:21。
- 我知道我对此的第一道防线就是不让任何东西监听这些端口,这不是问题。但是我希望能够以某种方式锁定它。
服务器上是否有任何 sshd_config 设置,我可以使用它们来使只有端口 514 可以通过 ssh 进行隧道传输?目前我是否忽略了其他主要安全问题?提前感谢您的帮助/评论。
答案1
有一个 sshd 选项 permitopen:
permitopen="host:port" 限制本地“ssh -L”端口转发,使其只能连接到指定的主机和端口。可以使用另一种语法指定 IPv6 地址:host/port。可以使用逗号分隔多个 permitopen 选项。不对指定的主机名执行任何模式匹配,它们必须是文字域或地址。