Bảo vệ mạng máy tính với Bastion host (máy chủ pháo đài) chỉ trong 3 bước

Bạn có các máy tính trong mạng nội bộ cần truy cập từ bên ngoài? Sử dụng máy chủ pháo đài - bastion host - làm "người gác cổng" - gatekeeper cho mạng của bạn có thể là giải pháp tốt.

Bastion host là gì?

Bastion dịch theo nghĩa đen là một nơi được tăng cường. Về thuật ngữ máy tính, đó là một máy trên mạng có thể là gatekeeper cho các kết nối đến và đi.

Wikipedia định nghĩa: Máy chủ pháo đài (bastion host) là một máy tính có mục đích đặc biệt trên mạng, được thiết kế và cấu hình riêng để chịu được các cuộc tấn công. Máy chủ pháo đài thường chỉ lưu trữ một ứng dụng duy nhất, ví dụ như máy chủ proxy, các dịch vụ khác sẽ bị xóa hoặc giới hạn để giảm thiểu mối đe dọa cho máy tính. Sở dĩ, bastion host được thiết lập cứng như vậy là do vị trí và mục đích đặc biệt của nó, thường được đặt bên ngoài tường lửa hoặc trong vùng DMZ (một vùng mạng trung lập giữa mạng nội bộ và mạng Internet) và thường liên quan đến những truy cập từ các mạng hoặc máy tính không đáng tin cậy.

Bạn có thể thiết lập bastion host làm máy duy nhất chấp nhận kết nối từ Internet. Sau đó, lần lượt, thiết lập tất cả các máy khác trong mạng để chỉ nhận các kết nối đến từ máy bastion host này.

Lợi ích của việc thiết lập này là bảo mật. Bastion host có thể bảo mật rất chặt chẽ. Nó sẽ là tuyến phòng thủ bảo mật đầu tiên chống lại bất kỳ kẻ xâm nhập nào và đảm bảo các máy tính còn lại được bảo vệ. Ngoài ra, nó cũng khiến việc thiết lập mạng dễ dàng hơn. Thay vì chuyển tiếp các cổng trên router, bạn chỉ cần chuyển tiếp một cổng đến trên bation host, từ đó, có thể chia nhánh ra các máy khác cần truy cập vào mạng riêng. Chi tiết vấn đề sẽ được đề cập đến trong phần tiếp theo.

Sơ đồ thiết lập mạng

Sơ đồ thiết lập mạng

Đây là một ví dụ về một thiết lập mạng điển hình. Nếu cần truy cập vào mạng gia đình từ bên ngoài, bạn có thể thực hiện thông qua Internet. Router sẽ chuyển tiếp kết nối đó đến bastion host. Sau khi kết nối với bastion host, bạn có thể truy cập vào bất kỳ máy khác nào khác trong mạng. Tương tự như vậy, sẽ không có quyền truy cập trực tiếp từ Internet vào các máy khác ngoài bastion host.

1. Hệ thống tên miền động (Dynamic DNS)

Chắc hẳn nhiều người đang thắc mắc làm thế nào để được truy cập vào router ở nhà thông qua Internet. Hầu hết các nhà cung cấp dịch vụ Internet (ISP) gắn cho người dùng một địa chỉ IP tạm thời, thay đổi thường xuyên. Các nhà cung cấp dịch vụ Internet thường tính phí thêm nếu muốn có một địa chỉ IP tĩnh. Tin tốt là các router ngày nay thường có hệ thống tên miền động trong phần cài đặt.

Hệ thống tên miền động cập nhật tên máy chủ với địa chỉ IP mới theo khoảng thời gian nhất định, đảm bảo người dùng luôn có thể truy cập vào mạng gia đình của mình. Có nhiều nhà cung cấp có dịch vụ trên như Noip.com, thậm chí còn có một tầng (tier) miễn phí. Lưu ý tier miễn phí sẽ yêu cầu xác nhận tên máy chủ 30 ngày một lần.

Tạo tên máy chủ

Sau khi đã đăng nhập, chỉ cần tạo một tên máy chủ, tên máy chủ này phải là duy nhất. Nếu sở hữu một router Netgear, chúng cung cấp một dịch vụ DNS động miễn phí và sẽ không yêu cầu xác nhận hàng tháng.

Thiết lập tài khoản DNS động

Bây giờ hãy đăng nhập vào router của bạn và tìm kiếm cài đặt DNS động. Các router khác nhau sẽ có cài đặt khác nhau, xem hướng dẫn sử dụng router để biết cách thiết lập. Thông thường bạn sẽ cần nhập thông tin vào bốn cài đặt sau:

  1. Nhà cung cấp
  2. Tên miền (tên máy chủ vừa tạo)
  3. Tên đăng nhập (địa chỉ email được sử dụng để tạo DNS động)
  4. Mật khẩu

