Cách chạy mail server và lưu trữ tệp của riêng bạn với PEPS trên Ubuntu 14.04
Tất cả ta đều sử dụng email và các dịch vụ lưu trữ file trực tuyến như Gmail hoặc Dropbox. Tuy nhiên, các dịch vụ này có thể không phù hợp cho việc lưu trữ dữ liệu nhạy cảm, cả cá nhân và chuyên nghiệp. Ta có tin tưởng các policy bảo mật của họ khi đính kèm một hợp đồng kinh doanh quan trọng hoặc thông tin bí mật không? Ta có chấp nhận rằng tất cả dữ liệu của ta sẽ được thu thập, xử lý và phân tích không?Một bài báo từ Group PEPS tại MLstate
Có một giải pháp cho vấn đề này: PEPS là một nền tảng email, chia sẻ file và trò chuyện sử dụng mã hóa end-to-end. Mã hóa end-to-end đảm bảo việc mã hóa và giải mã xảy ra trên máy tính của bạn (máy khách) chứ không phải trên server , nơi không bao giờ thấy dữ liệu bí mật ở dạng văn bản rõ ràng.
Hướng dẫn này sẽ hướng dẫn bạn quy trình triển khai version PEPS của bạn trên DigitalOcean Server để bạn có thể lưu trữ dữ liệu của bạn một cách an toàn.
Yêu cầu
PEPS được phân phối dưới dạng containers Docker để giúp cài đặt dễ dàng. Bạn cần một server DigitalOcean với Ubuntu 14.04 x64 và ứng dụng Docker được cài đặt trên đó. Đặc biệt:
Ubuntu 14.04 x64 Server với bộ nhớ 2 GB nếu bạn chỉ có một vài user . Chọn 4 GB RAM trở lên nếu bạn cần thêm user hoặc bạn chỉ cần thêm bộ nhớ cho dữ liệu của bạn .
Mua certificate SSL để sử dụng thay cho certificate tự ký; điều này được khuyến khích cho môi trường production . Ngoài ra, bạn có thể tạo certificate SSL đã ký miễn phí. Hướng dẫn tạo certificate được bao gồm sau trong hướng dẫn này.
Tên Server rất quan trọng: Nếu bạn định gửi tin nhắn qua email cho người nhận bên ngoài, bạn muốn Reverse DNS được cấu hình để tránh tin nhắn của bạn bị gắn cờ là spam. Tin tốt: DigitalOcean tự động cấu hình bản ghi PTR nếu tên Server được đặt thành FQDN (Tên domain đủ điều kiện). Nếu bạn định gửi email từ mail.example.com
, thì đó cũng phải là tên của Server (ngay cả khi địa chỉ của bạn ở dạng user@example.com
).
Tất cả các lệnh trong hướng dẫn này phải được chạy với quyền user không phải root. Nếu cần có quyền truy cập root cho lệnh, nó sẽ được đặt trước sudo
. Cài đặt server ban đầu với Ubuntu 14.04 giải thích cách thêm user và cấp cho họ quyền truy cập sudo.
Bước 1 - Cài đặt Docker
Bước đầu tiên là cài đặt Docker. Hướng dẫn này dựa trên Docker 1.6.2. Bạn có 2 tùy chọn để cài đặt Docker:
- Làm theo các hướng dẫn cho Ubuntu 14.04 trong Cách cài đặt và sử dụng Docker: Bắt đầu
- Thêm ứng dụng Docker khi bạn tạo Ubuntu 14.04 x64 Server
Bạn cũng cần thêm user không phải root mà bạn đã tạo (người sẽ chạy tất cả lệnh trong hướng dẫn này) vào group user docker
. Thay thế sammy bằng tên user của bạn:
- sudo usermod -aG docker sammy
Bạn cũng cần đăng xuất và đăng nhập lại với quyền là user không phải root của bạn để thay đổi này có hiệu lực.
Bước 2 - Triển khai PEPS
Kết nối với Server qua SSH bằng ssh sammy @ your_server_ip
(thay thế tên user và IP server của bạn) và chạy các lệnh sau để chuẩn bị môi trường.
Đầu tiên, sao chép repository :
- git clone https://github.com/MLstate/PEPS
Thay đổi folder PEPS
:
- cd PEPS
Cấu hình domain của bạn, thay thế example.com bằng domain của bạn:
- echo example.com > domain
Lệnh này tạo một file văn bản có tên domain
với domain của bạn là dòng đầu tiên và duy nhất trong file .
Cài đặt make:
- sudo apt-get update
- sudo apt-get install make
Bây giờ là lúc xây dựng các container , sẽ mất khoảng 10-20 phút, vì vậy bạn có thể thưởng thức một ly cà phê hoặc lên lịch một cuộc họp trực tiếp:
- make build
Nếu mọi thứ chạy tốt, nó sẽ kết thúc bằng những thứ như sau (id được tạo ngẫu nhiên và sẽ khác nhau):
Removing intermediate container 38d212189d43 Successfully built 24fd74241e48
Đối với lần chạy đầu tiên, ta sẽ tạo certificate SSL / TLS tạm thời và chạy các containers . (Cả hai bước đều gần như ngay lập tức, vì vậy đừng nghĩ rằng bạn sẽ nghỉ giải lao một ly cà phê khác.)
Nếu bạn đã có sẵn certificate SSL cho domain của bạn , hãy bỏ qua bước này và sao chép certificate và khóa của bạn để thay thế (xem Bước 5).
Tạo certificate SSL tạm thời bằng lệnh:
- make certificate
Chọn một passphrase (password bảo vệ) đơn giản, vì bạn cần nhập nó 4 lần và các certificate là trình giữ chỗ. Có thể bỏ qua hầu hết các câu hỏi: Câu hỏi duy nhất quan trọng là Common Name (eg server FQDN or YOUR name) []:
phải giống với domain của bạn.
Đây là một hộp thoại ví dụ:
openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus [...] Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key: openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be [...] Country Name (2 letter code) [AU]: DE State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: example.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: cp server.key server.key.org openssl rsa -in server.key.org -out server.key # strip passphrase Enter pass phrase for server.key.org: writing RSA key [...] Getting Private key
Bây giờ, ta đã sẵn sàng chạy PEPS bằng lệnh sau:
- sudo make run
Bước 3 - Đăng nhập lần đầu tiên
Kết nối với Server bằng địa chỉ IP của nó bằng cách truy cập https:// your_server_ip
từ trình duyệt của bạn trong đó your_server_ip
là địa chỉ IP của Server.
Vì ta hiện đang sử dụng certificate SSL tạm thời, trình duyệt của bạn sẽ cảnh báo bạn rằng trang web không an toàn. Chấp nhận nó bằng mọi cách. Với Chrome, nhấp vào Nâng cao để tiếp tục.
Ở lần chạy đầu tiên, bạn sẽ được yêu cầu tạo password administrator . Chọn bất kỳ ý thích nào của bạn, miễn là đủ độ phức tạp của nó.
Do mã hóa end-to-end trong PEPS, account administrator có thể tạo và xóa user nhưng sẽ không thể truy cập vào bất kỳ dữ liệu user được mã hóa hiện có nào.
Khi password administrator của bạn được cài đặt , giao diện PEPS chính sẽ hiển thị.
Tiếp theo, hãy tập trung vào việc cài đặt domain và certificate đúng cách.
Bước 4 - Cài đặt domain của bạn
Bây giờ version của bạn chạy tốt, ta vẫn cần đặt domain đúng cách, liên quan đến việc sử dụng certificate SSL thực, cấu hình DNS, v.v.
Hãy bắt đầu với DNS. Tùy thuộc vào nhà cung cấp domain của bạn, sử dụng giao diện riêng của họ để cài đặt các mục nhập DNS cho domain của bạn hoặc cài đặt server DNS của bạn . Nếu bạn muốn cài đặt server DNS của riêng mình, bạn có thể sử dụng bài viết Cách cấu hình BIND làm Server DNS Mạng riêng trên Ubuntu 14.04 , là một phần của loạt bài viết Giới thiệu về Quản lý DNS .
Bạn phải đặt cả bản ghi A và MX. Ví dụ: đối với domain example.com
hư cấu được lưu trữ trên mail.example.com
:
mail.example.com. 10799 IN A your_server_ip mail.example.com. 10799 IN MX example.com.
Tên Server phải là mail.example.com
. Đừng lo lắng. Bạn có thể đổi tên Server từ account DigitalOcean của bạn . Bấm vào tên server để xem chi tiết của nó, bấm vào tab Cài đặt , sau đó bấm vào tab Đổi tên . Bạn có thể phải đợi DNS được cập nhật.
Bạn cũng có thể cài đặt các profile bổ sung. Trình kiểm tra trực tuyến MXToolBox hữu ích để xác minh domain của bạn được cài đặt đúng cách và đưa ra lời khuyên về một số điểm.
Lưu ý quá trình lan truyền DNS có thể hơi chậm, nhưng sau một thời gian (thường là 1 giờ), bạn có thể truy cập PEPS từ https://example.com
.
Lưu ý: Sau khi bạn cấu hình xong PEPS, nếu bạn không thể gửi hoặc nhận email từ các domain bên ngoài, hãy kiểm tra kỹ các bản ghi A và MX của bạn. Nếu chúng không được đặt chính xác, bạn sẽ không thể gửi hoặc nhận email từ các domain khác với domain của bạn.
Bước 5 - Cài đặt certificate SSL
Bạn vẫn sẽ có cảnh báo certificate SSL không hợp lệ từ trình duyệt của bạn .
Bây giờ là lúc để cài đặt certificate SSL. Nếu bạn chưa có certificate SSL, bạn có thể mua chúng từ nhà cung cấp hoặc thậm chí cài đặt certificate SSL miễn phí cho các mục đích phi thương mại.
Bài viết Cách cài đặt certificate SSL từ Cơ quan cấp certificate thương mại giải thích mọi thứ về certificate SSL, bao gồm cả cách mua certificate .
Đảm bảo sao chép cả khóa và certificate có tên server.key
và server.crt
trong folder /etc/peps/
.
Chuẩn bị chúng trên máy tính local của bạn và sao chép file vào server của bạn bằng cách chạy từ folder chứa các certificate :
- scp server.key server.crt your_server_ip:/etc/peps/
trong đó your_server_ip
là địa chỉ IP của Server.
Khi hoàn tất, hãy kiểm tra xem trình duyệt của bạn có thể truy cập https://example.com
mà không có lỗi SSL hay không.
Bước 6 - Kiểm tra
Để tạo thêm user , hãy đăng nhập với quyền là admin-user với admin
là tên user và bằng password bạn đã tạo ở Bước 3: Đăng nhập lần đầu tiên . Admin-user có thể tạo account email cho domain của bạn. Đi tới Hướng dẫn sử dụng PEPS để tìm hiểu cách thực hiện.
Trước tiên, hãy cố gắng gửi và nhận email giữa hai user khác nhau trong domain của bạn. Ví dụ, hãy thử gửi một email từ admin@example.com để sammy@example.com . Nếu thành công, hãy thử yêu cầu sammy phản hồi với administrator đảm bảo thao tác ngược thành công.
Bây giờ, hãy gửi email đến account bên ngoài domain của bạn. Nếu điều này không thành công, bản ghi A và MX của bạn chưa được cấu hình đúng. Quay lại Bước 4: Cài đặt domain của bạn . Đừng quên kiểm tra việc nhận email từ user bên ngoài domain của bạn.
Kết luận
Xin chúc mừng! Đến đây bạn có một version PEPS đang chạy trên DigitalOcean Server. Bạn có thể gửi tin nhắn, chia sẻ file và hơn thế nữa (bằng cách chạy các plugin như trò chuyện ) một cách an toàn.
Có một số sách hướng dẫn có sẵn:
- Hướng dẫn sử dụng
- Hướng dẫn quản trị
- Tài liệu khác dành cho các nhà phát triển muốn sử dụng PEPS API hoặc cho các nhà khai thác liên quan đến backup và hơn thế nữa có sẵn từ wiki dự án trên GitHub .
Ngoài ra, hãy truy cập trang Facebook PEPS để biết tin tức mới nhất về PEPS.
Các tin liên quan
Cách chạy mail server của riêng bạn với Mail-in-a-Box trên Ubuntu 14.042015-05-15
Thiết lập server ban đầu với Debian 8
2015-05-11
Cách thiết lập server Hexxit (Minecraft Mod Pack) trên Ubuntu 14.04
2015-05-07
Cách cấu hình BIND làm server DNS Mạng riêng trên CentOS 7
2015-04-29
Cách cấu hình BIND làm server DNS Mạng riêng trên CentOS 7
2015-04-29
Cách cài đặt server Bacula trên CentOS 7
2015-04-15
Cách cài đặt Bacula Server trên Ubuntu 14.04
2015-04-09
Thiết lập ban đầu của server Fedora 21
2015-03-31
Cách giám sát tác nhân OSSEC bằng server OSSEC trên Ubuntu 14.04
2015-03-12
Cách thiết lập server OSRM trên Ubuntu 14.04
2015-02-20