Hiển thị các bài đăng có nhãn IT. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn IT. Hiển thị tất cả bài đăng

2021-07-31

Hướng dẫn cài đặt email Zimbra 8.8.15 trên CentOS 8 mô hình single-server

Zimbra là một bộ phần mềm email server mã nguồn mở bên cạnh phiên bản trả phí, có rất nhiều tính năng và sự ổn định, được nhiều doanh nghiệp, các nhà cung cấp dịch vụ email và các cơ quan Nhà nước tại Việt Nam sử dụng nhằm mục đích tối ưu chi phí và chủ động kiểm soát bảo mật thông tin.

Nhân dịp cài đặt máy chủ email Zimbra cho một công ty thực hiện vào 5/2021, viethoangit.com đăng tải hướng dẫn cài đặt để mọi người tham khảo, nếu thấy có sai sót nào mong mọi người bình luận bên dưới bài viết.

Trong quá trình cài đặt có tham khảo tài liệu Triển khai hệ thống Zimbra mô hình Multi-Server từ công ty Iway của anh Trương Anh Tuấn (iwayvietnam.com).

I. KẾ HOẠCH CÀI ĐẶT


Hướng dẫn này dành cho phiên bản Zimbra 8.8.15 collaboration open source edition cài đặt trên 1 máy chủ CentOS 8 (mô hình Single-Server).

Tên miền giả định được sử dụng trong bài viết là mail.viethoangit.com. 
IP giả định là 192.168.16.235 (thay bằng IP public của bạn trong thực tế).

Thứ tự cài đặt:


Bước 1. Cài đặt hệ điều hành máy chủ CentOS 8

Bước 2. Cấu hình các bản ghi quan trọng: A, MX, SPF, PTR

Bước 3. Cài đặt Zimbra

Bước 4. Cấu hình bảo mật cho Zimbra: SSL, DKIM, DMARC

Bước 5. Các cấu hình bổ sung khác (tùy chọn)

Các bước từ bước 1 tới bước 4 là bắt buộc phải thực hiện để đảm bảo máy chủ email chạy đúng và an toàn, giảm thiểu nguy cơ bị virus, spam, phising…

Bước thứ 5 có thể thực hiện hoặc không tùy bạn, nó chỉ là một số cài đặt trong số rất nhiều những cài đặt khác có hướng dẫn ở trên internet tùy theo nhu cầu của người quản trị.

II. CHUẨN BỊ MÔI TRƯỜNG MÁY CHỦ


1. Đặt time zone:

timedatectl set-timezone Asia/Ho_Chi_Minh

2. Cài đặt RAM ảo:


sysctl vm.swappiness=5

Giá trị 5 nghĩa là RAM ảo chỉ sử dụng khi hết 95% RAM vật lý.

Check giá trị swappiness hiện tại:

cat /proc/sys/vm/swappiness

3. Cài đặt đồng bộ thời gian:


Trên CentOS 8 đã cài sẵn chrony

Để kiểm tra dùng lệnh: chronyc sources

4. Tắt dịch vụ postfix


systemctl stop postfix && systemctl disable postfix

5. Update hệ thống:


yum -y update

6. Đặt hostname:


hostnamectl set-hostname mail.viethoangit.com

Thêm hostname vào file /etc/hosts:

echo "192.168.16.235 mail.viethoangit.com mail" >> /etc/hosts

7. Tắt SELinux:


Tắt Selinux tạm thời để tránh lỗi khi cài đặt:

setenforce 0

Nếu trong quá trình sử dụng Zimbra phát sinh lỗi do Selinux thì bạn có thể tắt nó:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Kiểm tra SELinux bằng lệnh:

sestatus

Hiển thị “SELinux status: disabled” là thành công.

Bật lại selinux:

sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/sysconfig/selinux

sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config

8. Cài đặt các gói hỗ trợ:


yum -y install unzip net-tools bind-utils sysstat openssh-clients perl-core libaio nmap-ncat libstdc++.so.6 wget

III. CẤU HÌNH CÁC BẢN GHI QUAN TRỌNG


1. Cấu hình bản ghi A và MX

Bản ghi có dạng

mail A 192.168.16.235

@ MX mail.viethoangit.com 10

Kiểm tra bản ghi MX bằng lệnh:

nslookup -type=mx viethoangit.com

hoặc

dig mx viethoangit.com +noall +answer

Hoặc kiểm tra qua link: https://mxtoolbox.com/

2. Cấu hình SPF (Sender Policy Framework)

Cấu hình bản ghi DNS:

- Tên máy chủ: @
- Loại: TXT
- Địa chỉ chuỗi dạng: v=spf1 +a +mx +ip4:192.168.16.235 ~all

Xem thêm hướng dẫn từ nhà cung cấp domain để biết chi tiết.

Kiểm tra SPF:

dig txt viethoangit.com +noall +answer

hoặc

nslookup -type=txt viethoangit.com

Nếu không thành công sẽ có dòng thông báo “does not designate”.

Hoặc kiểm tra qua link: https://mxtoolbox.com/
 

3. Cấu hình PTR record (rDNS)


Yêu cầu bên quản lý IP (nếu thuê tại data center) hoặc bên quản lý đường truyền (nếu thuê leased-line, ftth có IP tĩnh) trỏ PTR từ IP.

Ví dụ bản ghi có dạng:

192.168.16.235.in-addr. arpa IN PTR mail.viethoangit.com

Kiểm tra bản ghi PTR:

dig -x 192.168.16.235 +noall +answer

hoặc

nslookup -type=ptr 192.168.16.235

IV. CÀI ĐẶT ZIMBRA


