Hướng dẫn cài đặt Dante Proxy trên Ubuntu 20.04 cho các kết nối riêng tư

Những điểm chính

 

  • Quan điểm của mình: Dante Proxy là một trong những giải pháp SOCKS5 ổn định và nhẹ nhất hiện nay. Tuy nhiên, nếu chỉ cài đặt mặc định mà không cấu hình xác thực hoặc giới hạn IP truy cập thì máy chủ rất dễ trở thành open proxy và bị lợi dụng. Vì vậy, sau khi cài đặt, bạn nên cấu hình xác thực người dùng và thiết lập tường lửa ngay từ đầu.

 

  • Yêu cầu cài đặt: Biết các điều kiện cần chuẩn bị trước khi cài đặt, bao gồm máy chủ Ubuntu 20.04 và tài khoản có quyền sudo.

 

  • Hướng dẫn cài đặt: Nắm được quy trình cài đặt và cấu hình Dante Proxy trên Ubuntu 20.04.

 

  • Bảo mật Dante Proxy: Biết cách giới hạn quyền truy cập, thiết lập xác thực và tăng cường bảo mật cho máy chủ.

 

  • Kiểm tra kết nối: Biết cách sử dụng curl để xác minh Dante Proxy hoạt động chính xác.

 

Yêu cầu để cài đặt Dante Proxy trên Ubuntu 20.04

 

Trước khi bắt đầu, bạn cần chuẩn bị:

 

  • Máy chủ chạy Ubuntu 20.04.

 

  • Một tài khoản người dùng có quyền sudo.

 

  • Địa chỉ IP hoặc tên miền của máy chủ (ví dụ: your_domain hoặc IP VPS).

 

Bước 1: Cài đặt Dante Proxy

 

Đầu tiên, cập nhật danh sách gói và cài đặt Dante:


 
sudo apt update

sudo apt install dante-server
 

Sau khi cài đặt, dịch vụ danted sẽ được tạo tự động. Tuy nhiên, ở lần khởi động đầu tiên, dịch vụ thường không hoạt động do chưa có cấu hình hợp lệ.

 

Bạn có thể kiểm tra trạng thái bằng:


 
systemctl status danted.service
 

Nếu xuất hiện thông báo liên quan đến:


 
no socks authentication methods enabled
 

thì đây là trạng thái bình thường vì Dante chưa được cấu hình.

 

Tạo file cấu hình mới

 

Thay vì chỉnh sửa file cấu hình mặc định khá dài, bạn nên tạo một file cấu hình mới để dễ quản lý.

Xóa file cũ:


 
sudo rm /etc/danted.conf
 

Tạo file mới:


 
sudo nano /etc/danted.conf
 

Thêm nội dung:


 
logoutput: syslog

user.privileged: root

user.unprivileged: nobody

internal: 0.0.0.0 port = 1080

external: eth0

socksmethod: username

clientmethod: none

client pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

}

socks pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

}
 

Trong đó:

 

  • logoutput quy định nơi lưu log hệ thống.

 

  • internal là địa chỉ và cổng Dante lắng nghe.
  •  
  •  
  • external là card mạng dùng để kết nối Internet.

 

  • socksmethod yêu cầu người dùng đăng nhập bằng tài khoản.

 

  • client passsocks pass định nghĩa các quy tắc cho phép kết nối.

 

Nếu không chắc tên card mạng là gì, hãy kiểm tra bằng:


 
ip addr
 

hoặc:


 
ifconfig -a
 

Sau đó thay eth0 bằng đúng tên interface của máy chủ.

 

Mở cổng trên tường lửa

 

Nếu sử dụng UFW:


 
sudo ufw allow 1080/tcp
 

Đến đây Dante đã có thể hoạt động, tuy nhiên bạn không nên đưa vào sử dụng ngay vì proxy vẫn chưa được bảo vệ khỏi các truy cập trái phép.

 

Bước 2: Bảo mật Dante Proxy

 

Để tránh việc bất kỳ ai cũng có thể sử dụng proxy của bạn, hãy tạo một tài khoản riêng dành cho Dante.

 

Tạo người dùng:


 
sudo useradd -r -s /bin/false your_dante_user
 

Đặt mật khẩu:


 
sudo passwd your_dante_user
 

Tài khoản này chỉ dùng để xác thực SOCKS5 và không thể đăng nhập vào hệ thống Linux.

 

Giới hạn IP được phép truy cập

 

Ngoài xác thực bằng mật khẩu, bạn cũng nên giới hạn các địa chỉ IP được kết nối.

 

Mở lại file cấu hình:


 
sudo nano /etc/danted.conf
 

Sửa phần:


 
client pass {

    from: your_ip_address/32 to: 0.0.0.0/0

}
 

Nếu có nhiều IP:


 
client pass {

    from: 203.0.113.10/32 to: 0.0.0.0/0
}

client pass {

    from: 198.51.100.20/32 to: 0.0.0.0/0

}
 

Việc giới hạn IP giúp giảm đáng kể nguy cơ máy chủ bị quét hoặc sử dụng trái phép.

 

Sau khi chỉnh sửa xong, khởi động lại dịch vụ:


 
sudo systemctl restart danted.service
 

Kiểm tra lại trạng thái:


 
systemctl status danted.service
 

Nếu thấy:


 
Active: active (running)
 

nghĩa là Dante đã hoạt động bình thường.

 

Bước 3: Kiểm tra kết nối Dante Proxy

 

Sau khi cấu hình hoàn tất, bạn nên kiểm tra xem proxy có hoạt động hay không bằng curl.

 

Ví dụ:


 
curl -v -x socks5://your_dante_user:your_dante_password@your_server_ip:1080 http://www.google.com/
 

Nếu cấu hình chính xác, kết quả sẽ xuất hiện tương tự:


 
* SOCKS5 communication to www.google.com:80

* SOCKS5 request granted.

* Connected to your_server_ip port 1080

> GET / HTTP/1.1
 

Thông báo SOCKS5 request granted cho biết yêu cầu đã được Dante Proxy xử lý thành công.

 

Bạn cũng có thể sử dụng cùng thông tin đăng nhập này trên trình duyệt, ứng dụng hoặc các công cụ hỗ trợ SOCKS5 khác để định tuyến lưu lượng thông qua máy chủ Dante.

 

Sau khi hoàn tất các bước trên, bạn đã triển khai thành công Dante Proxy trên Ubuntu 20.04 với cơ chế xác thực và bảo mật cơ bản. Nếu cần tăng cường an toàn hơn nữa, bạn có thể kết hợp Dante với VPN, giới hạn truy cập bằng tường lửa hoặc chỉ cho phép kết nối từ các địa chỉ IP tin cậy để giảm thiểu rủi ro khi đưa máy chủ vào môi trường thực tế.

 HỖ TRỢ TRỰC TUYẾN