27 tháng 11, 2011

SSH Tunnel, đôi điều cần biết

I. SSH Tunnel là gì ?

SSH, viết tắc của từ Secure Shell, là một dạng kết nối bảo mật rất được ưa chuộng để kết nối đến server hoặc shell (thay cho telnet) hiện nay. Trong topic này mình xin không đề cập sâu vào SSH mà chỉ muốn nói đến SSH tunnel (tạm dịch là đường hầm kết nối bảo mật).

Ứng dụng phổ biến nhất của SSH tunnel chính là port forwarding (chuyển tiếp cổng). Điều này được SSH tunnel thực hiện bằng cách truyền lại tín hiệu từ 1 port trên 1 node đến 1 node khác tại 1 port trên node đó thông qua 1 kết nối bảo mật. Có vẻ như giải thích như vậy sẽ làm cho các bạn thấy khó hiểu. Mình xin lấy 1 thí dụ đẻ tiện cho việc diễn giải.
Giả sử bạn có 1 web server chạy ở máy A tại port 80. Vì 1 lý do gì đó, bạn cấu hình cho web server này chỉ có thể được truy cập bằng các máy trong mạng nội bộ. Cách đơn giản nhất là bạn không mở port 80 trên trên router và không sử dụng NAT để chuyển yêu cầu đến port này đén máy A. Tuy nhiên nếu bạn ở 1 máy B, nằm ngoài mạng nội bộ, và muốn sử dụng Internet để truy cập vô web của máy A. Bạn sẽ làm như thế nào? Một giải pháp an toàn đó chính là sử dụng SSH tunnel. Khi đó bạn tạo 1 kết nối từ máy B đến máy A (dĩ nhiên máy A fải cài SSH server) bắng SSH và map port 80 của máy A về port 80 (hoặc bất kỳ) của máy B. Lúc này khi bạn truy cập vô port 80 của máy B, SSH sẽ chuyển yêu cầu về port 80 của máy A và chuyển phản hồi từ máy A về mày B. Quá siêu!
Trường hợp ngược lại, nếu máy B muốn cho phép máy A truy cập vào 1 port nào đó của mình cũng có thể tạo 1 tunnel, map port trên máy A để chuyển kết nối về máy B.
Hai ví dụ mình sử dụng trên là hai ví dụ về local và remote tunnel của SSH. Ngoài ra còn 1 dạng tunnel là dynamic, thường được sử dụng như 1 sock proxy.
Rõ ràng, bằng kết nối SSH, mọi rào cản về port giữa 2 máy đều có thể gỡ bỏ. Hơn nữa ưu điểm của việc sử dụng SSH tunnel là nó chuyển đổi 1 kết nối không bảo mật (unsecured connection) thành 1 kết nối bảo mật.
Vì SSH được viết chủ yếu là để kết nối các shell trên Linux cho nên không có 1 phiên bản riêng cho Windows. Tuy nhiên, các bạn có thể sử dụng các bộ phần mềm mô phỏng môi trường Linux như Cygwin chẳng hạn để chạy SSH Server và dùng phần mềm Putty để kết nối ở phía client.
---
Đăng bởi Justin at justintran.info
II. Cài đặt và sử dụng
Làm thế nào để tạo sock thông qua VPS hoặc Dedicated Server ?
Cách làm:
B1: Download chương trình tại link http://dl.bitvise.com/Tunnelier-Inst.exe và cài đặt vào máy tính.
B2: Sau khi cài đặt thì khởi động chương trình và khai báo các thông số theo như bên dưới:



Sau khi khai báo xong các thông số thì click Login.
B3: Cấu hình firefox sử dụng sock để đi internet. Khởi động trình duyệt firefox
Vào Tools --> Options --> Tab Advance --> Tab Network -->Settings

Khai báo các thông số như hình sau:
Click OK 2 lần để đóng cửa sổ cấu hình và trở về trình duyệt.
B4: kiểm tra sau khi cấu hình. Để chắc chắn firefox đi internet sẽ thông qua sock ta truy cập vào trang web http://www.whatismyip.com và kiểm tra IP trang web đó hiển thị ra. Nếu hiển thị đúng IP như hình bên dưới thì chắc chắn rằng trình duyệt firefox đã đi internet thông qua VPS hoặc server.
Nếu cần hỗ trợ thêm vui lòng gửi email cho chúng tôi.

Không có nhận xét nào:

Đăng nhận xét