Ssh
設置一個只能用於 socks5 代理的 ssh 帳戶
我在防火牆後面有一台 Arch linux 機器。我可以為 ssh 埠打開一個埠轉發。我想創建一個只能用於 socks 代理的使用者。
ssh -N -D 5000 user@server -p9000
5000
將是使用者用於 socks5 代理的本地埠
server:9000
是伺服器的ssh埠(埠轉發)
-N
表示不應打開終端。我將使用預設 shell 創建使用者/sbin/nologin
。現在的問題是使用者可以轉發本地埠(
-L8080:server2:80
),我想避免這種情況。此外,我希望代理不代理與伺服器內部網路中任何內容的連接。
這是否容易實現?
我還需要考慮其他陷阱嗎?
正如Jakuje提到的,您可以使用選項來禁止轉發。
按所有者限制出站流量
此外,我希望代理不代理與伺服器內部網路中任何內容的連接。
您可以使用 iptables
owner
模組來允許特定組和使用者在OUTPUT
規則中出站到特定位置,例如您的 ssh 網關伺服器,然後阻止其他所有內容。所有者模組可以匹配 gid 或 uid。這種方法也常與 Tor 結合使用。您還可以使用它來允許特定的守護程序訪問特定的服務。例如,如果使用 ldap,您可以允許 ldap 服務帳戶查詢您的 ldap 伺服器,僅此而已。
如果在這個莊園中使用 iptables,您可能首先要允許(但記錄)流量,以便您知道會丟棄什麼。