Tôi có một máy chủ chạy Ubuntu và daemon OpenSSH. Hãy gọi nó là S1.
Tôi sử dụng máy chủ này từ các máy khách (hãy gọi một trong số chúng là C1) để thực hiện đường hầm đảo ngược SSH bằng cách sử dụng chuyển tiếp cổng từ xa, ví dụ:
ssh -R 1234:localhost:23 login@S1
Trên S1, tôi sử dụng tệp sshd_config mặc định. Từ những gì tôi có thể thấy, bất kỳ ai có thông tin xác thực {login, pwd} trên S1 đều có thể đăng nhập vào S1 và thực hiện chuyển tiếp cổng từ xa và chuyển tiếp cổng cục bộ. Thông tin đăng nhập như vậy có thể là một chứng chỉ trong tương lai, vì vậy theo tôi hiểu, bất kỳ ai lấy chứng chỉ đều có thể đăng nhập vào S1 từ bất kỳ nơi nào khác (không nhất thiết là C1) và do đó tạo ra các chuyển tiếp cổng cục bộ.
Đối với tôi, cho phép chuyển tiếp cổng cục bộ là quá nguy hiểm, vì nó cho phép tạo một số loại proxy công khai. Tôi đang tìm cách để vô hiệu hóa chỉ chuyển tiếp -L.
Tôi đã thử cách sau, nhưng điều này vô hiệu hóa cả chuyển tiếp cục bộ và từ xa:
AllowTcpForwarding No
Tôi cũng đã thử như sau, điều này sẽ chỉ cho phép -L đến SX: 1. Tốt hơn là không có gì, nhưng vẫn không phải là thứ tôi cần, đó là một lựa chọn "không".
PermitOpen SX:1
Vì vậy, tôi tự hỏi nếu có một cách, để tôi có thể cấm tất cả các cổng địa phương chuyển tiếp để viết một cái gì đó như:
PermitOpen none:none
Đây có phải là một ý tưởng tốt?
PermitOpen localhost:1