Thiết lập đường hầm web an toàn

05:26, 12/06/2010

Nếu là một người hay phải làm việc lưu động thì chắc chắn sẽ có lần bạn phải truy cập vào các mạng không dây công cộng. Chắc chắn rơi vào hoàn cảnh như vậy bạn sẽ phải chuẩn bị một số cách để tự bảo vệ mình. Có nhiều cách thức để bảo vệ an toàn dữ liệu cho bạn trong những trường hợp bạn cần truy cập ở những mạng như vậy, chẳng hạn  như sử dụng mạng riêng ảo của công ty – nếu có thể - hoặc một đường hầm web mã hóa như Hotspot Shield.

Tuy nhiên nếu không có VPN công ty và không muốn gặp rất nhiều quản cáo khi sử dụng Hotspot Shield, bạn vẫn có một lựa chọn khác vẫn có thể bảo mật được lưu lượng không dây của bạn, đây là cách tạo đường hầm mà chúng tôi sẽ giới thiệu cho các bạn trong bài.

Tạo đường hầm cho lưu lượng dữ liệu

Dù mạng không dây công cộng mà bạn sử dụng được bảo vệ mật khẩu hay trả tiền theo phút đi chăng nữa thì bất cứ ai kết nối với mạng đó cũng đều có thể do thám lưu lượng HTTP của bạn.
Tuy nhiên chúng ta có thể khắc phục được vấn đề này bằng cách tạo một đường hầm mã hóa để thông qua đó có thể gửi đi lưu lượng web, đường hầm đó sẽ bắt đầu từ laptop và kết thúc ở một vị trí được biết đến như điểm cuối biết trước của nó. Từ đây, đường hầm có thể định tuyến các yêu cầu web của bạn đến mạng Internet công cộng.

Rõ ràng, khi lưu lượng ra bên ngoài đường hầm, nó sẽ là đối tượng được nghiên cứu – từ các ISP, luật pháp, hoặc gì gì đó tương tự như vậy – nhưng trong khi dữ liệu của bạn sẽ được truyền tải thông qua một hotspot công cộng thì việc lướt web của bạn là an toàn.

VPN tunnel over public Wi-Fi

Trong sơ đồ ở trên, người dùng tại một hotspot không dây của một quán cà phê dùng một tuyến trực tiếp đến website (màu đỏ), nhưng bạn lại sử dụng một đường hầm mã hóa để che chắn cho mình trong mạng hotspot. Khi ở điểm cuối của đường hầm, lưu lượng web của bạn sẽ đi qua mạng Internet thông qua các phương pháp không mã hóa thông thường (màu đỏ) để đến website đích.

Dễ dàng và tiết kiệm thông qua SSH

Cách đơn giản nhất để thiết lập một đường hầm web an toàn cho riêng bạn là trả phí hàng tháng cho một công ty hosting nào đó để họ thực hiện tất cả các công việc khó khăn như thiết lập máy chủ, cài đặt hệ điều hành, và bảo đảm máy chủ đó hoạt động 24 giờ mỗi ngày với khá nhiều năng lượng tiêu thụ. Một số người thích phương pháp này vì không bị phiền phức với các tường lửa, và cũng không phải để máy tính chạy khi bạn đang ở trên đường.

Bất cứ nhà cung cấp hosting chia sẻ nào cũng thực hiện được các mục đích của bạn, miễn là công ty họ cung cấp sự truy cập đến máy chủ secure shell (SSH). SSH là một phiên bản mã hóa của telnet, một trong những giao thức đầu tiên của Internet, được sử dụng để gửi các thông tin giữa hai máy tính.

Một số người dùng có thể thích sử dụng HostGator, hãng có một trung tâm dữ liệu lớn tại Houston. Gói hosting "Hatchling" cơ bản của công ty này chỉ rơi vào khoảng 5$ mỗi tháng, vì vậy chỉ cần bỏ ra một khoản không đáng kể bạn có thể có được một đường hầm bảo mật cho riêng mình. Khi HostGator tạo tài khoản của bạn, bạn sẽ nhận các thông tin đăng nhập của mình và máy chủ sẽ được gán cho bạn. Từ đây, bạn có thể thiết lập một Web proxy bằng cách sử dụng các lệnh SSH. Chúng tôi sẽ minh chứng trên cả hai phiên bản hệ điều hành OS X và Windows; người dùng Linux có thể thực hiện theo và thực hiện một số điều chỉnh nhỏ ở những chỗ cần thiết.

Tạo một máy khách SSH

