Cài đặt và cấu hình Spamd
Ngu
ồn : quantrimang.com
Bạn đã từng biết đến Spamd, một dịch vụ giúp loại trừ thư rác trôi nổi vào
hòm thư điện tử? Hôm nay chúng tôi sẽ giới thiệu một số tính năng nâng
cao và hướng dẫn cách cài đặt, cấu hình của dịch vụ này. Hy vọng, lượng
thư rác của bạn sẽ giảm đáng kể sau khi sử dụng nó.
Trình tự công việc như sau:
1. Ch
ọn kết nối vật lý và giản đồ địa chỉ IP.
2. Cầu hình và chạy spamd.
3. Liên hệ với OpenBSD để gửi lưu lượng TCP 25 tới spamd cho việc đánh giá
(đây là bước cần thiết). Nhưng đồng thời cũng phải thông báo để OpenBSD gửi
lại thư điện tử của người gửi “vô hại” tới server e-mail thực. Các quy định PF
(một trong các phiên bản iptable của OpenBSD) đòi hỏi đi
ều đó.
4. Cuối cùng là kiểm tra.
Sử dụng một sơ đồ vật lý như trong hình minh hoạ bên dưới. “spamslayer” là gói
OpenBSD chạy spamd tarpit/greylister, hoặc một tường lửa lọc gói mạnh. Có thể
sử dụng máy Sun Ultra 5, 270MHZ với DRAM 256MB và ổ cứng dung lượng
20GB; thư mục /var sẽ là nơi chứa file nhật lý (log), với kích thước khoảng 4GB.
Gói này có ba giao diện:
1. hme0: giao diện bên ngoài.
Changes to /etc/rc.conf:
pf=YES
spamd_flags="-v -S 90 -n Postfix -h
mailhost.cmosnetworks.com -G 60:4:864"
spamd_grey=YES
pf_rules=/etc/pf.conf
Mặc định thời gian cách ly trong “danh sách
đen” ban đầu là 25 phút. Nếu thay đổi tham số
-G thành spamd_flags, giá trị mặc định sẽ lên
tới 60 phút. Sự thay đổi này là cần thiết, bởi
thực tế 25 phút quá ngắn so với yêu cầu thực
ti
ễn. Tham số -v yêu cầu spamd ghi thông tin
một cách chi tiết để khi gửi e-mail tới ai đó,
người nhận sẽ được tự động đưa vào “danh
sách trắng”.
Nếu bạn chưa thấy dòng pf_rules, hãy thêm
nó vào.
Trang spamd man sẽ nói cho bạn biết phần còn
lại.
Bước tiếp theo là quan tâm đến /etc/pf.conf.
Nếu đã hiểu cổng chuyển tiếp (port forwarding),
NAT và tường lửa trạng thái là gì, bạn nên quan
tâm đến file sau. Các dòng có dấu “#”
ở đầu là
phần chú thích.
internalnet = "172.16.0.0/24"
dmznet = "192.168.10.0/24"
# Đây là những địa chỉ chúng ta không sẽ không bao giờ thấy
trên Internet
# Sử dụng bảng này để loại bỏ địa chỉ IP theo nguyên tắc
sau.
table persist {10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16,
224.0.0.0/5}
# Đưa ra danh sách những kẻ phát tán thư rác và người vô
hại.
# Thực hiện với các bảng PF
table persist
table persist
table persist file "/etc/whitelist.txt"
table persist file "/etc/blacklist.txt"
# Bình thường hoá các gói; đây thực sự là ý tưởng hay.
scrub on $externalif all fragment reassemble random-id
reassemble tcp
# Bật chức năng NAT một-nhiều
nat on $externalif inet proto {tcp, udp, icmp} from
$internalnet to any -> $externalif
nat on $externalif inet proto {tcp, udp, icmp} from $dmznet
to any -> $externalif
#Ngăn chặn spammer (những kẻ phát tán thư rác)!
block in quick on $externalif inet from to any
# Bật chức năng lọc gói trạng thái.
#Quay trở lại bất kỳ lưu lượng nào có các phiên bắt đầu từ
bên trong
pass out quick on $externalif inet proto tcp from
$internalnet to any modulate state
pass out quick on $externalif inet proto udp from
$internalnet to any keep state
pass out quick on $externalif inet proto icmp from
$internalnet to any keep state
# Cũng cần phải cho phép lưu lượng riêng của tường lửa quay
trở lại!
pass out quick on $externalif inet proto tcp from
$externalif to any modulate state
pass out quick on $externalif inet proto udp from
$externalif to any keep state
pass out quick on $externalif inet proto icmp from
$externalif to any keep state
# Cho phép lưu lượng SMTP và SSH, ghi thông tin chi tiết về
lưu lượng SMTP cho spamlogd.