1. Tải Zimbra:

cd /var/tmp

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3953.RHEL8_64.20200629025823.tgz

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3953.RHEL8_64.20200629025823.tgz.sha256

2. Giải nén Zimbra:


tar -xvzf zcs-8.8.15_GA_3953.RHEL8_64.20200629025823.tgz

3. Cài đặt Zimbra:


cd zcs-8.8.15_GA_3953.RHEL8_64.20200629025823

./install.sh

Chọn Y ở tất cả các tùy chọn:

(Chọn N ở “Install zimbra-dnscache” nếu muốn sử dụng server DNS riêng)



Đến đoạn thông báo về DNS error:
DNS ERROR resolving mail.viethoangit.com

It is suggested that the hostname be revolvable via DNS

Change hostname? [Yes]

Đặt thành viethoangit.com (không có “email.”)


Đến đoạn thông báo về DNS error resolving MX:


Đổi lại thành viethoangit.com (không có “email.”):

Màn hình thông báo như hình dưới:


Tiếp theo màn hình sẽ hiển thị như bên dưới:


Chọn 7 để vào “zimbra-store”, sau đó chọn 4 để vào set “Admin Password”.


Nhấn “r” để quay lại menu chính.

Nhấn “a” để chấp nhận các thay đổi.

Hệ thống sẽ tiến hành các thiết lập cuối, chờ một khoảng thời gian đến khi xuất hiện thông báo bên dưới là đã hoàn tất cài đặt:

Configuration complete - press return to exit

4. Tạo SSH key cho tài khoản zimbra:


Mặc định Zimbra sẽ tạo một tài khoản nhưng tắt login bằng mật khẩu, Zimbra Collaboration Suite kết nối với user này bằng ssh keys, cấu hình như sau:

# sudo -u zimbra -i

$ zmupdateauthkeys

Updating keys for webmail.example.com
Fetching key for webmail.example.com
Updating keys for webmail.example.com
Updating /opt/zimbra/.ssh/authorized_keys

5. Hiển thị thống kê trên Administration console


[root@mail ~]# /opt/zimbra/libexec/zmsyslogsetup

Terminal hiển thị:

updateSyslog: Updating /etc/rsyslog.conf...done.

6. Mở port trên firewall:


firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995, 2703,5222,5223,7071,8443,9071,24441}/tcp

firewall-cmd --permanent --add-port=24441/udp

firewall-cmd –reload

Kiểm tra:

firewall-cmd --list-all

7. Kiểm tra các dịch vụ của Zimbra


Đăng nhập vào tài khoản được cấp quyền chạy Zimbra:

su zimbra

Chạy lệnh kiểm tra:

zmcontrol status

8. Kiểm tra đăng nhập vào giao diện quản trị:


https://mail.viethoangit.com:7071/zimbraAdmin/

V. CẤU HÌNH BẢO MẬT CHO ZIMBRA


Lưu ý: Không gửi email trước khi hoàn tất phần cấu hình để tránh bị cho vào blacklist.

1. Bật tự động quét file đính kèm bằng ClamAV antivirus:


# su - zimbra

$ zmprov mcf zimbraAttachmentsScanURL clam://localhost:3310/

$ zmprov mcf zimbraAttachmentsScanEnabled TRUE

2. Cấu hình SSL


Hướng dẫn cấu hình SSL miễn phí: Letsencrypt ssl certificate

Cấu hình certbot-auto làm theo hướng dẫn tại:

https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate

Nếu lỗi system không hỗ trợ certbot-auto thì làm theo các bước bên dưới như các hướng dẫn này:

https://certbot.eff.org/lets-encrypt/centosrhel8-other

https://snapcraft.io/docs/installing-snap-on-centos

Adding EPEL cho CentOS 8

$ sudo dnf install epel-release

$ sudo dnf upgrade

Installing snapd

$ sudo yum install snapd

Bật snapd socket:

$ sudo systemctl enable --now snapd.socket

Bật hỗ trợ classic snap:

$ sudo ln -s /var/lib/snapd/snap /snap

Đảm bảo phiên bản mới nhất của snapd:

sudo snap install core

sudo snap refresh core

Xóa certbot-auto và bất kỳ Certbot OS packages:

sudo yum remove certbot.

Cài đặt Certbot

sudo snap install --classic certbot

Warning: /var/lib/snapd/snap/bin was not found in your $PATH. If you've not restarted your session
since you installed snapd, try doing that. Please see https://forum.snapcraft.io/t/9469
for more details.
certbot 1.15.0 from Certbot Project (certbot-eff✓) installed

[root@mail letsencrypt]# ln -s /snap/bin/certbot /usr/bin/certbot

[root@mail letsencrypt]# certbot certonly --standalone

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): admin@viethoangit.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: n
Account registered.
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): mail.viethoangit.com
Requesting a certificate for mail.viethoangit.com
Performing the following challenges:
http-01 challenge for mail.viethoangit.com
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mail.viethoangit.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mail.viethoangit.com/privkey.pem
Your certificate will expire on 2021-09-09. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Chuẩn bị cho Certbot command

Thực thi lệnh dưới để đảm bảo cerbot command có thể chạy

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Chạy Certbot

Trường hợp không chạy web server

sudo certbot certonly –standalone

Trường hợp web server đang chạy:

sudo certbot certonly --webroot

Important Note:

To use the webroot plugin, your server must be configured to serve files from hidden directories. If /.well-known is treated specially by your webserver configuration, you might need to modify the configuration to ensure that files inside /.well-known/acme-challenge are served by the webserver.

Thử nghiệm gia hạn tự động