OS X có một tiện ích dòng lệnh SSH client, vì vậy tất cả những gì bạn cần thực hiện là mở Terminal (nằm trong thư mục Utilities bên trong thư mục Application). Bạn sẽ thấy nhắc lệnh có username và tên máy tính của bạn, theo sau là ký hiệu $. Tất cả các lệnh trong phần dưới đây sẽ là những thứ bạn đánh vào bên cạnh ký hiệu đó.

Trên Windows, bạn cần download chương trình máy khách SSH. Có rất nhiều lựa chọn cho bạn nhưng phần mềm miễn phí phổ biến nhất vẫn là PuTTY.

Test máy chủ SSH

Sử dụng thông tin đăng nhập từ nhà cung cấp hosting, bạn có thể mở một SSH session trên OS X bằng cách nhập vào phần được in đậm bên dưới, sau ký hiệu $:

$ ssh username@server.websitewelcome.com

Trên máy tính Windows, khởi chạy PuTTY và nhập vào tên máy chủ mà nhà cung cấp hosting cung cấp cho bạn. Chọn nút SSH bên dưới 'Protocol'. Trường Port cần được thiết lập là 22 (cổng SSH mặc định). Kích nút Open.

Connecting via SSH in PuTTY

Vì đây là lần đầu tiên bạn kết nối đến máy chủ này, cả máy khách của OS X và PuTTY đều sẽ hiển thị một cảnh báo và nhắc nhở bạn xác nhận dấu vết của host. (Điều này chỉ xảy ra một lần; sau đó máy khách SSH của bạn sẽ xác nhận rằng dấu vết không bị thay đổi. Nếu dấu vết bị thay đổi, điều đó có thể chỉ thị rằng kết nối của bạn đã bị giả mạo). Bạn sẽ thấy dòng chữ tương tự như bên dưới:

The authenticity of host ‘server.websitewelcome.com' can't be established. RSA key fingerprint is 11:22:33:44:55.
Are you sure you want to continue connecting? Yes

Khi xác nhận dấu vết, PuTTY sẽ nhắc bạn nhập vào username và password của bạn. Còn OS X sẽ chỉ nhắc về password vì bạn đã cấp username trên dòng lệnh từ trước.

Sau khi đăng nhập, sẽ có một nhắc nhở thể hiện rằng hiện bạn đã kết nối đến dòng lệnh của máy chủ từ xa; lưu ý rằng tên máy chủ đặt trước ký hiệu $ được thay đổi để phản ánh hệ thống từ xa:

login as: username
Using keyboard-interactive authentication.
Password: *********
Last login: Fri Jan 01 02:03:04 2010 from 1.2.3.4
username
@server $

Lúc này biết máy chủ SSH đang làm việc, bạn có thể tiếp tục thiết lập đường hầm của mình. Đánh vào lệnh exit để đóng phiên SSH.

Bộ lắng nghe nội bộ và các điểm kết cuối ở xa

Đây là nơi có nhiều thứ dễ nhầm lẫn, vì vậy cần đọc một cách cẩn thận. Bạn cần cấu hình một cổng trên máy tính nội bộ của mình (bộ lắng nghe) sẽ sử lấy các gói mà bạn đưa vào và chuyển vào một phiên SSH mã hóa. Tại điểm cuối của đường hầm, lưu lượng sẽ kết xuất trên máy chủ SSH. Trong một số phần bên dưới, chúng tôi sẽ giới thiệu cách cấu hình trình duyệt web của bạn để ủy quyền lưu lượng thông qua bộ lắng nghe nội bộ này. Mặc dù về mặt khái niệm dường như rằng bạn muốn trỏ trình duyệt web để máy chủ từ xa, nhưng về mặt kỹ thuật thì bạn sẽ trỏ nó tại “localhost”, đó là một tên đặc biệt cho máy tính nội bộ.

The proxy is set to 'localhost'

Cần thiết lập sao cho máy khách SSH kết nối với máy chủ SSH và mở một đường hầm bắt đầu trên laptop (localhost) trên cổng 8888 và kết thúc tại máy chủ SSH, nơi dữ liệu sẽ được chuyển tiếp đến website đích cuối.

Tạo đường hầm SSH

Quá trình tạo đường hầm hết sức đơn giản trên OS X, có thể được thể hiện trong một lệnh:

$ ssh -ND 8888 username@server.websitewelcome.com

