Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Quản Trị Mạng - Kết nối Internet từ các điểm kết nối WiFi, tại nơi làm việc hoặc ở bất kì nơi nào khác không phải là mạng nhà riêng sẽ khiến dữ liệu của bạn gặp nguy hiểm. Tuy nhiên, bạn có thể dễ dàng cấu hình router của mình để hỗ trợ một kênh bảo mật và “khiên bảo vệ” lưu lượng truy cập từ xa. Dưới đây là cách thực hiện.

Tại sao nên thiết lập một kênh bảo mật?

Có thể người dùng tò mò muốn biết tại sao nên thiết lập một kênh bảo mật từ thiết bị của mình cho tới router gia đình. Cùng với đó là lợi thế bạn có thể nhận được từ việc này. Hãy cùng đặt ra 2 trường hợp khác nhau có liên quan tới việc sử dụng Internet để biết được lợi thế của một kênh bảo mật.

Trường hợp 1: Bạn đang ở một quán cafe và sử dụng máy tính xách tay của mình để lướt web qua kết nối mạng Wi-Fi của quán. Dữ liệu sẽ rời khỏi modem Wi-Fi, di chuyển qua môi trường không được mã hóa tới điểm nối Wi-Fi của quán cafe, sau đó nó mới tới mạng Internet lớn. Trong suốt quá trình di chuyển từ máy tính cho tới mạng Internet, dữ liệu của bạn là dữ liệu mở. Bất kì ai sở hữu một thiết bị Wi-Fi trong khu vực này có thể “đánh hơi” thấy dữ liệu này. Còn gì buồn hơn việc một đứa trẻ 12 tuổi tinh nghịch sử dụng laptop và có bản copy Firesheep sẽ dò tìm thấy tất cả dữ liệu quan trọng của bạn.

Trường hợp 2: Cũng là bạn đang ở trong một quán cafe, sử dụng laptop để lướt web qua kết nối WiFi của quán. Tuy nhiên, lần này bạn đã kịp thiết lập một kênh mã hóa giữa laptop và router gia đình bằng cách sử dụng SSH (Secure Shell - một giao thức mạng dùng để thiết lập kết nối mạng một cách bảo mật). Lưu lượng truy cập sẽ được truyền qua kênh này trực tiếp từ laptop tới router, đóng vai trò như một proxy server. Đường kết nối này là không thể phá vỡ đối với những kẻ đánh hơi Wi-Fi, chúng sẽ không thể thấy được bất kì điều gì ngoài việc nhận được một đường truyền dữ liệu đã được mã hóa. Cho dù thiết lập mạng không đáng tin cậy, cho dù kết nối Wi-Fi không được bảo mật, dữ liệu của bạn vẫn ở trong một kênh mã hóa và chỉ rời nó một khi bạn kết nối với mạng gia đình và tồn tại ở mạng Internet lớn.

Ở trường hợp thứ nhất, bạn đã lướt web quá rộng; ở trường hợp 2, bạn có thể đăng nhập vào các trang web cá nhân hoặc tài khoản ngân hàng với độ an toàn giống như lướt web ở nhà.

Mặc dù trong ví dụ chúng tôi sử dụng mạng Wi-Fi, bạn vẫn có thể sử dụng kênh SSH để bảo vệ một kết nối mạng dây để chạy một trình duyệt từ mạng từ xa và lướt web thoải mái như đang sử dụng mạng gia đình.

Nghe có thấy hấp dẫn? Việc cài đặt rất dễ dàng và nhanh chóng, bạn sẽ sở hữu một kênh SSH an toàn.

Bạn cần những gì

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Có rất nhiều cách để thiết lập một kênh SSH để bảo vệ việc lướt web. Trong bài viết này, chúng ta sẽ tập trung vào cách thiết lập kênh SSH bằng cách nhanh nhất, ít rắc rối nhất có thể cho người dùng có một router gia đình và máy tính Windows. Để thực hiện, bạn cần phải có:

  • Một chiếc router đang chạy firmware đã được điều chỉnh như Tomato hoặc DD-WRT.
  • Một ứng dụng SSH như PuTTY.
  • Một trình duyệt web tương thích với giao thức SOCKS, ví như Firefox.

