2010/09/12

Vượt tường lửa | Xuyên hầm SSH

SSH, tức Secure Shell, là một tiêu chuẩn để  mã hoá các thông tin giữa máy tính của bạn và một máy chủ. Việc mã hóa ngặn chận không cho người điều hành mạng  xem hay sửa đổi luồng thông tin. SSH được dùng cho nhiều ứng dụng thông tin an toàn, trong đó việc đăng nhập an toàn vào máy chủ hoặc chuyển tập tin an toàn (SCP hay SFTP) là thông dụng nhất.
SSH đặc biệt hữu dụng trong việc vượt thoát kiểm duyệt bởi vì nó có thể tạo ra các đường hầm có mã hoá và hoạt động như một proxy. Giới kiểm duyệt rất ngần ngại để chặn SSH hoàn toàn vì ngoài việc dùng để vượt thoát kiểm duyệt, SSH còn được dùng để quản trị các máy chủ từ xa.

Sử dụng SSH cần có một tài khoản trên máy chủ, loại Unix hay Linux. Cho mục tiêu vượt thoát kiểm duyệt, máy chủ này phải có truy cập vào Internet không hạn chế và lý tưởng nhất là do một mối liên hệ tin cậy điều hành. Một số công ty có bán tài khoản SSH, và một số dịch vụ Web cũng cung cấp truy cập SSH. Xin xem danh sách liệt kê các nơi cung cấp dịch vụ SSH trong trang
http://www.google.com/Top/Computers/Internet/Access_Providers/Unix_Shell_Providers/, có bán tài khoản SSH với giá từ 2-10 đô la Mỹ mỗi tháng.

Một chương trình SSH có tên là Open SSH có sẵn trong hầu hết các máy tính loại Unix, Linux và Mac OS, trong dạng giao diện dòng lệnh (command line) được biết qua tên gọi “ssh”. Cho hệ Windows, bạn có thể dùng phần mềm SSH miễn phí có tên là PuTTY.

Tất cả các phiên bản SSH gần đây cho phép dùng SOCKS proxy để trình duyệt web và các phần mềm khác dùng đường kết nối SSH được mã hóa để thông tin mà không bị kiểm duyệt. Trong thí dụ sau đây, chúng tôi chỉ mô tả việc sử dụng SSH. Các bước sau đây hướng dẫn cách thiết kế SOCKS proxy ở cổng 1080 trong máy tính của bạn để dùng một tài khoản SSH với tên “accountname@example.com”.

SSH bằng dòng lệnh với Linux/Unix và MacOS (OpenSSH)

OpenSSH có tại trang mạng http://www.openssh.com/, nhưng nó đã được cài đặt sẵn vào máy trong các máy vi tính có hệ điều hành Linux/Unix và Mac OS. Bạn sẽ cần một tài khoản SSH trong máy chủ với đường nối kết vào Internet không bị giới hạn.

Mệnh lệnh ssh mà bạn sẽ cho chạy, chứa số cổng (local port number) (thường là 1080), tên của máy chủ (server name) và một tên sử dụng (username/account name). Nhìn giống như sau:

ssh -D localportnumber accountname@servername

Bạn sẽ được hỏi mật khẩu và sau đó sẽ đăng nhập vào máy chủ. Với chọn lựa –D, một SOCK proxy nội bộ sẽ được lập ra và chạy cho đến khi nào bạn rời máy chủ. Bước kế tiếp sẽ là xác định mã khóa của máy chủ và cấu hình cho các phần mềm ứng dụng.
 

SSH trong Windows (PuTTY)


PuTTY có trên trang : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Bạn có thể lưu trữ  phần mềm putty.exe ở ổ cứng trong máy của bạn để sử dụng trong tương lai, hoặc cho nó chạy trực tiếp từ trang mạng (thường là được từ một máy vi tính dùng chung hoặc máy công cộng, như máy ở thư viện hoặc tại quán cafê Internet).