Tùy chọn ‘N’ chỉ thị cho SSH client rằng bạn không muốn một phiên tương tác (một nhắc lệnh), vì bạn chỉ muốn thiết lập một đường hầm. Tùy chọn 'D 8888' chỉ thị cho SSH client thiết lập một đường hầm chuyển tiếp “động” trên cổng 8888. Đường hầm ở đây là động vì website đích sẽ thay đổi phụ thuộc vào nơi bạn đang lướt; các đường hầm chuyển tiếp cổng khác có các rule tĩnh, tuy nhiên để duyệt web, bạn cần có một phiên bản động. Sau khi phát lệnh, bạn sẽ được nhắc nhở về mật khẩu và sau đó ... không gì xảy ra. Quả thực, nếu lệnh làm việc, cổng sẽ được mở, tuy nhiên bạn sẽ không nhận được bất cứ xác nhận nào bên trong Terminal. Người dùng OS X có thể tiếp tục chuyển sang phần tiếp theo.

Configuring ports in PuTTY

Với Windows, khởi chạy PuTTY lần nữa, tìm trong danh sách phần 'Category' phía bên trái 'Connection', mở rộng hạng mục ‘SSH’ để chọn Tunnels. Chọn nút Dynamic, nhập 8888 cho 'Source port', sau đó kích Add.

Lúc này, kích nút Open. Sau khi nhập vào mật khẩu của bạn, đường hầm sẽ được tạo. Không có thông báo xác nhận nào hiển thị bên trong nhắc lệnh.

Thử đường hầm mới

Đây là lúc chúng ta đi test đường hầm vừa tạo. Khởi chạy trình duyệt web của bạn, truy cập vào What Is My IP Address, ghi địa chỉ IP được hiển thị trong nó. Đây là địa chỉ IP công khai mà phần còn lại của thế giới sẽ thấy khi bạn kết nối từ vị trí hiện hành của mình (nhà, nơi làm việc, trường học, hoặc quá cà phê).

Khi thay đổi các thiết lập Web proxy, bạn cần quay trở về site này để thẩm định rằng Internet tin tưởng bạn đang truy cập từ máy chủ SSH của bạn, xác nhận rằng việc duyệt web là an toàn trước việc rình mò bởi những người dùng Wi-Fi hotspot khác.

Người dùng Internet Explorer cần vào menu Tools và chọn Internet Options. Từ hộp thoại này, chọn tab Connections (thứ năm từ bên trái sang) và kích nút LAN Settings ở phía dưới. Trong hộp thoại pop-up, chọn hộp kiểm bên cạnh Use a proxy server for your LAN. Kích Advanced. Bên cạnh  'SOCKS' nhập vào localhost cho địa chỉ và 8888 cho cổng; để trống tất cả các trường khác. Kích OK ba lần và vào What Is My IP Address lần nữa. Địa chỉ IP của bạn sẽ phản ánh đó là địa chỉ của SSH server.

Using your VPN as a proxy server

Người dùng Mozilla Firefox trên Windows cần vào menu Tools và chọn Options, trong khi đó người dùng OS X Firefox cần vào menu Firefox và chọn Preferences. Sau đó, người dùng trên cả hai nền tảng này cần chọn hạng mục Advanced (biểu tượng dụng cụ), tiếp đó là tab Network (thứ hai từ trái sang) và kích nút Settings.

Chọn Manual Proxy Configuration. Bên cạnh 'SOCKS Host', nhập vào localhost cho địa chỉ và 8888 cho cổng; để trống tất cả các trường khác. Chọn nút SOCKS5 nếu nó chưa được chọn. Trong Windows, kích OK hai lần; trên OS X, đóng cả hai cửa sổ preferences. Truy cập vào What Is My IP Address lần nữa. Địa chỉ IP của bạn sẽ phản ánh đó là địa chỉ của SSH server.

Configuring Firefox to use the VPN

Người dùng Safari trên OS X cần vào menu Safari và chọn Preferences. Chọn hạng mục Advanced (biểu tượng dụng cụ), sau đó kích nút Change Settings bên cạnh 'Proxies'. Thao tác này sẽ mở ra cửa sổ System Preferences cho kết nối mạng hiện hành của bạn. Trên tab Proxies, chọn hộp kiểm bên cạnh SOCKS Proxy và sau đó nhập vào localhost cho địa chỉ và 8888 cho cổng. Kích OK, Apply và sau đó đóng System Preferences. Truy cập What Is My IP Address. Địa chỉ IP của bạn sẽ phản ánh đó là địa chỉ của SSH server.

Chạy máy chủ SSH

Chúc mừng: Lúc này bạn đẫ có một đường hầm an toàn để có thể sử dụng mạng Wi-Fi công một cách an toàn. Tuy nhiên điều gì sẽ xảy ra nếu bạn bỏ qua lời khuyên của chúng tôi và không muốn trả một phí hàng tháng cho công ty hosting? Bạn có thể chạy một SSH server của riêng mình. Mặc dù vậy phương pháp này không dành cho tất cả mọi người, không tiếp tục với các bước sau trừ khi các phần trước quá dễ dàng để bạn có thể hiểu. Thêm vào đó bạn cũng cần biết cách cho phép kết nối qua router DSL/cable ở nhà (hoặc nếu tại văn phòng, bạn cần biết cách thay đổi tường lửa của mình).

