Tạo lập mail server trên hệ thống GNU/Linux (Phần 4)
Đây là bài tiếp của bài sau đây Advance mail server Bây giờ chúng ta hãy mở rộng những thiết lập này với nhiều xử lý check tiện lợi, bảo mật và các giao diện người dùng. Kiểm tra nội dung (Anti spam & Anti virus) Amavisd-new Amavisd là sự kết hợp của nhiều phương pháp kiểu tra nội ...
Đây là bài tiếp của bài sau đây
Advance mail server
Bây giờ chúng ta hãy mở rộng những thiết lập này với nhiều xử lý check tiện lợi, bảo mật và các giao diện người dùng.
Kiểm tra nội dung (Anti spam & Anti virus)
Amavisd-new
Amavisd là sự kết hợp của nhiều phương pháp kiểu tra nội dung email trước spam và các loại virus.
Cài đặt amavids-new
sudo apt-get install amavisd-new
Thiết lập mặc định khá tốt và cả Ubuntu documentation cũng rất rõ ràng, và được khuyến khích dùng.
Đây là một phiên bản đã được tinh chỉnh của nó:
Ban đầu chúng ta sẽ không bật chế độ phát hiện spam hoặc virus! Nhờ đó ta có thể thiết lập amavis để kiểm tra và chuyển emails trước khi ta làm cho nó trở nên qua phức tạp. Tất cả các file thiết lập của amavis được đặt trong /etc/amavisd/. Hiện tại chúng cũng rải rác một số file ở conf.d. Bây giờ Debian và Ubuntu mặc định chia nó ra nhiều files riêng rẽ một cách rất hợp lý.
cd /etc/amavis/conf.d
01-debian mặc định không có vấn đề gì.
Hãy nhìn vào đây:
less 05-domain_id
nhưng đừng thay đổi gì trong đó.
Và nhìn tiếp vào
less 05-node_id
nhưng đừng thay đổi gì trong đó.
Cuối cùng hãy xem file
less 15-av_scanners
và không thay đổi gì trong đó.
Thay đổi file kiểm tra content
sudo vi 15-content_filter_mode
Comment out cả phần scans virus lẫn spam. (mặc định)
# #@bypass_virus_checks_maps = ( # \%bypass_virus_checks, @bypass_virus_checks_acl, $bypass_virus_checks_re); # @bypass_spam_checks_maps = ( # \%bypass_spam_checks, @bypass_spam_checks_acl, $bypass_spam_checks_re);
Tiếp theo hãy xem file sau:
less 20-debian_defaults
và file
less 21-debian_defaults
nhưng đừng thay đổi nội dung các file này.
Các file 25-amavis_helpers và 30-template-localization thì nội dung có thể dùng mặc định.
Sửa lại file user
sudo vi 50-user
ở giữa file, hãy thêm đoạn sau vào:
@local_domains_acl = qw(.); $log_level = 2; $syslog_priority = 'debug'; # $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level # $sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level $sa_kill_level_deflt = 8.0; # triggers spam evasive actions # $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent $final_spam_destiny = D_PASS; # $final_spam_destiny = D_REJECT; # default # $final_spam_destiny = D_BOUNCE; # debian default # $final_spam_destiny = D_DISCARD; # ubuntu default, recommended as sender is usually faked
Bây giờ ta đã thiết lập xog amavis để có thể quét và chuyển các email gửi đến. Tiếp theo ta sẽ cài đặt postfix để có thể giao tiếp với amavis.
sudo vi /etc/postfix/master.cf
Thêm các dòng sau vào cuối file (hãy chắc chắn là trong file không có sẵn các dòng này). (Chú ý là các dòng có -o thì có các khoảng trống ở đầu dòng)
amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20
127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
Tiếp theo hãy thêm hai dòng sau đây vào ngay dưới transport service "pickup"
-o content_filter= -o receive_override_options=no_header_body_checks
và thêm vào file main.cf
sudo vi /etc/postfix/main.cf
nội dung sau:
content_filter = amavis:[127.0.0.1]:10024
Amavis sẽ phải hoạt động chuẩn sau thiết lập trên. Nếu email được lấy bởi amavis và chuyển lại cho postfix thì OK. Chỉ khi kết thúc testing bạn mới tiếp tục uncomment các dòng thiết lập anti virus và anti spam.
sudo vi 15-content_filter_mode
@bypass_virus_checks_maps = ( \%bypass_virus_checks, @bypass_virus_checks_acl, $bypass_virus_checks_re);
@bypass_spam_checks_maps = ( \%bypass_spam_checks, @bypass_spam_checks_acl, $bypass_spam_checks_re);
Tuy nhiên hãy làm điều này ở phần khác (SpamAssassin).
Khi mọi thứ hoạt động chúng ta sẽ giảm logging level và bắt đầu check spam.
sudo vi /etc/amavis/conf.d/50-user
@local_domains_acl = qw(.); $log_level = 1; $syslog_priority = 'info'; # $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level # $sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level $sa_kill_level_deflt = 8.0; # triggers spam evasive actions # $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent # $final_spam_destiny = D_PASS; # $final_spam_destiny = D_REJECT; # default # $final_spam_destiny = D_BOUNCE; # debian default $final_spam_destiny = D_DISCARD; # ubuntu default, recommended as sender is usually faked
Anti-Spam
SpamAssassin
Cài đặt :
sudo apt-get install spamassassin spamc
Thiết lập mặc định của Spam Assassin có thể sử dụng được.
Bạn cần phải ra lệnh cho SpamAssassin khởi động smapd on boot.
sudo vi /etc/default/spamassassin
ENABLED=1
Sau khi đã thiết lập thành công, bạn có thể tinh chỉnh và bật Bayes lên và auto learning.
sudo vi /etc/spamassassin/local.cf
Anti Virus
ClamAV
Cài đặt:
sudo apt-get install clamav clamav-base libclamav6 clamav-daemon clamav-freshclam
(Các version Ubuntu cũ hơn có thể cần sử dụng libclamav5)
ClamAV không cần phải cài đặt. File thiết lập được đặt trong /etc/clamav, nhưng nó được generate tự động vì vậy đừng sửa file.
Mặc định thì freshclam, một daemon cập nhật cơ sở dữ liệu định nghĩa virus, được chạy 24 lần 1 ngày. Có vẻ hơi nhiều, vì vậy thôi thường sửa nó về chỉ cập nhật 1 lần 1 ngày.
sudo dpkg-reconfigure clamav-freshclam
Nó sẽ hỏi rằng bạn có muốn dùng daemon (yes) và server nào gần với bạn nhất. Nếu cần, câu lệnh dưới đây sẽ định nghĩa lại thiết lập với nhiều câu hỏi. Nó không cần thiết trừ khi bạn thật sự muốn thiết lập lại.
sudo dpkg-reconfigure clamav-base
Cho phép scan bằng ClamAV trong các file tạm thời của amavis.
sudo adduser clamav amavis
Postgrey
Cài đặt:
sudo apt-get install postgrey
Thiết lập mặc định của postgrey có thể sử dụng luôn. Tuy nhiên bạn cần ra lệnh cho Postfix sử dụng nó.
sudo vi /etc/postfix/main.cf
Và thay đổi phần giới hạn người nhận:
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, permit
Bạn có thể tinh chỉnh whitelisst trong /etc/postgrey. Bạn cũng có thể tinh chỉnh thiết lập của postgrey trong file /etc/default/postgrey, ví dụ như delay, whitelisting hoặc reject message.
POSTGREY_OPTS="--inet=10023 --max-age=365"