Bắt quả tang Hacker: Triển khai Honeypot đa giao thức T-Pot trên Linux

Security tutorial - IT technology blog
Security tutorial - IT technology blog

Điểm mù trong phòng thủ mạng hiện đại

Tôi nhớ lần đầu tiên khi tôi thiết lập một máy chủ web công khai cho một dự án cá nhân. Chỉ trong vòng 45 phút, các tệp nhật ký (logs) đã tràn ngập. Hàng trăm địa chỉ IP duy nhất từ khắp nơi trên thế giới đang dồn dập tấn công cổng SSH bằng các nỗ lực brute-force không ngừng nghỉ. Tường lửa của tôi đã hoàn thành nhiệm vụ bằng cách chặn chúng, nhưng tôi nhận ra mình đang chiến đấu với một bóng ma. Tôi biết rằng mình đang bị nhắm mục tiêu, nhưng tôi hoàn toàn không biết kẻ tấn công vận hành như thế nào hoặc chúng muốn gì.

Hầu hết các chuyên gia IT đều hoạt động trong tình trạng “mù kỹ thuật số” này. Chúng ta cấu hình tường lửa, WAF, và các hệ thống IDS/IPS, cảm thấy an tâm khi thấy trạng thái “Blocked”. Đây thuần túy là cách phòng thủ thụ động. Bạn đang chống lại các mã nhận diện (signatures) đã biết trong khi hoàn toàn mù tịt trước các công cụ, payload tùy chỉnh hoặc các lỗ hổng zero-day đang được thử nghiệm trên phạm vi vòng ngoài của bạn. Nếu bạn không thể thấy kẻ tấn công làm gì sau khi chúng “đột nhập” thành công, bạn sẽ luôn là người chạy theo sau.

Vấn đề bất đối xứng thông tin

An ninh mạng về cơ bản là một cuộc chơi lệch kèo. Kẻ tấn công chỉ cần tìm thấy một lỗ hổng bị bỏ sót; còn bạn phải bảo vệ mọi điểm truy cập duy nhất. Tệ hơn nữa, kẻ tấn công sử dụng các kỹ thuật như banner grabbing và fingerprinting để xác định chính xác phiên bản phần mềm của bạn. Trong khi đó, bạn thường không biết gì về phương pháp cụ thể của chúng.

Việc ghi nhật ký thụ động hiếm khi lấp đầy khoảng trống này vì ba lý do:

  • Nhật ký đã được làm sạch: Các dịch vụ tiêu chuẩn như Nginx hoặc OpenSSH ghi lại các nỗ lực kết nối, nhưng chúng sẽ không cho bạn thấy toàn bộ chuỗi lệnh mà hacker thực thi sau khi vào được hệ thống.
  • Không có sự tương tác: Khi tường lửa ngắt kết nối, kẻ tấn công đơn giản là chuyển sang mục tiêu tiếp theo. Bạn không bao giờ thấy được mục tiêu cuối cùng của chúng.
  • Tín hiệu và Nhiễu: Việc sàng lọc qua 50.000 dòng log thông thường để tìm ra một hành vi khai thác tinh vi là một sự lãng phí nguồn lực con người.

Để khắc phục điều này, chúng ta cần thay đổi kịch bản. Chúng ta cần một môi trường được kiểm soát để mời gọi kẻ tấn công vào, đánh lừa chúng rằng chúng đã thành công và ghi lại từng phím bấm của chúng.

Chiến lược đánh lạc hướng: Chọn mồi nhử

Không phải tất cả honeypot đều phục vụ cùng một mục đích. Trước khi chọn T-Pot, tôi đã xem xét ba chiến lược thu thập thông tin tình báo khác nhau.

1. Honeypot tương tác thấp (Low-Interaction Honeypots)

Các công cụ như Cowrie (cho SSH) hoặc Dionaea (cho mã độc) rất nhẹ. Chúng giả lập các dịch vụ thay vì cung cấp một hệ điều hành đầy đủ. Mặc dù hiệu quả, nhưng chúng thường dễ bị những kẻ tấn công dày dạn kinh nghiệm phát hiện khi một số lệnh phức tạp không thể thực thi.