Trong bài viết này, chúng tôi sẽ sử dụng Tomato. Dẫu vậy, các hướng dẫn cũng gần như tương đương đối với những ai muốn sử dụng DD-WRT. Vậy nên, nếu bạn muốn sử dụng DD-WRT, hãy thực hiện theo các hướng dẫn.


Tạo key cho kênh mã hóa

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Mặc dù việc tạo key trước khi cấu hình server SSH có vẻ hơi kỳ cục, nhưng nếu có key sẵn sàng thì chúng ta hoàn toàn có thể cấu hình server rất nhanh chóng.

Download gói Putty và giải nén nó ra một folder nào đó. Bên trong folder này, bạn sẽ thấy file PUTTYGEN.EXE. Chạy ứng dụng và kích Key –> Generate key pair. Sau đó, bạn sẽ thấy một màn hình rất giống với hình minh họa bên trên; di chuyển chuột để tạo dữ liệu ngẫu nhiên cho quá trình tạo key. Một khi quá trình này hoàn thành, cửa sổ PuTTY Key Generator sẽ giống như hình bên dưới; tiếp tục công việc và điền mật khẩu:

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Một khi đã điền mật khẩu, tiếp tục và kích vào Save private key. Cất file kết quả .PPK vào một nơi nào đó thật an toàn. Copy và paste nội dung của hộp thoại “Public key for pasting…” vào một dữ liệu TXT.

Nếu dự định sử dụng nhiều thiết bị với server SSH (ví như laptop, netbook và một thiết bị di động) thì chắc chắn bạn sẽ phải tạo key cho từng thiết bị một. Thực hiện tiếp và tạo mật khẩu rồi lưu lại key. Hãy chắc chắn rằng bạn đã copy key mới vào file dữ liệu tạm.

Cấu hình router cho SSH

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Cả Tomato lẫn DD-WRT đều có server tích hợp sẵn. Điều này thực sự tuyệt vời. Trước tiên là bởi việc cài đặt một server SSH và cấu hình nó thường là một công việc phức tạp, khó khăn. Thứ 2 là bởi bạn đang chạy server SSH trên router, vậy nên bạn không bao giờ phải bỏ chiếc máy tính của mình chỉ vì một chiếc server SSH.

Mở trình duyệt web trên máy nào đó có kết nối với mạng cục bộ. Điều hướng tới giao diện web cảu router – router chúng tôi sử dụng: Linksys WRT54G đang chạy Tomato—địa chỉ là http://192.168.1.1. Đăng nhập vào giao diện web và điều hướng tới Administration –>SSH Daemon. Tại đây, bạn sẽ phải tích vào cả Enable at StartupRemote Access. Nguời dùng có thể thay đổi cổng remote nếu muốn. Bỏ tích Allow Password Login. Chúng ta sẽ không sử dụng mật khẩu đăng nhập để truy cập vào router từ xa. Thay vào đó sẽ sử dụng key.

Paste key bạn đã tạo ở phần trước vào hộp thoại Authorized Keys. Mỗi key đều cần được tách riêng biệt bởi dấu cách. Phần đầu tiên của key là ssh-rsa rất quan trọng. Nếu bạn không bao gồm nó trong các key, chúng sẽ hiển thị là không hợp lệ trên server SSH.

Tiếp đến, kích vào Start Now và cuộn chuột xuống phía cuối và kích Save. Tại thời điểm này, server SSH của bạn đã được thiết lập và hoạt động.


Cấu hình máy tính từ xa để truy cập server SSH

Bạn có một key cùng một server được cài đặt và chạy, nhưng không một server nào có giá trị trừ phi bạn có thể kết nối từ xa từ một nơi nào đó, qua kênh an toàn vào trong router. Bây giờ đã đến thời điểm để thiết lập cho mạng này chạy Windows 7 và đưa vào hoạt động.