Các gói Certbot trên hệ thống của bạn đi kèm với cron job hoặc systemd timer sẽ tự động gia hạn chứng chỉ của bạn trước khi chúng hết hạn. Bạn sẽ không cần phải chạy lại Certbot, trừ khi bạn thay đổi cấu hình của mình. Bạn có thể kiểm tra tính năng gia hạn tự động cho các chứng chỉ của mình bằng cách chạy lệnh sau:

sudo certbot renew --dry-run


Lệnh gia hạn certbot được cài đặt ở một trong các vị trí sau:

/etc/crontab/

/etc/cron.*/*

systemctl list-timers

Phần này ví dụ về renew khi có webserver HAProxy trên cùng máy chủ:
If you needed to stop your webserver to run Certbot, you'll want to add hook scripts to stop and start your webserver automatically. For example, if your webserver is HAProxy, run the following commands:

sudo sh -c 'printf "#!/bin/sh\nservice haproxy stop\n" > /etc/letsencrypt/renewal-hooks/pre/haproxy.sh'
sudo sh -c 'printf "#!/bin/sh\nservice haproxy start\n" > /etc/letsencrypt/renewal-hooks/post/haproxy.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/pre/haproxy.sh
sudo chmod 755 /etc/letsencrypt/renewal-hooks/post/haproxy.sh

Xây dựng CA trung gian thích hợp cộng với Root CA

Let's Encrypt gần như hoàn hảo, nhưng trong quá trình tạo tệp, họ chỉ thêm tệp chain.pem mà không cần root CA. Bạn phải sử dụng IdenTrust root Certificate và hợp nhất nó sau chain.pem

Copy chuỗi kí tự tại link này: https://letsencrypt.org/certs/trustid-x3-root.pem.txt

Dán vào hàng cuối cùng của tệp chain.pem tại đường dẫn:

/opt/zimbra/ssl/letsencrypt/chain.pem

Verify your commercial certificate.

Copy thư mục Let's Encrypt /etc/letsencrypt/live/$domain vào /opt/zimbra/ssl/letsencrypt:

mkdir /opt/zimbra/ssl/letsencrypt

cp /etc/letsencrypt/live/mail.viethoangit.com/* /opt/zimbra/ssl/letsencrypt/

chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*

ls -la /opt/zimbra/ssl/letsencrypt/

su zimbra

cd /opt/zimbra/ssl/letsencrypt/

/opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cer

** Verifying 'cert.pem' against 'privkey.pem'
Certificate 'cert.pem' and private key 'privkey.pem' match.
** Verifying 'cert.pem' against 'chain.pem'
Valid certificate chain: cert.pem: OK

Deploy the new Let's Encrypt SSL certificate

Backup thư mục Zimbra SSL

cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d")

Copy the private key under Zimbra SSL path

Trước khi triển khai Chứng chỉ SSL, bạn cần di chuyển privkey.pem theo đường dẫn thương mại SSL Zimbra, như sau:

cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

Deploy:

$ cd /opt/zimbra/ssl/letsencrypt/

[zimbra@mail letsencrypt]$ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem


Khởi động Zimbra sau đó vào website để kiểm tra xem SSL đã hoạt động hay chưa:

su zimbra

zmproxyctl start

zmmailboxdctl start

Kiểm tra chất lượng SSL

https://www.ssllabs.com/ssltest/

Điểm A+ là tốt.

Nếu chưa đạt điểm A+ thì có thể tối ưu theo gợi ý trong bài này:

https://zimico.vn/lam-cach-nao-de-dat-diem-a-cho-ssl-test-tren-zimbra/

3. Cấu hình DKIM



Login vào tài khoản Zimbra

su zimbra

Đăng ký khóa DKIM

[zimbra@mail root]$ /opt/zimbra/libexec/zmdkimkeyutil -a -d viethoangit.com

DKIM Data added to LDAP for domain viethoangit.com with selector F9202012-A733-11EB-9336-EE4F3EDFDAF2

Public signature to enter into DNS:

F9202012-A733-11EB-9336-EE4F3EDFDAF2._domainkey IN TXT ( "v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4YUv3Obt2v/wEPkzQ1asRq0UgC+5/FrlZNLjj0MLTrM+PzdNzx0a+12LTTpcG3GIunpmFsBxUxZ3Ax969q0thqUerRe4To/dpTc+pOFr21yimV7RXL4xQxDH1f1qBYoBGj4sJqeQqLNDQmI3ZLf8CFGa+exkh8uiDgbUg8b3BqeooizoL1X7dRI9tuioxvkILubCncKDvHTtIR"

"PpulJDOCvIYJLB7WJK2sPqo0FXd3gfyrG2QJcshsHBaAxDF0iZnCoaFq4fJCDHcj6e79WBjA9IZpbw1KwO8+JPdLf2N/JqC3AtyfbNRLFhbYKNYyyLZXhDIRxRSAHLJ97wdY/oFwIDAQAB" ) ; ----- DKIM key F9202012-A733-11EB-9336-EE4F3EDFDAF2


Tạo bản ghi trên DNS của tên miền:

Host record: F9202012-A733-11EB-9336-EE4F3EDFDAF2._domainkey

Type: TXT

Value:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4YUv3Obt2v/wEPkzQ1asRq0UgC+5/FrlZNLjj0MLTrM+PzdNzx0a+12LTTpcG3GIunpmFsBxUxZ3Ax969q0thqUerRe4To/dpTc+pOFr21yimV7RXL4xQxDH1f1qBYoBGj4sJqeQqLNDQmI3ZLf8CFGa+exkh8uiDgbUg8b3BqeooizoL1X7dRI9tuioxvkILubCncKDvHTtIRPpulJDOCvIYJLB7WJK2sPqo0FXd3gfyrG2QJcshsHBaAxDF0iZnCoaFq4fJCDHcj6e79WBjA9IZpbw1KwO8+JPdLf2N/JqC3AtyfbNRLFhbYKNYyyLZXhDIRxRSAHLJ97wdY/oFwIDAQAB

Lưu ý: xóa bỏ đấu “ (ngoặc kép) và khoảng trắng giữa 2 đoạn mã.
 
Check DKIM record

Cú pháp: dig txt selector._domainkey.domain

dig txt F9202012-A733-11EB-9336-EE4F3EDFDAF2._domainkey.viethoangit.com +noall +answer

hoặc

nslookup -type=txt F9202012-A733-11EB-9336-EE4F3EDFDAF2._domainkey.viethoangit.com

Hoặc kiểm tra online tại các link:

http://dkimvalidator.com

http://dkimcore.org/tools/keycheck.html

https://mxtoolbox.com/dkim.aspx
 

4. Cấu hình DMARC


Tạo bản ghi DMARC

Có thể vào trang sau: https://www.kitterman.com/dmarc/assistant.html


Ví dụ mẫu DMARC:

Host record: _dmarc

Type: TXT

Value: 
v=DMARC1; 
p=quarantine; rua=mailto:admin@viethoangit.com; 
ruf=mailto:admin@viethoangit.com; sp=quarantine

DMARC này có policy là quarantine. Tất cả các email không thỏa mãn điều kiện kiểm tra DKIM, SPF sẽ bị reject và gửi báo cáo về cho admin@viethoangit.com.

Lưu ý chỉ sử dụng _dmarc (không có dấu chấm (.) phía sau) trong DNS record. (Việc này tùy vào nhà cung cấp dịch vụ tên miền cho bạn quy định, vui lòng liên hệ với họ để được hướng dẫn).

Kiểm tra:

dig txt _dmarc.viethoangit.com +noall +answer

hoặc

nslookup -type=txt _dmarc.viethoangit.com

hoặc

Sau khi đã thiết lập xong có thể gửi mail đến gmail để kiểm tra. Xem trong phần show original sẽ báo PASS cho SPF, DKIM và DMARC.

Hoặc kiểm tra trên https://mxtoolbox.com

Ghi chú: Sau khi đã cấu hình đầy đủ DKIM, DMARC, có thể dùng Mail Tester (www.mail-tester.com) để kiểm tra. Gửi mail đến địa chỉ mail được chỉ định đang hiển thị trên trang web sau đó click và nút check, bạn sẽ biết điểm đánh giá, thường thì hệ thống cần đạt từ 8,5-10 điểm.

VI. CÁC CẤU HÌNH KHÁC (tùy chọn)


1. Cấu hình Antispam bổ sung
 
1. 1. Customizing SpamAssassin

Automatic rule updates

$ zmlocalconfig antispam_enable_rule_updates

antispam_enable_rule_updates = false

$ zmlocalconfig antispam_enable_restarts

antispam_enable_restarts = false

$ zmlocalconfig -e antispam_enable_rule_updates=true
$ zmlocalconfig -e antispam_enable_restarts=true

Automatic rule compilation

$ zmlocalconfig -e antispam_enable_rule_compilation=true

$ zmamavisdctl restart

$ zmmtactl restart

1. 2. Customizing Postfix

zmprov ms mail.viethoangit.com +zimbraMtaRestriction reject_unknown_reverse_client_hostname

1. 3. SpamAssassin Tweaks via the Commandline
 
Increase Amavis's Log Level

zmprov mcf zimbraAmavisLogLevel 2

Put Amavis's Temp Dir on a RAM Disk

zmamavisdctl stop

mount -t tmpfs -o size=1024m tmpfs /opt/zimbra/data/amavisd/tmp

Kiểm tra: mount | grep "tmpfs"

Auto-mount:

vi /etc/fstab

Chèn dòng bên dưới vào file:

tmpfs /opt/zimbra/data/amavisd/tmp tmpfs defaults,noexec,nodev,nosuid,size=1024m,mode=750,uid=zimbra,gid=zimbra 0 0

1. 4. Enable DCC

yum -y install gcc

mkdir -p /opt/zimbra/dcc-2.3.168

chown zimbra:zimbra /opt/zimbra/dcc-2.3.168

cd /opt/zimbra;ln -s dcc-2.3.168 dcc

su zimbra

cd /tmp

mkdir dcc

wget https://www.dcc-servers.net/dcc/source/dcc.tar.Z

tar xfz dcc.tar.Z

cd dcc-2.3.168

./configure --homedir=/opt/zimbra/dcc-2.3.168 \--disable-sys-inst --with-uid=zimbra --disable-server \--disable-dccifd --disable-dccm \--with-updatedcc_pfile=/opt/zimbra/data/dcc \--with-rundir=/opt/zimbra/data/dcc/run \--bindir=/opt/zimbra/dcc-2.3.168/bin

make

make install

cd /opt/zimbra/data

mkdir -p dcc/run

Update /opt/zimbra/data/spamassassin/localrules/sauser.cf

use_dcc 2

dcc_path /opt/zimbra/dcc/bin/dccproc

Restart Amavis

zmamavisdctl restart

2. Giới hạn gửi nhận email với Policyd


Ghi chú: Các bạn nên làm theo hướng dẫn mới hơn có trên Zimbra Wiki tại link: https://wiki.zimbra.com/wiki/CBPolicyd_with_Zimbra_MySQL (Setting up CBPolicyd with Zimbra MySQL)

Dưới đây là hướng dẫn làm theo tài liệu trên blog có tại link bên dưới mà tôi đã thực hiện:

https://blog.zimbra.com/2020/03/2-3-zimbra-open-core-series-rate-limiting-email-with-policyd/

Tải script

wget https://raw.githubusercontent.com/Zimbra-Community/zimbra-tools/

master/cbpolicyd.sh -O /tmp/cbpolicyd.sh

Cho phép thực thi

chmod +rx /tmp/cbpolicyd.sh

Chạy script

./tmp/cbpolicyd.sh

Bật và khởi động lại

su zimbra

zmprov ms mail.viethoangit.com +zimbraServiceEnabled cbpolicyd

zmprov ms mail.viethoangit.com zimbraCBPolicydQuotasEnabled TRUE

zmmtactl restart && zmcbpolicydctl start

Mặc định, script cài đặt sẽ thiết lập chính sách cho phép:

– Hạn chế bất kỳ người gửi nào chỉ được phép gửi tối đa 100 email mỗi 60 giây. Qúa số lượng này các email sẽ bị deferred.

– Hạn chế người dùng chỉ có thể nhận tối đa 125 email mỗi 60 giây. Qúa số lượng này sẽ bị chặn (reject).

Để kiểm tra cấu hình, hãy tạm thời thay đổi tỷ lệ email gửi đi thành một con số thấp hơn, để bạn có thể quan sát xem email có bị từ chối hay không:

/opt/zimbra/bin/mysql policyd_db

SELECT * FROM quotas_limits;

UPDATE quotas_limits SET CounterLimit = 1 WHERE QuotasID = 3;



Xem cấu hình mặc định:

zmlocalconfig | grep -i cbpolicy

Xem log policyd tại:

/opt/zimbra/log/cbpolicyd.log

3. Sửa lỗi phân quyền


su - zimbra -c 'zmcontrol stop'

/opt/zimbra/libexec/zmfixperms -v -e

su - zimbra -c 'zmcontrol start'

4. Tài liệu tham chiếu


https://zimbra.github.io/installguides/latest/single.html

https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate

https://wiki.zimbra.com/wiki/Configuring_for_DKIM_Signing

https://wiki.zimbra.com/wiki/Best_Practices_on_Email_Protection:_SPF,_DKIM_and_DMARC

https://wiki.zimbra.com/wiki/Category:ZCS_8.8

https://wiki.zimbra.com/wiki/CBPolicyd_with_Zimbra_MySQL

2020-12-19

Kiến trúc mạng – phần 3: Mạng gia đình có nhiều thiết bị IoT

Internet of Things (IoT) – internet vạn vật, là một kỷ nguyên kết nối mới khi mọi thứ đều có khả năng kết nối internet, mọi thiết bị đều hoạt động và kết nối với nhau một cách thông minh, và chính quyền, doanh nghiệp, cá nhân có thể giám sát, điều khiển chúng từ xa qua internet chỉ bằng thiết bị di động. Đặc biệt trong bối cảnh mạng 5G đã đi vào cuộc sống thì IoT như có thêm một lực đẩy để phát triển mạnh mẽ. Bài viết này sẽ trình bày mô hình tổng quan của mạng gia đình có nhiều thiết bị IoT trong bối cảnh nhà thông minh phát triển mạnh mẽ như hiện nay. 

Nhu cầu của công dân hiện đại là được sống trong ngôi nhà của mình với tất cả thiết bị điện tử trong nhà đều thông minh, có thể tương tác với chủ nhân của nó, đồng thời điều khiển được từ xa qua internet. Chỉ bằng một chiếc điện thoại hoặc máy tính bảng, trên cùng một giao diện, chúng ta có thể xem được mọi ngóc ngách ngôi nhà qua camera, nhận cảnh báo tự động khi có xâm nhập trái phép vào ngôi nhà qua bất cứ đâu, xem trong tủ lạnh có còn đồ ăn gì không trước khi về nhà, mở cửa cho một người bạn đang đứng trước chuông cửa, bật điều hòa nhiệt độ trước khi về nhà 30 phút, tắt một bóng đèn bằng giọng nói, và các tính năng khác như tự động mở cửa khi xảy ra cháy, tự động kéo rèm cửa đón bình minh lúc 5h, trợ lý ảo nhắc việc qua gương thông minh và âm thanh lúc đang đánh răng buổi sáng, phát một bài nhạc lãng mạn khi nhận thấy hai vợ chồng cùng ở trong phòng ngủ lúc 21h, một robot có thể nhận dạng người thân, bạn bè, mời một ly cà phê vào giao tiếp với họ. 

Việc tích hợp những chức năng đó yêu cầu chúng ta có hạ tầng mạng phức tạp hơn một chút để đáp ứng lưu lượng và tính liên tục của kết nối, đồng thời đảm bảo được an toàn vì các giải pháp tương đối mới thường ít được chú trọng về bảo mật dẫn tới nhiều hệ lụy không đáng có. 

Mô hình mạng



work and iot network for home
Hình 1: Mô hình mạng IoT gia đình


Kết nối WAN:


Với yêu cầu cao về tính sẵn sàng của hệ thống mạng, chúng ta cần sử dụng 2 đường truyền internet từ 2 nhà mạng khác nhau. 

Số lượng kết nối internet tương đối lớn, vì vậy router là một thiết bị chịu tải cao, có chức năng cân bằng tải thay thế cho router nhà mạng. 

Để đảm bảo bảo mật cho hệ thống, router sẽ bật các tính năng tường lửa, nếu tối ưu hơn thì nên sử dụng các loại router kiêm tường lửa open source mạnh mẽ như Pfsense. 

Kết nối LAN:


Mạng nội bộ sẽ phân tách 2 luồng kết nối, một cho các thiết bị IoT và một cho các thiết bị cá nhân hoặc công việc. 

Nên có 02 switch cho hai loại kết nối riêng biệt kể trên. 

Mạng sử dụng cả kết nối có dây và không dây cho các nhu cầu khác nhau. Các thiết bị phát sóng Wifi hẳn nhiên là phải hỗ trợ tần số 5Ghz tốc độ cao. 

Thiết bị phục vụ công việc:


Thiết bị lưu trữ NAS dùng để lưu trữ dữ liệu cho gia đình là không thể thiếu, bao gồm đồng bộ, sao lưu dữ liệu quan trọng cho công việc từ máy tính và điện thoại cá nhân, lưu trữ các hình ảnh và video clip của gia đình, và các tài liệu khác. NAS cũng có thể dùng để làm media server, phục vụ cho nhu cầu nghe nhạc và xem phim nội bộ trong gia đình bằng cách kết nối từ TV, laptop, PC, mobile đến NAS duyệt và xem. Tôi có lời khuyên nên sử dụng NAS Sysnology vì hãng này có phần mềm rất tốt, đồng thời chọn model có tối thiểu 2 khay ổ cứng hỗ trợ RAID để thiết lập RAID 1 đảm bảo an toàn dữ liệu. NAS cũng có đặc điểm là giá không thấp, nên chúng ta vẫn ít thấy trong các hộ gia đình nhỏ. Với model rẻ nhất chỉ có 1 ổ cứng giá cũng gần đến 5 triệu, với model 2 ổ cứng giá gần 10 triệu, trong khi đó các gia đình nhỏ thì nhu cầu có thêm một laptop hoặc PC là lớn hơn nhiều so với NAS. 

Máy in là thiết bị quan trọng và phổ biến hơn NAS trong trường hợp này, nhu cầu về in ấn để chủ động trong công việc là khá nhiều. 

Bảo mật


IoT là thuật ngữ bắt đầu từ (khoảng) năm 2009, với số lượng được cho là 24 tỉ thiết bị IoT vào năm 2020 này, đây là mục tiêu mà hacker không thể không nhắm tới. Theo số liệu từ hãng công nghệ Palo Alto (1), 98% lưu lượng dữ liệu IoT không được mã hóa, 57% thiết bị IoT dễ bị tấn công với mức độ nghiêm trọng trung bình hoặc cao. Rất nhiều hãng sản xuất thiết bị IoT gia nhập thị trường béo bở này mà không đáp ứng đầy đủ các tiêu chuẩn về bảo mật. Người sử dụng và các đơn bị triển khai cũng thường lơ là công tác bảo mật, đơn cử như việc để mật khẩu mặc định hoặc đặt mật khẩu yếu. Nhận thức về an toàn thông tin là yếu tố cực kỳ quan trọng. Các rủi ro khi lắp đặt camera giám sát xuất hiện thường xuyên nhưng vẫn chưa được quan tâm đúng mức. Chúng ta không thể nào ngủ yên được khi có kẻ khác đang điều khiển căn nhà của mình chỉ bằng internet. 

Vì vậy, viethoangit.com khuyến cáo: 

Nhận thức được các rủi ro an ninh thông tin


Điều đầu tiên là tất cả chúng ta cần nhận thức được có mối de dọa lớn về mặt bảo mật, hậu quả thường nghiêm trọng hơn mọi người tưởng tượng, không nên mất bò mới lo làm chuồng. 

Chọn lựa đơn vị uy tín để tư vấn và triển khai


Các kiến thức chuyên ngành ở bất cứ lĩnh vực nào cũng đều vượt quá phạm vi hiểu biết của chúng ta, vì vậy lựa chọn đơn vị uy tín để tư vấn và triển khai là đã giảm bớt được rất nhiều sai lầm không đáng có. 

Đồng thời yêu cầu đơn vị triển khai làm tài liệu hướng dẫn đầy đủ, có hợp đồng và cam kết bảo mật rõ ràng nếu nhu cầu an ninh cao. 

Một giải pháp đơn giản là giám sát các thiết bị mạng của nhà bạn, bằng việc cài đặt phần mềm giám sát trên thiết bị NAS để phát hiện dấu hiệu bị tấn công thông qua lưu lượng mạng tăng đột ngột, điều này các đơn vị chuyên nghiệp sẽ làm cho bạn mà không quá khó khăn. 

Chất lượng đi kèm với mức giá


Không có thứ gì vừa rẻ vừa tốt, nếu quá lăn tăn về giá thì chúng ta đã thỏa hiệp với chất lượng thấp. Vì vậy, việc chọn thương hiệu, mặt hàng tốt với giá cả phải chăng là ưu tiên hàng đầu, không nên tìm kiếm giải pháp rẻ nhất. Các bên bán hàng sẽ cho bạn bất cứ mức giá nào bạn muốn, nhưng chất lượng bên trong bạn không thể kiểm chứng được. 

Chú thích:
(1) https://unit42.paloaltonetworks.com/iot-threat-report-2020/

Nguồn: viethoangit.com 

2020-12-05

Kiến trúc mạng – phần 2: Mạng gia đình có camera giám sát


Phần 2 này chúng ta cùng tìm hiểu về mô hình mạng gia đình có lắp đặt camera giám sát, những điểm khác biệt và lưu ý.

Mô hình này có một đường internet đi vào thiết bị router của nhà mạng có tích hợp khả năng phát wifi cho các thiết bị không dây trong nhà sử dụng như điện thoại, máy tính bảng, laptop, PC, TV, TV Box. Bên cạnh đó chủ nhà có nhu cầu lắp wifi để giám sát. Trong thực tế có không ít gia đình chỉ cần 01 camera không dây giá rẻ, kết nối mạng Wifi tích hợp thẻ nhớ để lưu dữ liệu camera thu được và chủ nhà có thể xem trực tiếp qua internet bằng điện thoại. Việc lắp đặt cũng rất dễ dàng, chỉ cần một vị trí có điện là sử dụng được ngay.

Tuy nhiên chúng ta sẽ chỉ xét đến mô hình có sự quản lý tập trung bởi đầu ghi camera với dung lượng lưu trữ lớn, nhiều tính năng, đảm bảo được tốc độ qua kết nối có dây, và đầu ghi cũng có khả năng kết nối tới các camera không dây để quản lý.

wireless-client-and-camera-network
Mô hình mạng gia đình có camera



Chúng ta có vài điểm lưu ý trong mô hình này như sau:

1. Về mặt kỹ thuật


- Kỹ thuật viên mạng nên thiết lập trên router 2 subnet (dải IP mạng) khác nhau, 1 subnet cho mạng wifi, 1 subnet riêng cho camera. Việc tách riêng 2 subnet là để đảm bảo cách ly lưu lượng broadcast, giảm lỗi, tăng sự bảo mật.

- Kỹ thuật viên lắp camera cũng lưu ý đặt IP của đầu ghi camera và các camera không trùng với dải IP mà router đang cấp phát DHCP. Ví dụ router nhà mạng đang cấp dải IP 192.168.1.2 – 192.168.1.254, thì ta đổi về 192.168.1.100 – 192.168.1.254, rồi đặt IP đầu ghi và camera trong khoảng từ 192.168.1.2 – 192.168.1.99.

- Kỹ thuật viên nên đổi mật khẩu mặc định của đầu ghi và camera để đảm bảo về bảo mật cơ bản.

2. Đối với người sử dụng


a. Vấn đề đối với camera:

Đa phần mọi người đều không có kiến thức về IT, và ngại trong việc cấu hình phần mềm, vì vậy thường giao phó việc đó cho đơn vị lắp camera.

b. Rủi ro xuất hiện từ đây:

- Mật khẩu thường đặt rất dễ nhớ và dễ bị dò quét.

- Người sử dụng bị chính đơn vị lắp đặt camera theo dõi nhất cử nhất động.

- Người sử dụng bị lộ clip nóng.

- Nguy cơ lộ thông tin mật khẩu từ đơn vị thứ 3 (đơn vị lắp camera) ra bên ngoài theo cách vô tình hoặc cố tình, khiến cho kẻ trộm theo dõi thói quen sinh hoạt của gia đình để lên kế hoạch trộm cắp.

c. Giải pháp:

- Người sử dụng cần yêu cầu đơn vị lắp đặt bàn giao tài khoản quản trị cao nhất, tài liệu hướng dẫn sử dụng, hướng dẫn đổi mật khẩu. Tài liệu bằng file mềm gửi qua email và một bản cứng.

- Có thể yêu cầu một bản cam kết bảo mật thông tin để đơn vị lắp đặt camera ký kết.

Vì vấn đề an toàn, người sử dụng buộc phải học các kiến thức về thay đổi cấu hình camera, thông qua tài liệu bàn giao, và thông qua internet.

Như vậy phần 2 này chúng ta đã tìm hiểu qua về sơ đồ logic mạng gia đình có camera giám sát, và các vấn đề bảo mật. Phần 3 chúng ta sẽ tìm hiểu nâng cao thêm một chút đối với những gia đình làm việc nhiều hơn trên môi trường công nghệ thông tin và có đầu tư thiết bị lưu trữ, IoTs. Mời các bạn đón đọc.

Nguồn: viethoangit.com

2020-01-19

Kiến trúc mạng - phần 1: Mạng gia đình không dây đơn giản

Lời nói đầu: Đây là chuỗi bài Hoàng sẽ viết về các mô hình mạng trong tầm hiểu biết của mình mỗi khi rảnh để chia sẻ cho các bạn mới vào nghề, cũng như hệ thống lại kiến thức của bản thân. Bắt đầu với những bài viết đơn giản, sau đó tăng dần độ phức tạp lên. Dù ban đầu chỉ là mô hình đơn giản nhưng tên của chuỗi bài sử dụng từ “kiến trúc” để định hướng mục tiêu xa hơn và chuyên nghiệp hơn. Các kiến thức công nghệ cập nhật từ năm 2020.

Bài đầu tiên, chúng ta sẽ vẽ lại mô hình mạng không dây đơn giản nhất dành cho các gia đình chỉ có nhu cầu sử dụng điện thoại kết nối wifi.

Mô hình 1: Mạng wifi gia đình sử dụng cho điện thoại kết nối mạng


Đây là mô hình cơ bản nhất mà chúng ta thường gặp. Nhà mạng kéo đường cáp quang FTTH vào, cấp cho chúng ta một router wifi, chúng ta chỉ việc dùng điện thoại kết nối vào wifi rồi sử dụng. Đây chủ yếu là các gia đình nông thôn, không có thêm các thiết bị kết nối mạng dây hoặc kết nối wifi nào khác ngoài điện thoại, với số lượng khoảng 5 thiết bị, thường sử dụng gói cước nhỏ nhất của nhà mạng là đã dư băng thông sử dụng.
Mô hình 1: Mạng wifi gia đình cho điện thoại


Mô hình 2: Mạng wifi gia đình sử dụng cho nhiều thiết bị không dây


Đây là mô hình cũng khá phổ biến. Thiết bị wifi nhà mạng sẽ phát sóng cho điện thoại, laptop, PC có gắn card wifi, TV có gắn card wifi, vân vân. Mô hình này dành cho các hộ gia đình nhỏ, với khoảng 5 đến 10 thiết bị, nơi mà chỉ cần một router wifi của nhà mạng đã có thể phủ sóng đến toàn bộ các thiết bị kể trên, không có các yêu cầu cao về ổn định tốc độ của mạng internet. Gói cước thường dùng vẫn là gói cước thấp nhất của nhà mạng.

Mô hình 2: Mạng wifi gia đình cho nhiều thiết bị không dây
Như vậy, chúng ta vừa làm quen với 2 mô hình mạng cơ bản nhất sử dụng wifi cho các thiết bị không dây. Các bạn cũng có thể hình dung ra các mô hình tương tự, ví dụ như mô hình trên có thể áp dụng cho quán cà phê siêu nhỏ, với gói cước cáp quang tối thiểu hoặc tăng lên một chút tùy theo số lượng khách sử dụng.

Nếu có ý kiến gì vui lòng chia sẻ bằng cách bình luận bên dưới. Nếu share xin ghi rõ nguồn viethoangit.com mọi người nhé.

2018-07-24

Sửa lỗi An error occurred while creating temporary file... trên VMware ESXi server

Lỗi "Failed - An error occurred while creating temporary file for /vmfs/volumes/........./...vmx: The file already exists" khi khởi động máy ảo trên VMware ESXi server
Minh họa thông báo lỗi
Việc cần làm bây giờ chỉ là đổi tên file .vms~ trong virtual machine để nó tạo file mới là xong.Cách của tôi là truy cập vào ESXi qua web, bật SSH lên, login vào, đổi tên file bằng dòng lệnh. Nếu bạn có cách khác hay hơn vui lòng bình luận ở dưới bài đăng này nhé.


Bước 1: Bật SSH bằng cách truy cập vào ESXi server qua web, vào Manage, chuyển sang tab Services, tìm dòng TSM-SSH, nhấn Start.

Bật SSH
Bước 2: Dùng trình SSH client(putty chẳng hạn) truy cập vào server ESXi, tìm đến thư mục chứa dữ liệu của vm server, đổi tên file có đuôi .vmx~ thành đuôi bất kỳ, tôi ví dụ đổi đuôi thành .vmx.bak


Lưu ý: Đường dẫn chứa các file của máy ảo có dạng /vmfs/volumes/58ec2adc-d2744db0-e72b-1866da455e03/HTI-DC01, trong đó HTI-DC01 là tên máy chủ ảo mà bạn đặt cho nó.

Như vậy là xong. Khởi động máy ảo lên để tận hưởng thành quả.

Chúc các bạn thành công.

Việt Hoàng

2018-05-07

Tại sao nên sử dụng SSH?

SSH nhiều lúc sẽ chiếm ưu thế tuyệt đối so với cách kết nối qua giao diện đồ họa khi quản lý từ xa, sau đây tôi sẽ nêu các lý do để thuyết phục các bạn tìm hiểu sâu về SSH phục vụ cho công việc:

1. Tính bảo mật


Các công cụ SSH sẽ thiết lập kết nối mạng được mã hóa để tạo một kênh kết nối riêng tư (tương tự VPN), dựa trên nhiều chuẩn mã hóa khác nhau, luôn đảm bảo cho dữ liệu truyền đi giữa client và server được thông suốt và an toàn 

2. Tốc độ thực thi nhanh


Tốc độ là điểm mạnh nhất của chế độ dòng lệnh, các lệnh được thực thi và hiển thị ngay tức thì, không có thời gian trễ phải chờ load như khi truy cập qua môi trường đồ họa. 

3. Đa tác vụ dễ dàng


Hãy tưởng tượng chúng ta đang mở hàng chục cửa sổ để kết nối SSH đến những server mình đang quản lý, nhưng nhìn rất gọn gàng, chạy nhẹ nhàng, đó quả là một hình ảnh khá mê hoặc. 

Như ở hình dưới, tôi mở 4 cửa sổ cùng kết nối đến firewall để xem thông tin thời gian thực về tải CPU và RAM hệ thống, về cấp phát DHCP trong mạng, và về một vài thứ mà mình chỉ định bằng lệnh để theo dõi. Bình thường điều này chẳng có gì đáng nói, đến lúc cấp bách thì nó quả là rất hữu dụng đối với người quản trị hệ thống.
Multi tasking

4. Bất chấp mọi kết nối mạng yếu


Với SSH, các kết quả trả về qua môi trường dòng lệnh tốn rất ít băng thông, do đó chỉ với chiếc điện thoại ở nơi mạng rất yếu cũng có thể kết nối từ xa đến server để kiểm tra với tốc độ đảm bảo chấp nhận được. Điều này hẳn là trái ngược với việc chờ tải trang từ web.

Như vậy có thể thấy, để trở thành người quản trị chuyên nghiệp, hẳn không có lý do gì để chúng ta không tận dụng sức mạnh dòng lệnh qua công cụ SSH để thực hiện công việc cả. Tùy từng hoàn cảnh cụ thể người ta sẽ sử dụng công cụ mang lại năng suất cao nhất cũng như đảm bảo an toàn trong phiên kết nối. Chúc các bạn hứng thú với môi trường CLI nhé.


Việt Hoàng