Nếu router không có cài đặt DNS động, No-IP cung cấp phần mềm có thể cài đặt trên máy tính. Lưu ý máy tính phải luôn trực tuyến để cập nhật DNS động.

2. Chuyển tiếp hoặc chuyển hướng cổng

Các router hiện nay cần phải biết được nơi để chuyển tiếp kết nối đến, dựa trên số cổng trên kết nối đến. Người dùng không nên sử dụng cổng SSH mặc định là 22 vì các hacker có các công cụ có thể kiểm tra các cổng thông dụng và có thể dễ dàng truy cập vào mạng nhà bạn. Một khi họ nhận ra rằng router đang chấp nhận các kết nối trên một cổng mặc định, họ sẽ bắt đầu gửi các yêu cầu kết nối với tên người dùng và mật khẩu chung.

Mặc dù chọn các cổng ngẫu niên không ngăn chặn được vấn đề này hoàn toàn nhưng có thể làm giảm số lượng yêu cầu đến router. Nếu router của bạn chỉ có thể chuyển tiếp cùng một cổng, nên thiết lập bastion host sử dụng xác thực khoá SSH mà không phải tên người dùng và mật khẩu.

Cài đặt router như hình bên dưới:

Cài đặt router

  1. Tên dịch vụ có thể là SSH
  2. Giao thức (nên đặt thành TCP)
  3. Cổng công cộng (nên là một cổng cao, không phải là 22, sử dụng 52739)
  4. Địa chỉ IP riêng (IP của bastion host)
  5. Cổng riêng (cổng SSH mặc định là 22)

Bastion

Điều duy nhất bastion cần là SSH. Nếu khi cài đặt chưa chọn SSH, chỉ cần gõ:

sudo apt install OpenSSH-client

sudo apt install OpenSSH-server

Khi đã cài đặt SSH, đảm bảo thiết lập máy chủ SSH để xác thực bằng khóa thay vì mật khẩu, địa chỉ IP của bastion host giống với địa chỉ IP được đặt trong quy tắc chuyển tiếp ở trên.

Bạn có thể thực hiện một thí nghiệm nhanh để chắc chắn mọi thứ hoạt động tốt. Để mô phỏng ở bên ngoài mạng gia đình, bạn có thể dùng thiết bị thông minh làm hotspot sử dụng dữ liệu di động. Mở một cửa sổ terminal và nhập, thay thế <username> bằng tên người dùng của một tài khoản trên bastion host và <dynamicDNSaddress> bằng thiết lập địa chỉ trong bước ở trên:

ssh -p 52739 <username>@<dynamicDNSaddress>

Nếu mọi thứ đã được thiết lập đúng, bạn sẽ thấy cửa sổ terminal của bastion host.

3. Tạo tunnel

Bạn tạo tunnel qua SSH. Ví dụ, nếu muốn truy cập vào chia sẻ SMB trên mạng gia đình từ Internet, hãy kết nối với bastion host và mở một tunnel tới chia sẻ SMB bằng cách chạy lệnh sau:

ssh -L 15445:<IPAddressOfSMB>:445 -p 52739 <username>@<dynamicDNSAddress>

Ví dụ: lệnh trên sẽ thành

ssh - L 15445:10.1.2.250:445 -p 52739 yusuf@makeuseof.ddns.net

Lệnh trên kết nối với tài khoản trên máy chủ của bạn thông qua cổng SSH bên ngoài router 52739. Bất kỳ lưu lượng nào được gửi tới cổng 15445 (một cổng tùy ý) sẽ được gửi qua tunnel, sau đó chuyển tiếp đến máy có địa chỉ IP 10.1.2.250 và cổng SMB 445.

Bạn cũng ẩn danh toàn bộ lệnh bằng cách gõ:

alias sss='ssh - L 15445:10.1.2.250:445 -p 52739 yusuf@makeuseof.ddns.net'

Tạo tunnel

Khi đã được kết nối, bạn có thể truy cập chia sẻ SMB với địa chỉ:

smb://localhost:15445

Chia sẻ SMB

Điều này có nghĩa là bạn sẽ có thể duyệt qua phần chia sẻ cục bộ từ Internet như thể đang ở trong mạng nội bộ.

Chúc các bạn thực hiện thành công!

Xem thêm:

Chủ Nhật, 07/01/2018 14:24
53 👨 4.479
0 Bình luận
Sắp xếp theo
    ❖ Giải pháp bảo mật