Trước tiên, copy folder PuTTY bạn đã tạo sang một máy tính khác (hoặc chỉ cần download và giải nén lại tập tin). Tại đây, chúng ta sẽ thực hiện công việc trên máy tính truy cập từ xa. Nếu bạn chạy PuTTy Key Generator trên máy tính chủ thì phải chắc chắn rằng bạn đã chuyển hoàn toàn sang máy tính truy cập từ xa trong toàn bộ phần còn lại của bài hướng dẫn. Trước khi thiết lập, bạn cũng cần phải có một bản copy của file .PPK đã tạo trước đó. Một khi đã giải nén PuTTy và có file .PPK, hãy thực hiện các bước tiếp theo.

Chạy PuTTY. Màn hình đầu tiên bạn thấy sẽ là Session. Tại đây, bạn sẽ phải điền địa chỉ IP của kết nối mạng internet gia đình. Đây không phải là IP của router trên mạng LAN cục bộ mà là địa chỉ IP của modem/router kết nối với thế giới bên ngoài. Người dùng có thể tìm thấy nó bằng cách xem ở trang Status trong trình duyệt web chính của router. Thay đổi Port sang 2222 (hoặc bất kì số nào bạn đã thay trong quá trình cấu hình SSH Daemon). Hãy nhớ tích vào SSH. Tiếp đến, đặt tên cho tác vụ này để lưu lại và sử dụng nó sau này. Chúng tôi đặt tên cho nó là Tomato SSH.

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Điều hướng qua bảng ở bên trái, kéo xuống Connection –> Auth. Tại đây, bạn sẽ phải kích vào nút Browse và chọn file .PPK đã lưu và mang tới máy truy cập từ xa.

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Trong menu phụ SSH, tiếp tục kéo xuống SSH –> Tunnels. Tại đây, chúng ta sẽ cấu hình PuTTY hoạt động như một proxy server cho thiết bị di động/máy tính từ xa. Tích vào hộp thoại dưới mục Port Forwarding. Trong phần Add new forwarded port, điền số 80 cho Source port và địa chỉ IP của router cho Destination. Tích vào Auto → Dynamic rồi kích Add.

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Tích đúp vào entry xuất hiện trong hộp thoại Forwarded Ports. Điều hướng quay trở lại phần Sessions và kích vào Save và lưu lại tất cả các cấu hình. Tiếp đến, kích Open. PuTTY sẽ chạy một cửa sổ terminal. Bạn sẽ nhận được một thông báo rằng host key của server không có trong registry. Tiếp tục thực hiện và xác nhận rằng bạn tin tưởng host. Nếu cảm thấy lo ngại, bạn có thể so sánh chuỗi số mà nó cung cấp trong message thông báo với chuỗi số key mà bạn đã tạo bằng cách tải nó trong PuTTY Key Generator. Khi đã mở PuTTY rồi kích vào message thông báo, bạn sẽ thấy một màn hình giống như dưới đây:

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Trong cửa sổ terminal, bạn chỉ cần thực hiện 2 điều. Trong cửa sổ login, điền root. Trong cửa sổ mật khẩu, điền mật khẩu RSA – đây là mật khẩu bạn đã tạo trước đó khi tạo key và nó không phải là mật khẩu của router. Router shell sẽ hoạt động và bạn sẽ hoàn thành ở cửa sổ lệnh. Một kết nối an toàn mới được thiết lập giữa PuTTY và router chủ. Giờ đây, chúng tôi sẽ hướng dẫn bạn cách truy cập PuTTY từ các ứng dụng.

Chú ý: Nếu muốn đơn giản hóa quá trình kèm theo đó là giảm độ an toàn, bạn có thể tạo một cặp key mà không cần mật khẩu rồi đặt PuTTY tự động đăng nhập vào tài khoản chính (người dùng cũng có thể thay đổi cài đặt này dưới mục Connect –> Data –> Auto Login). Điều này sẽ giúp giảm thiểu quá trình kết nối PuTTY để bạn chỉ cần mở ứng dụng, tải profile và kích Open.