2. Honeypot tương tác cao (High-Interaction Honeypots)

Loại này bao gồm các hệ thống thực, chẳng hạn như một máy ảo Windows Server có lỗ hổng. Chúng mang lại dữ liệu tốt nhất nhưng đi kèm với rủi ro khổng lồ. Nếu kẻ tấn công thoát khỏi máy ảo, chúng có thể sử dụng máy chủ của bạn để tấn công bên thứ ba, tạo ra một cơn ác mộng về pháp lý cho bạn.

3. Nền tảng đa giao thức (Cách tiếp cận của T-Pot)

T-Pot cung cấp một giải pháp trung gian. Nó sử dụng Docker để chạy gần 20 loại honeypot khác nhau—bao gồm Cowrie, Honeytrap và Mailoney—đồng thời trên một máy duy nhất. Nó thu hẹp khoảng cách giữa tương tác thấp và cao. Tất cả dữ liệu thu được sẽ chảy vào một ELK stack tập trung (Elasticsearch, Logstash, Kibana) để trực quan hóa tức thì.

Cách tiếp cận tốt nhất: Triển khai T-Pot trên Linux

T-Pot là cách nhanh nhất để biến một VPS Linux tiêu chuẩn thành một trung tâm tình báo mối đe dọa. Nó tự động hóa việc đóng gói container, thiết lập mạng và trực quan hóa dữ liệu. Tuy nhiên, đừng đánh giá thấp yêu cầu phần cứng. Chạy hơn 20 container cùng với ELK stack tiêu tốn tài nguyên đòi hỏi phần cứng khá tốt.

Điều kiện tiên quyết

  • Hệ điều hành: Debian 11 hoặc 12 (khuyến nghị cao).
  • RAM: Tối thiểu là 8GB; 16GB là mức tối ưu. Bất kỳ mức nào dưới 8GB sẽ dẫn đến lỗi kernel panic thường xuyên và sập Elasticsearch.
  • Ổ cứng: 128GB SSD. Nhật ký và chỉ mục tăng thêm vài gigabyte mỗi ngày trong môi trường có lưu lượng truy cập cao.
  • Mạng: Một IP công khai không có tường lửa bên ngoài chặn các cổng. Chúng ta muốn kẻ tấn công có một con đường thông thoáng dẫn đến bẫy của mình.

Bước 1: Chuẩn bị hệ thống

Bắt đầu với một bản cài đặt Debian sạch. Vì T-Pot sẽ chiếm giữ hầu hết các cổng có sẵn, bạn cần cẩn thận với thiết lập ban đầu. Chạy các bản cập nhật tiêu chuẩn trước:

sudo apt update && sudo apt upgrade -y
sudo apt install git -y

Bước 2: Sao chép và cài đặt T-Pot

Quá trình cài đặt gần như hoàn toàn tự động. Sao chép kho lưu trữ chính thức và chuyển vào thư mục cài đặt:

git clone https://github.com/telekom-security/tpotce
cd tpotce/iso/installer/

Thực thi kịch bản cài đặt. Bạn sẽ được yêu cầu chọn loại cài đặt. Chọn “Standard”. Lựa chọn này bao gồm đầy đủ các honeypot và bảng điều khiển ELK.

sudo ./install.sh --type=standard

Bước 3: Cấu hình và Bảo mật

Trình cài đặt sẽ yêu cầu bạn cung cấp tên người dùng và mật khẩu cho giao diện web. Đừng sử dụng lại mật khẩu thông thường ở đây. Honeypot của bạn sẽ bị tấn công liên tục. Nếu giao diện quản lý của bạn yếu, bạn vừa tặng cho hacker một máy chủ miễn phí.

Tôi khuyên bạn nên sử dụng một chuỗi ngẫu nhiên 32 ký tự. Bạn có thể tạo tại chỗ hoặc sử dụng công cụ như toolcraft.app. Hãy đảm bảo nó bao gồm các ký hiệu và chữ hoa chữ thường đa dạng.

Cảnh báo về SSH: T-Pot di chuyển dịch vụ SSH quản lý thực của bạn sang cổng 64295. Cổng 22 tiêu chuẩn được giao cho Cowrie để bẫy kẻ tấn công. Nếu bạn bị mất kết nối, hãy kết nối lại bằng lệnh: ssh -p 64295 user@your-ip.

Bước 4: Truy cập bảng điều khiển

Sau khi khởi động lại, hãy đợi khoảng 15 phút để các container Docker được tải về và khởi tạo. Truy cập bảng điều khiển của bạn tại:

https://[your-ip]:64297

Giao diện Kibana là nơi phép màu xảy ra. Bạn sẽ tìm thấy bản đồ nhiệt (heatmaps) theo thời gian thực và các công cụ phân tích sâu. Ngoài ra còn có một phiên bản Cyberchef tích hợp sẵn để giúp bạn giải mã bất kỳ payload nào bị che giấu mà bạn tìm thấy trong nhật ký.

Phân tích “Chiến lợi phẩm”

Hãy để hệ thống chạy trong 24 giờ. Khi bạn quay lại Kibana, khối lượng khổng lồ các hành vi độc hại tự động thường sẽ gây sốc. Vào một ngày bình thường, một phiên bản T-Pot duy nhất có thể ghi lại từ 30.000 đến 50.000 sự kiện.

  1. Trình quét hàng loạt: Bạn sẽ thấy các lệnh ping liên tục từ Shodan, Censys và các mạng botnet khác nhau đang lập chỉ mục các “lỗ hổng” của bạn.
  2. Brute Force: Bạn có thể theo dõi trực tiếp khi những kẻ tấn công thử các thông tin đăng nhập phổ biến như admin/admin hoặc root/123456 trên các cổng SSH và RDP giả lập của bạn.
  3. Payload khai thác: Các công cụ như Dionaea sẽ thu thập mã độc nhị phân. T-Pot tự động tính toán mã băm MD5/SHA256 của các tệp này. Bạn có thể đưa các mã băm này vào VirusTotal để xem chính xác loại ransomware hoặc botnet agent nào mà chúng đang cố gắng cài đặt.

Dữ liệu này có giá trị thực tiễn cao. Nếu bạn nhận thấy một sự gia tăng đột biến các nỗ lực tấn công vào cổng 6379 (Redis) hoặc các chuỗi Log4j cụ thể, bạn biết chính xác cần phải vá lỗi gì trên các máy chủ thực tế của mình trước khi làn sóng tấn công ập đến.

Thắt chặt bảo mật hệ điều hành máy chủ

Trong khi các honeypot được thiết kế để “lộn xộn”, thì máy chủ vật lý phải được khóa chặt. Tôi khuyên bạn nên thực hiện hai nhiệm vụ bảo trì cụ thể:

  1. Cập nhật tự động: T-Pot bao gồm một kịch bản cập nhật trong /opt/tpot/bin/. Hãy thiết lập chạy kịch bản này qua cron để giữ cho các container của bạn luôn mới nhất.
  2. Giới hạn IP truy cập (Whitelisting): Sử dụng nhóm bảo mật (security groups) của nhà cung cấp đám mây để giới hạn cổng 64295 (SSH) và 64297 (Web UI) chỉ cho địa chỉ IP cụ thể của văn phòng hoặc nhà bạn. Không có lý do gì để phần còn lại của thế giới nhìn thấy các cổng quản lý của bạn.

Triển khai một honeypot giúp chuyển đổi tư duy của bạn từ phỏng đoán sang thấu hiểu. Nó biến bảo mật từ một công việc tẻ nhạt thành một chiến lược phòng thủ chủ động. Thay vì chỉ chặn lưu lượng truy cập, giờ đây bạn đang thu thập thông tin tình báo cần thiết để làm cho toàn bộ mạng lưới của mình thực sự kiên cường.

Share: