Xây dựng một xmpp chat server sử dụng tor để liên lạc

46 Likes Comment

Ngần đây có một chuyên gia ca sỹ hát dạo nào đó khuyến cáo mọi người từ bỏ messenger của facebook và dùng các ứng dụng khác, rồi lại có một đứa em nhờ tôi cài một server chat làm sao nó phải đảm bảo ẩn danh cho toàn bộ thành viên, từ hai điều đó tôi quyết định sẽ thử triển khai một server chat dùng tor xem sao và tôi dùng xmpp để làm.

Extensible Messaging and Presence Protocol (XMPP), trước đây là Jabber, là giao thức mở và dựa trên nền tảng XML dùng trong nhắn tin nhanh (instant messaging) và thông tin hiện diện trực tuyến (presence information). Theo Hội Tiêu chuẩn XMPP (XMPP Standards Foundation, trước đây là Jabber Software Foundation, JSF), phần mềm dựa trên Jabber được triển khai tại hàng ngàn máy phục vụ trên Internet và được hơn 10 triệu người trên khắp thế giới sử dụng – theo wikipedia

Các mạng XMPP được phân cấp một cách tự nhiên. Không có máy chủ hoặc máy chủ trung tâm. Bất kỳ ai có thể sở hữu hoặc chạy một XMPP Server.

Internet Engineering Task Force đã chính thức phê duyệt XMPP như một chuẩn tin nhắn thời gian thực và công nghệ hiện diện dưới tên của XMPP (thông số kỹ thuật mới nhất là RFC 6120 và RFC 6121). Không có yêu cầu tiền bản quyền nào để thực hiện hỗ trợ các thông số kỹ thuật và phát triển, XMPP không được gắn với một nhà cung cấp duy nhất.

Extensible Messaging and Presence Protocol (XMPP) là một công nghệ mở cho truyền thông thời gian thực, nó cung cấp một loạt các ứng dụng bao gồm nhắn tin, trình diễn, hội thoại nhóm, gọi điện và video trực tuyến, nội dung cung cấp thông tin, và tuyến dữ liệu XML

Để triển khai được thì chúng ta phải có một máy chủ bất kỳ có thể là máy ảo,… chỉ cần có mạng là được vì chúng ta sẽ dùng tor chứ không dùng giao thức http hay https thông thường nên không cần quá quan trọng. ở đây mình sẽ dùng centos để làm server.

Lưu ý:

  • phần này hướng dẫn sẽ là cài đặt ejabberd
  • ejabberd trong bài này chưa có chức năng lưu lại lịch sử chat khi thoát, trong bài sau mình sẽ hướng dẫn lưu lịch sử chat trên database để khi thoát ra vào lại nó không trống trơn
  • Mình sẽ duy trì một xmpp tại domain: ie5tttpwc2a67lu235whlvymat4ak3nwrajrfymr4rb27jqq3vjqixyd.onion ai cần có thể dùng, server không lưu lại bất cứ thức gì sau khi bạn thoát mọi thứ sẽ được xóa sạch sẽ.

Bước 1: Cập Nhập Hệ Thống và cài tor

yum update
yum install -y wget tor 

Bước 2: Tiến hành tải và cài ejabberd

wget https://static.process-one.net/ejabberd/downloads/21.04/ejabberd-21.04-0.x86_64.rpm
rpm -ivh ejabberd-21.04-0.x86_64.rpm

Bước 3: Cấu Hình ejabberd đi qua tor

  • chúng ta cần lấy file ejabberd.service để cấu hình cho ejabberd chạy cùng hệ thống
:~# cp /opt/ejabberd-*/bin/ejabberd.service /etc/systemd/system/

Sau đó mở file /opt/ejabberd/conf/ejabberd.yml tìm phần host cấu hình như sau

hosts:
  - abc.space

loglevel: info

certfiles:
  - "/opt/ejabberd/conf/server.pem"
##  - "/etc/letsencrypt/live/localhost/fullchain.pem"
##  - "/etc/letsencrypt/live/localhost/privkey.pem"

ca_file: "/opt/ejabberd/conf/cacert.pem"

thay abc.space thành domain onion của bạn domain này có thể lấy như sau.

Bạn mở file /etc/tor/torrc tìm đoạn code sau:

#HiddenServiceDir /var/lib/tor/hidden_service/
# HiddenServicePort 80 127.0.0.1:80

Xóa phần comment và thay 80 thành 5222 như sau

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 5222 127.0.0.1:5222

Sau khi cấu hình song thì lưu lại và khởi động lại tor

service tor restart

Sau khi chạy song lấy domain thông qua lệnh sau và điền vào config của ejabberd

cat /var/lib/tor/hidden_service/hostname

domain có dạng ie5tttpwc2a67lu235whlvymqswedgqfasjhdabsd.onion

Vậy là song khởi động lại ejabberd

systemctl restart ejabberd

sau khi bạn khởi động song thì có thể check nếu báo lỗi như vậy là được.

Sau đó chúng ta kết nối đến server thông qua một phần mềm là pidgin tải về

Sau khi cài chúng ta tiến hành kết nối như hình

Phần basic thì chọn

protocol là xmpp

user tùy ý bạn

domain là domian onion phía trên

Resource: bỏ trống

password của bạn

Chuyển qua tab proxy chọn như hình

Phần user và pass bỏ trống,

Host: 127.0.0.1

Port: 9050

Và tích vào create this new account on the server.

Sau đó các bạn nhấn add là được lưu ý mỗi khi sử dụng thì bạn phải bật tor browser lên nhé như thế thì tor socks mới chạy và bạn dùng pidgin mới kết nối được, hoặc bạn phải có server tor socks riêng. và kết nối được rồi thì bạn có thể kết nối với mọi người thông qua username của bạn

0 0 votes
Article Rating

You might like

Avatar

About the Author: Vô Ưu

Xin chào! Tôi là Vouu, người sáng lập blog này. Tôi là một người yêu thích. Tôi có một công việc ban ngày với tư cách là một chuyên viên bơm vá săm xe các loại, và trang web này là một trong những hoạt động yêu thích của tôi, đặc biệt là trong những lúc rảnh rỗi. Hy vọng bạn thích sử dụng trang web này, và nó sẽ mang lại cho bạn nhiều điều bổ ích. Phản hồi từ người đọc sẽ truyền cảm hứng cho tôi để tôi có thể viết được nhiều hơn nữa !. Bạn chỉ cần để lại nhận xét bên dưới nếu bạn thấy bài viết này hữu ích. Chúc bạn ngày mới tốt lành!
Subscribe
Notify of
guest
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x