Cấu hình trình duyệt để kết nối tới PuTTY

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Tại thời điểm này, server của bạn đã được thiết lập và hoạt động, máy tính đã kết nối tới nó và chỉ còn một bước duy nhất còn lại. Người dùng cần phải lệnh cho các ứng dụng quan trọng phải sử dụng PuTTY như một proxy server. Bất kì ứng dụng nào có hỗ trợ giao thức SOCKS có thể kết nối tới PuTTY – ví như Firefox, mIRC, Thunderbird, và uTorrent. Nếu không chắc chắn rằng ứng dụng của mình có hỗ trợ SOCKS hay không, hãy kiểm tra trong menu options hoặc trong dữ liệu. Đây là phần quan trọng bạn nên xem kỹ: tất cả dung lượng sẽ không được chuyển qua proxy PuTTY theo mặc định; nó cần phải “đính kèm” với server SOCKS. Ví dụ, bạn có một trình duyệt web bật SOCKS và một trình duyệt web không bật – cả 2 trình duyệt đều trên cùng một máy tính – và một trình duyệt có thể mã hóa lưu lượng còn trình duyệt còn lại không thể.

Trong trường hợp này, chúng ta chỉ cần bảo mật trình duyệt web, Firefox Portable, là đủ. Quá trình cấu hình cho Firefox cũng giống với bất kì ứng dụng nào khác. Chạy Firefox và điều hướng tới Options –> Advanced –> Settings. Trong menu Connection Settings, chọn Manual proxy configuration và dưới mục SOCKS Host plug in, đặt địa chỉ IP host cục bộ, không phải IP của router như bạn đã điền trước đó. Đặt port là 80 rồi kích OK.

Chúng ta có một chút điều chỉnh trước khi thiết lập cho tất cả. Theo mặc định, Firefox không route yêu cầu DNS qua proxy server. Điều này có nghĩa là lưu lượng của bạn sẽ luôn được mã hóa nhưng nếu bất kì ai “đánh hơi” được kết nối đều có thể thấy tất cả các yêu cầu của bạn. Chúng sẽ biết được bạn đã ở Facebook.com hoặc Gmail.com nhưng chúng không thể thấy thêm bất kì điều gì nữa. Nếu muốn route các yêu cầu DNS qua SOCKS, bạn sẽ phải kích hoạt nó.

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

about:config trong thanh địa chỉ rồi kích “I’ll be careful, I promise!” nếu nhận được một thông báo về việc bạn có thể điều chỉnh trình duyệt của mình. Dán network.proxy.socks_remote_dns vào hộp thoại Filter: rồi phải chuột vào entry network.proxy.socks_remote_dnsToggle -> True. Tại đây, cả tác vụ duyệt web lẫn yêu cầu DNS của bạn đều được gửi qua kênh SOCKS.

Mặc dù chúng ta đang cài đặt trình duyệt để có được SSH mọi thời điểm, có thể bạn còn muốn dễ dàng chuyển giữa các cài đặt. Firefox có một tiện ích mở rộng, FoxyProxy, giúp việc bật và tắt proxy server dễ dàng hơn. Nó hỗ trợ rất nhiều lựa chọn cài đặt như chuyển giữa các proxy dựa vào domain bạn đang hoạt động, trang bạn đang truy cập,... Ví dụ, nếu muốn dễ dàng và tự động tắt proxy dựa vào việc bạn đang ở nhà hay rời khỏi nhà, FoxyProxy có thể giúp bạn thực hiện mong muốn. Người dùng Chrome có thể sử dụng Proxy Switchy! để có được chức năng tương tự.

Hãy cùng kiểm tra liệu rằng mọi thứ có hoạt động đúng như kế hoạch hay không. Để kiểm tra, hãy mở 2 trình duyệt: Chrome (ở bên trái) không có kênh an toàn và Firefox (ở bên phải) đã được cấu hình để sử dụng kênh an toàn.

Cài đặt SSH trên Router để truy cập web an toàn ở bất kì nơi đâu

Ở bên trái, chúng ta sẽ thấy địa chỉ IP của điểm kết nối WI-FI chúng ta đang sử dụng và ở bên phải, chúng ta sẽ thấy địa chỉ IP của router từ xa. Tất cả các lưu lượng của Firefox sẽ được route qua server SSH. Như vậy là chúng ta đã thành công.

Thứ Năm, 21/07/2011 13:45
4,36 👨 13.966
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp