Tạm thời vô hiệu hóa đường hầm ssh ngược


-1

Tôi đang thiết lập máy chủ của mình đang phát hiện NAT và tường lửa. Để có quyền truy cập vào ssh, tôi đã thiết lập một máy chủ reverse ssh tunnelingkhác có IP công cộng.

Tôi hơi sợ rằng nó không đủ an toàn, rằng đường hầm này hoạt động 100% thời gian.

Có cách nào để chặn đường hầm trên máy chủ công cộng không? Tôi muốn có một tùy chọn để:

  1. Kết nối với máy chủ công cộng SSH
  2. Cho phép cổng đường hầm
  3. Kết nối với cổng đường hầm (đến máy chủ của tôi phía sau NAT)
  4. Làm việc của tôi
  5. Vô hiệu hóa cổng đường hầm

Điều đó có thể không?


Bạn có thể giải thích những gì bạn sợ?
Jakuje

Nó trông giống như một công việc đơn giản cho tường lửa máy chủ công cộng (cho phép / không cho phép truy cập vào một số cổng). Bạn có quyền truy cập vào cấu hình của nó? Tường lửa nào vậy? HĐH nào?
Kamil Maciorowski

@Jakuje Tôi không muốn mở cổng ssh ra thế giới mọi lúc. Điều đó quá rủi ro trong khi chúng tôi giữ dữ liệu riêng tư trên máy chủ.
Tomasz

Sau đó chỉ liên kết localhost(giao diện loopback). Nó là mặc định.
Jakuje

@KamilMaciorowski Tôi chưa cài đặt tường lửa. Tôi đã nghĩ rằng bằng cách nào đó tôi có thể vô hiệu hóa nó mà không cần phần mềm / phần cứng tường lửa.
Tomasz

Câu trả lời:


0

Nếu đường hầm của bạn đang lắng nghe trên giao diện công cộng của máy chủ công cộng, thì bạn có thể chặn / bỏ chặn cổng trên tường lửa máy chủ công cộng khi bạn cần. Khi đường hầm không bị chặn, không có bảo mật bổ sung nào đến từ SSH.


Nếu đường hầm của bạn đang lắng nghe trên giao diện loopback của máy chủ công cộng thì bạn không cần phải tắt và bật lại; chỉ cần bảo mật bộ định tuyến công cộng. Nếu nói đến sự an toàn tôi sẽ đề xuất giải pháp này (gần như, tôi sẽ giải thích nó bên dưới). Bạn sẽ truy cập dịch vụ đường hầm của bạn

  • bằng cách kết nối từ chính máy chủ công cộng

hoặc là

  • thông qua một đường hầm SSH khác.

Lệnh (Linux) để thiết lập một đường hầm như vậy từ máy chủ thứ ba (như máy tính xách tay riêng của bạn) là:

ssh <user>@<public-server-IP> -L <portA>:127.0.0.1:<portB>

nơi mà <portB>cổng mà đường hầm ban đầu đang nghe, <portA>là cổng bạn chọn (ít nhất là 1024vì cổng thấp hơn có thể bị hạn chế).

Sau đó kết nối với 127.0.0.1:<portA>. Kết nối này là cục bộ với máy tính của bạn. Trên máy chủ công cộng của bạn cũng sẽ có một kết nối cục bộ để 127.0.0.1:<portB>toàn bộ bảo mật là bảo mật SSH khá mạnh khi bạn sử dụng đúng (mật khẩu / khóa tốt, v.v.).

Lỗ hổng duy nhất tôi có thể nghĩ đến là: một người dùng khác có quyền truy cập (như quyền truy cập SSH) vào máy chủ công cộng của bạn có thể kết nối với 127.0.0.1<portB>nó. Nếu đây cũng là mối quan tâm thì bạn nên sửa đổi giải pháp đường hầm như được giải thích dưới đây.


Thay vì tạo một đường hầm dẫn đến dịch vụ (có khả năng không an toàn) của bạn, hãy tạo một đường hầm đến SSH máy chủ NAT-ed ngay từ đầu.

Trên máy chủ NAT-ed, bạn sẽ đi như thế này:

ssh <user>@<public-server-IP> -R <public-server-IP>:<portB>:127.0.0.1:<portSSH>

nơi mà <portSSH>máy chủ SSH trên bộ định tuyến NAT-ed của bạn lắng nghe (thông thường 22). (Cấu hình máy chủ SSH trên bộ định tuyến công cộng có thể ngăn bạn liên kết <public-server-IP>; trong Linux, sshdđây là GatewayPortstùy chọn, cấu hình lại nếu cần.) Bằng cách này, bạn sẽ có sẵn máy chủ SSH-NAT SSH <public-server-IP>:<portB>.

Tiếp theo, tạo một đường hầm từ máy tính cục bộ của bạn đến máy chủ NAT-ed:

ssh <user1>@<public-server-IP> -p <portB> -L <portA>:127.0.0.1:<portS>

nơi <portS>là cổng dịch vụ trên máy chủ NAT-ed và một lần nữa bạn có thể chọn <portA>(một lần nữa ít nhất 1024). Lưu ý bây giờ bạn nên sử dụng thông tin đăng nhập máy chủ NAT-ed của mình.

Sau đó kết nối để 127.0.0.1:<portA>tiếp cận dịch vụ từ máy tính cục bộ của bạn.

Cải tiến là: không có cổng mở trên bộ định tuyến công cộng dẫn trực tiếp đến dịch vụ của bạn trên bộ định tuyến NAT-ed. Nếu bạn làm cho dịch vụ chỉ nghe trên giao diện loopback của bộ định tuyến NAT-ed thì nó cũng sẽ không thể truy cập được từ mạng LAN của nó. Điều này làm cho giải pháp rất an toàn (một lần nữa: với mật khẩu / khóa SSH tốt, v.v.) và an toàn để sử dụng ngay cả với một dịch vụ hoàn toàn mở và không quan tâm đến thông tin đăng nhập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.