Thứ bảy, 24/02/2018 | 00:00 GMT+7

Cách bảo mật Roundcube trên Ubuntu 16.04

Vì email là một phần quan trọng trong giao tiếp hiện đại, nên điều quan trọng là phải lưu ý bảo mật cho tất cả các phần của đường dẫn email của bạn. Roundcube là một ứng dụng webmail với các tính năng bảo mật mạnh mẽ và các tùy chọn tùy chỉnh mở rộng từ kho plugin của nó. Bài viết này giải thích cách bảo mật hơn nữa cài đặt Roundcube cơ bản, hiện có.

Nếu bạn đã sử dụng SSL khi cấu hình cài đặt IMAPSTMP trong cài đặt ban đầu của Roundcube, thì kết nối từ Roundcube đến server email của bạn đã được bảo mật. Tuy nhiên, kết nối từ trình duyệt của bạn với Roundcube thì không, và bản thân các email của bạn được gửi rõ ràng. Bản thân account Roundcube của bạn cũng chỉ được bảo vệ bằng password .

Trong hướng dẫn này, bạn sẽ bảo mật ba phần này của đường dẫn email bằng cách:

  • Thêm SSL vào Apache với Let's Encrypt.
  • Thêm xác thực hai yếu tố vào account Roundcube của bạn bằng plugin Roundcube.
  • Sử dụng GPG để ký và mã hóa email bằng plugin Roundcube.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

  • Một server Ubuntu 16.04 được cài đặt Roundcube theo hướng dẫn Roundcube này trên Ubuntu 16.04 . Sau khi hoàn thành hướng dẫn tiên quyết này, bạn sẽ có một ứng dụng email web đầy đủ chức năng - nhưng một phần không an toàn -.
  • Điện thoại thông minh hoặc máy tính bảng có cài đặt ứng dụng tương thích với TOTP, như Google Authenticator ( iOS , Android ). Bạn sẽ sử dụng điều này để cài đặt xác thực hai yếu tố.

Bạn có thể tìm hiểu thêm về xác thực đa yếu tố trong phần giới thiệu về Cách cài đặt xác thực đa yếu tố cho SSH trên Ubuntu 16.04 . Bạn có thể tìm hiểu thêm về GPG trong Cách sử dụng GPG để mã hóa và ký tin nhắn .

Bước 1 - Thêm SSL để truy cập an toàn vào Roundcube

Ngay bây giờ, nếu bạn truy cập cài đặt Roundcube của bạn bằng cách sử dụng domain của server trong trình duyệt, bạn sẽ được kết nối qua HTTP thay vì HTTPS. Để bảo mật hoàn toàn toàn bộ chuỗi liên lạc từ trình duyệt đến server email của bạn, kết nối này với Roundcube phải sử dụng SSL / TLS.

Một cách dễ dàng để làm điều này là sử dụng certificate SSL miễn phí từ Let's Encrypt. Roundcube được cài đặt trên đầu LAMP , vì vậy bạn có thể làm theo Cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 16.04 để có hướng dẫn chi tiết về cách cài đặt này. Đây là một bản tóm tắt ngắn gọn:

Đầu tiên, cài đặt Let's Encrypt Client.

sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-apache 

Sau đó, lấy certificate SSL của bạn và xác minh tính năng tự động gia hạn hoạt động. Thay thế example.com bằng domain của bạn và sử dụng cờ -d bổ sung cho bất kỳ domain phụ hoặc alias nào.

  • sudo certbot --apache -d example.com
  • sudo certbot renew --dry-run

Trong quá trình cấu hình tương tác (sau khi nhập sudo certbot --apache -d example.com ), khi được hỏi bạn muốn cài đặt cơ bản hay an toàn, hãy đảm bảo chọn an toàn . Điều này sẽ đảm bảo tất cả truy cập HTTP được chuyển hướng đến HTTPS.

Như vậy, bạn có một kết nối an toàn từ máy tính đến bản cài đặt Roundcube của bạn , từ đó tạo kết nối an toàn với server email IMAP / SMTP của bạn. Vẫn còn một số điều bạn có thể làm để cải thiện tính bảo mật của liên lạc email của bạn , nhưng chúng yêu cầu plugin.

Bước tiếp theo sử dụng plugin để tăng cường bảo mật cho account Roundcube bằng cách thêm xác thực hai yếu tố.

Bước 2 - Cài đặt Plugin xác thực hai yếu tố