Phương pháp này cũng sẽ gây sự chú ý về kết nối của bạn trước các bộ quét mạng đang tìm kiếm các cổng mở trên Internet. Thêm vào đó, bạn sẽ phải bật máy tính của bạn để chạy máy chủ tất cả thời gian khi quay trở về nhà, điều có thể gây tiêu tốn nhiều năng lượng điện và gây ồn ào đáng kể.

Chúng tôi khuyên các bạn nên chọn giải pháp một nhà cung cấp hosting, tuy nhiên nếu bạn thực sự biết các rủi ro có liên quan và muốn quản lý một máy chủ SSH của riêng mình thì hãy tiếp tục. Đây là những gì cấu mà cấu hình của bạn sẽ phải như vậy:

A do-it-yourself VPN

Người dùng OS X có may mắn đôi chút: máy chủ SSH được xây dựng bên trong hệ điều hành. Do đó chỉ cần mở System Preferences và mở hạng mục Sharing. Bên dưới tab Services, chọn hộp kiểm bên cạnh Remote Login (cũng được biết đến như SSH Server). Đó là tất cả! Bạn có thể bỏ qua để đến phần bên dưới.

Với người dùng Windows, bạn có thể sử dụng một số máy chủ SSH rẻ tiền hoặc miễn phí sẵn có. Máy chủ mà chúng tôi sử dụng trong ví dụ này là WinSSHD version 5 của Bitvise; sẵn có và không thu phí cho sử dụng cá nhân. Chạy bộ cài đặt và chọn Personal Edition (cho các công ty, phiên bản Standard Edition sẽ là một lựa chọn tuyệt vời và không quá đắt).

Panel điều khiển sẽ load sau khi cài đặt và hiển thị Easy Settings wizard. Tất cả các thiết lập mặc định đều thích hợp cho các mục đích của bạn lúc này, vì vậy chỉ cần kích Cancel. Kích liên kết Start WinSSHD được tô đậm bằng màu xanh để khởi chạy SSH server.

Test máy chủ SSH

Chúng tôi sẽ không đi vào chi tiết về việc vô hiệu hóa đúng cách tường lửa của laptop nội bộ hoặc tường lửa mạng của bạn để cho phép cổng 22 có thể nhận các kết nối gửi đến – nếu đã đọc đến đây, bạn đã làm một người dùng có nhiều kinh nghiệm, người mà chúng tôi cho là đã biết cách thực hiện điều này. Bước tiếp theo của bạn là test máy chủ SSH, vì vậy bạn sẽ sử dụng một số lệnh được mô tả dưới đây trong các phần trước. Người dùng OS X cần nhập vào lệnh dưới đây:

$ ssh username@localhost

Người dùng Windows cần khởi chạy PuTTY và nhập vào localhost làm địa chỉ máy chủ. Bạn có thể sử dụng mật khẩu của mình, mật khẩu mà bạn sử dụng để đăng nhập laptop. Nhớ rằng đây là một kết nối mới, vì vậy bạn chắc chắn sẽ thấy nhắc nhở thẩm định dấu vết. Nếu không làm việc, hãy kiểm tra tường lửa của bạn hoặc phần mềm bảo mật khác vì rất có thể các thành phần này đang khóa kết nối của bạn.

Tiếp đến, thử kết nối từ bên ngoài vào máy chủ SSH của bạn. Tạo một tài khoản test trên máy tính nội bộ và yêu cầu một người bạn test kết nối bằng cách sử dụng mật khẩu cho tài khoản test này. Bạn của bạn cần phải thực hiện theo các bước tương tự trong cấu hình phần mềm máy khách SSH và trình duyệt web của anh ta như những gì chúng tôi đã giới thiệu trong các phần trên.

Không bao giờ lướt mạng khi không được bảo vệ

Giờ đây bạn đã thấy dễ dàng có thể sử dụng một kênh an toàn cho việc duyệt web khi bạn đang ở trong các Wi-Fi hotspot công cộng. Sử dụng dịch vụ Hotspot Shield miễn phí, thiết lập máy chủ SSH cho riêng bạn tại nhà, hoặc sử dụng một nhà cung cấp hostiong không quá đắt – tuy nhiên không bao giờ, lướt mạng không được bảo vệ!

(Theo Quản trị mạng/ PCworld)