Khi bạn cho chạy PuTTY, một khung cấu hình sẽ hiện ra. Đầu tiên điền vào tên máy chủ (thí dụ, “example.com”). Nếu tên miền của máy chủ bị kiểm duyệt, hoặc bạn chỉ biết địa chỉ IP của máy chủ thì điền vào điạ chỉ IP thay vì tên. Nếu bạn thường xuyên dùng SSH thì bạn có thể mở hồ sơ (profile) để lưu trữ các dữ kiện này lại cũng như những chọn lựa và cấu hình khác mô tả sau đây để tiết kiệm thời giờ cho lần sau.

 PuTTY_config_1.jpg
 
Tiếp đó, trong cột Category bên trái, chọn phần Connection sau đó chọn SSH, và Tunnels.
Điền số 1080 trong ô Source port, và chọn các ô "Dynamic" và "IPv4".
 
PuTTY_config_2.jpg


Bấm vào nút “Add”, rồi đến nút “Open”. Một đường kết nối với máy chủ được thành lập, và một khung cửa mới sẽ hiện ra để bạn điền vào tên và mật khẩu

 example_com___PuTTY__2008_11_12__22_30_28.jpg

Sau khi đánh vào tên và mật khẩu, bạn sẽ đăng nhập vào máy chủ và sẽ thấy giao diện dòng lệnh hiện ra. SOCKS proxy cũng đã được thành lập.
   
putty_connection2.jpg

Xác định mã khoá của máy chủ

Lần đầu tiên kết nối vào máy chủ, bạn sẽ được yêu cầu xác nhận dấu tay của máy chủ (host key fingerprint). Dấu tay điện tử này là một chuỗi dài gồm có mẫu tự và số hệ 16 (hexadecimal) thí dụ như: 57:ff:c9:60:10:17:67:bc:5c:00:85:37:20:95:36:dd. Dấu tay này dùng để xác định một cách an toàn danh tính của máy chủ

Kiểm tra lại dấu tay máy chủ là một biện pháp an ninh để xác định bạn đang liên lạc với đúng máy chủ bạn muốn và đường nối kết mã hóa không thể bị chặn bắt. (SSH không có cách để kiểm tra việc này tự động. Để đạt được lợi ích của biện pháp an ninh này, bạn nên so các con số với số mà người admin của máy chủ cung cấp, hoặc so với số của người quen vào cùng máy chủ để coi có giống nhau không)

Kiểm tra dấu tay máy chủ là điều quan trọng để bảo đảm SSH bảo mật thông tin của bạn không bị nghe lén, tuy nhiên nếu bạn chỉ muốn vượt thoát kiểm duyệt và không màng ai xem trộm nghe lén thông tin thì bạn không cần làm kiểm tra.


Cấu hình Các Ứng Dụng để Dùng Proxy


Proxy được thành lập theo các bước trên sẽ chạy cho đến khi bạn tắt SSH. Tuy nhiên nếu nửa chừng đường nối kết bị rớt, bạn cần lập lại các buớc trên để khởi động lại proxy.

Một khi proxy khởi động và chạy, bạn cần cấu hình các phần mềm để dùng proxy. Nếu theo các bước trên thì bạn dùng các dữ kiện sau để cấu hình SOCKS proxy trong localhost, cổng 1080 (còn được biết như là 127.0.0.1, cổng 1080). Bạn cố gắng cấu hình phần mềm để đừng bị rò rĩ  DNS (DNS leaks) vì nó sẽ làm giảm độ hữu hiệu của SSH trong việc bảo mật và vượt thoát kiểm duyệt.



Tác giả : Xuyên Hầm SSH
© Seth Schoen 2008
Điều chỉnh:
adam hyde 2008
Alice Miller 2008
Freerk Ohling 2008, 2009
Sam Tennyson 2008
TWikiGuest 2008
Tom Boyle 2008
Tomas Krag 2008
Zorrino Zorrinno 2008

Giấy phép: Giấy phép công cộng

Sản xuất cho cẩm nang FLOSS



No comments:

Post a Comment