Mặc dù dự án Roundcube đang hoạt động trên chức năng GUI cho các plugin, nhưng tại thời điểm này, tất cả các plugin phải được cài đặt thông qua dòng lệnh. Có hai cách để làm điều này:

  • Cài đặt thủ công , là phương pháp đầu tiên có sẵn. Điều này liên quan đến việc download plugin (thường là .zip hoặc trong repository lưu trữ Git), sau đó kích hoạt nó bằng cách sửa đổi file cấu hình Roundcube /var/www/roundcube/config/config.inc.ph .
  • Cài đặt bán tự động , là phương pháp hiện đại hơn. Điều này trả lời trên trình quản lý gói PHP, Composer, để cài đặt các plugin bạn chỉ định trong file cấu hình của nó.

Một số plugin đề xuất một phương pháp cài đặt hơn phương pháp khác. Plugin 2FA hoạt động với cả hai phương pháp và không đưa ra đề xuất, vì vậy ở đây, ta sẽ sử dụng cài đặt bán tự động vì tính dễ sử dụng của nó.

Composer được kiểm soát bởi file composer.json được lưu trữ trong $RC_HOME/composer.json . Để kích hoạt Composer bằng cách tạo file cấu hình đó. Roundcube đi kèm với một file cấu hình cơ bản có tên là composer.json-dist , vì vậy ta sẽ bắt đầu từ một bản sao của file đó.

  • cd /var/www/roundcube
  • sudo cp composer.json-dist composer.json

Có một số plugin cốt lõi đã được chỉ định trong file mặc định này, vì vậy, tiếp theo, hãy chạy Composer để cài đặt các plugin này và hoàn tất cấu hình ban đầu của nó. Đảm bảo rằng bạn chạy Composer từ folder /var/www/roundcube .

  • sudo composer install

Tiếp theo, để thêm plugin 2FA, ta cần thêm nó vào file composer.json .

Cú pháp của dòng plugin là " organization / plugin_name ": " version_or_branch " . Vì vậy, đối với plugin 2FA, dòng bạn sẽ thêm là " alexandregz / twofactor_gauthenticator ": " dev-master " .

Mở file composer.json để chỉnh sửa bằng nano hoặc editor yêu thích của bạn.

  • sudo nano /var/www/roundcube/composer.json

Tìm khối yêu cầu bắt đầu bằng "require": { . Mỗi dòng giữa dấu ngoặc nhọn ( {} ) là một dòng plugin. Tất cả các dòng plugin trong khối phải kết thúc bằng dấu phẩy ngoại trừ mục nhập cuối cùng.

Thêm dòng plugin 2FA vào cuối khối và đảm bảo thêm dấu phẩy vào dòng trước.

/var/www/roundcube/composer.json
. . . "require": {     "php": ">=5.4.0",     "pear/pear-core-minimal": "~1.10.1",     "pear/net_socket": "~1.2.1",     "pear/auth_sasl": "~1.1.0",     "pear/net_idna2": "~0.2.0",     "pear/mail_mime": "~1.10.0",     "pear/net_smtp": "~1.7.1",     "pear/crypt_gpg": "~1.6.2",     "pear/net_sieve": "~1.4.0",     "roundcube/plugin-installer": "~0.1.6",     "endroid/qr-code": "~1.6.5",     "alexandregz/twofactor_gauthenticator": "dev-master" }, . . . 

Lưu file , sau đó chạy yêu cầu Composer cập nhật thông tin gói để cài đặt plugin mới.

  • sudo composer update

Khi Composer hỏi bạn có muốn bật plugin hay không, hãy nhập Y để tiếp tục. Sau khi được mở, hãy đăng xuất khỏi Roundcube và đăng nhập lại để kích hoạt plugin.

Bây giờ plugin đã được cài đặt, ta cần sử dụng để cài đặt nó 2FA trên account của bạn thông qua GUI của Roundcube.

Bước 3 - Bật 2FA trên account của bạn

Để bắt đầu, hãy đăng nhập vào Roundcube bằng IP server hoặc domain trong trình duyệt của bạn. Nhấp vào nút Cài đặt ở góc bên phải, sau đó nhấp vào Xác thực 2 yếu tố ở chuyển bên trái.

Trang cài đặt Xác thực 2 yếu tố Roundcube

Trong phần tùy chọn Xác thực 2 yếu tố, nhấp vào hộp kiểm Kích hoạt , sau đó nhấp vào Tạo bí mật .

Tiếp theo, nhấp vào Hiển thị mã khôi phục và lưu trữ bốn mã khôi phục được hiển thị ở một nơi an toàn. Bạn sẽ sử dụng các mã này để đăng nhập nếu bạn không thể tạo mã thông báo (ví dụ: nếu bạn bị mất điện thoại).

Cuối cùng, nhấp vào nút Lưu .

Điều này cho phép 2FA, nhưng bây giờ bạn cần thêm bí mật cho ứng dụng tương thích với TOTP của bạn , như Google Authenticator. Nhấp vào nút Hiển thị mã QR xuất hiện sau khi bạn lưu bí mật của bạn và quét mã bằng ứng dụng của bạn. Nếu quá trình quét không hoạt động, bạn cũng có thể nhập bí mật theo cách thủ công.

Mã QR xác thực 2 yếu tố hình tròn

Cuối cùng, khi ứng dụng của bạn đang tạo mã, hãy đảm bảo ứng dụng hoạt động bằng lệnh mã vào trường bên cạnh nút Kiểm tra mã , sau đó nhấp vào nút đó. Nếu nó hoạt động, bạn sẽ thấy một cửa sổ ghi Code OK và bạn có thể nhấp vào nút OK ở dưới cùng để đóng cửa sổ đó. Nếu có sự cố, hãy thử thêm lại bí mật vào ứng dụng của bạn.

Bước cuối cùng của việc bảo mật thông tin liên lạc kỹ thuật số của bạn là mã hóa các tin nhắn thực tế mà bạn gửi qua email. Ta sẽ thực hiện việc này trong bước tiếp theo bằng cách sử dụng plugin có tên Enigma.

Bước 4 - Bật email được mã hóa bằng GPG

Plugin Enigma bổ sung hỗ trợ xem và gửi email đã ký, mã hóa. Nếu bạn đã làm theo hướng dẫn cài đặt Roundcube trước đó , thì plugin Enigma đã được bật trong quá trình cài đặt của bạn. Nếu không, bạn có thể làm theo quy trình tương tự mà bạn đã sử dụng cho plugin 2FA ở Bước 2 để thêm plugin Enigma ngay bây giờ.

Để bắt đầu, ta cần bật một số tùy chọn mã hóa mặc định. Đăng nhập vào Roundcube và nhấp vào nút Cài đặt ở góc trên bên phải. Từ đó, hãy nhấp vào Tùy chọn và sau đó là Mã hóa trong danh sách Phần .

Đặt cài đặt mã hóa

Có 7 cài đặt mã hóa trong danh sách Tùy chọn chính . Kích hoạt cả 7 sẽ mang lại sự an toàn nhất, nhưng điều đó đi kèm với một số đánh đổi về khả năng sử dụng.

Dưới đây là từng tùy chọn trong menu Tùy chọn chính và các đề xuất của ta (cần thiết, được khuyến khích hoặc tùy chọn) cho từng tùy chọn, nhưng bạn nên chọn cài đặt phù hợp với trường hợp sử dụng của bạn :

  • Bật mã hóa và ký tin nhắn : Cần thiết. Điều này cho phép bạn ký và mã hóa tin nhắn.
  • Bật xác minh chữ ký tin nhắn Được khuyến nghị. Nếu ai đó gửi cho bạn email đã ký, cài đặt này khiến Roundcube cố gắng xác minh người gửi bằng địa chỉ email và khóa của họ.
  • Bật giải mã tin nhắn : Được khuyến nghị. Nếu ai đó gửi cho bạn một email được mã hóa, cài đặt này sẽ khiến Roundcube sử dụng các khóa GPG của bạn để giải mã nó.
  • Ký tất cả các tin nhắn theo mặc định : Tùy chọn. Điều này đánh dấu mọi email bạn gửi, ngay cả khi người bạn gửi email đó không có hỗ trợ GPG. Nếu không, họ sẽ thấy một khối ký tự ở cuối email. Bạn cũng có thể chuyển đổi tùy chọn này khi soạn email.
  • Mã hóa tất cả các tin nhắn theo mặc định : Tùy chọn. Điều này mã hóa mọi email bạn gửi, giả sử bạn có public key của người bạn đang gửi email. Bạn cũng có thể chuyển đổi tùy chọn này khi soạn email.
  • Đính kèm khóa PGP công khai của tôi theo mặc định : Tùy chọn. Điều này thêm public key GPG của bạn dưới dạng file đính kèm trong mỗi email bạn gửi. Nếu người nhận có hỗ trợ GPG, ứng dụng email của họ sẽ thấy khóa và cài đặt khóa đó vào khóa của họ để sau đó họ có thể gửi cho bạn email được mã hóa.
  • Giữ password private key để đặt khoảng thời gian Roundcube ghi nhớ passphrase (password bảo vệ) bạn nhập khi mã hóa hoặc giải mã email, vì vậy bạn không phải nhập nó mỗi lần.

Khi bạn đã chọn cài đặt của bạn , hãy nhấp vào Lưu. Tiếp theo, nhấp vào Danh tính trong cột Cài đặt .

Cập nhật danh tính

Cài đặt mặc định là một danh tính duy nhất với địa chỉ email bạn đã đăng ký. Nhấp vào email và điền vào trường Tên hiển thị . Bạn có thể tùy ý điền vào các trường khác, như Tổ chức . Khi bạn hoàn tất, hãy nhấp vào nút Lưu .

Phần cuối cùng của cấu hình là tạo một khóa. Nhấp vào Khóa PGP trong chuyển bên trái.

Nếu bạn đã có khóa GPG, bạn có thể nhấp vào Nhập ở trên cùng bên phải và nhập khóa bí mật, sau đó nhấp lại vào khóa đó để nhập public key của bạn.

Nếu bạn không có khóa GPG hoặc nếu bạn muốn tạo một khóa mới, hãy nhấp vào nút dấu cộng ( + ) ở cuối cột PGP Keys . Từ đó, chọn danh tính mà bạn muốn tạo khóa và chọn độ bền của khóa (kích thước khóa càng lớn thì càng khó phá mã nhưng thực hiện mã hóa càng chậm). Cuối cùng, chọn một password mạnh và nhấp vào Lưu .

Cảnh báo : Có một lỗi ngăn cản việc tạo khóa mới trong Roundcube khi sử dụng Chrome. Nếu bạn thường sử dụng Chrome, hãy tạm thời chuyển sang trình duyệt khác để tạo khóa mới. Sau khi có khóa trong Chrome, việc nhập các cặp khóa và ký / mã hóa sẽ hoạt động như mong đợi.

Khi bạn nhận được email có chữ ký đã xác minh, Roundcube hiển thị chữ ký đã xác minh màu xanh lục từ thông báo ở trên cùng:

Email đã ký

Khi bạn nhận và giải mã một email được mã hóa, Roundcube sẽ hiển thị thông báo đã giải mã Tin nhắn :

Email được giải mã

Để sử dụng mã hóa GPG trong thư của bạn, hãy soạn email mới bằng cách nhấp vào biểu tượng Thư ở phía trên bên trái, sau đó nhấp vào Soạn . Nhấp vào biểu tượng Mã hóa để xem các tùy chọn mã hóa có sẵn cho bạn. Những điều này phụ thuộc vào những gì bạn đã chọn trong cài đặt mã hóa. Nếu bạn đã làm theo các khuyến nghị của ta , bạn sẽ thấy Thư này ký điện tử , Mã hóa thư nàyĐính kèm public key của tôi .Khi bạn gửi email, hãy kiểm tra các tùy chọn mã hóa bạn muốn.

Kết luận

Bằng cách thêm SSL, xác thực hai yếu tố và mã hóa GPG, đường dẫn email của bạn an toàn hơn đáng kể. Từ đây, bạn có thể tiếp tục mở rộng và tùy chỉnh Roundcube bằng cách khám phá Kho lưu trữ plugin Roundcube .


Tags:

Các tin liên quan

Cách cài đặt ứng dụng Webmail của riêng bạn với Roundcube trên Ubuntu 16.04
2018-02-24
Cách thiết lập và sử dụng LXD trên Ubuntu 16.04
2018-02-22
Cách cài đặt và bảo mật phpMyAdmin trên Ubuntu 16.04
2018-02-20
Cách thiết lập vsftpd cho Thư mục người dùng trên Ubuntu 16.04
2018-02-20
Cách thiết lập đường ống tích hợp liên tục với GitLab CI trên Ubuntu 16.04
2018-01-26
Cách cài đặt Swift và Vapor trên Ubuntu 16.04
2018-01-25
Cách cài đặt và cấu hình GitLab trên Ubuntu 16.04
2018-01-24
Cách cài đặt và bảo mật Grafana trên Ubuntu 16.04
2017-12-27
Cách cài đặt Prometheus trên Ubuntu 16.04
2017-12-14
Cách theo dõi cảnh báo Nagios với Alerta trên Ubuntu 16.04
2017-12-13