Quản lý Receive Connector – Phần 2
Trong bài này chúng tôi sẽ giới thiệu cách gửi một thông báo
bằng telnet và cấu hình các tính năng bảo mật trong Receive
Connector.
Để test một receive connector, chúng ta cần phải biết một số
hành động SMTP cơ bản nhằm để gửi thông báo bằng telnet
session. Các lệnh dưới đây sẽ cho phép bạn gửi một thông báo test bằng tiện ích telnet. Tất cả
các hành động SMTP cơ bản đều yêu cầu gửi một thông báo dưới đây:
1. Receive connector mà chúng ta đã tạo đang lắng nghe trên cổng 25 và trên một địa chỉ IP
cụ thể. Chúng ta hãy sử dụng tiện ích telnet để kết nối với máy chủ của mình:
telnet <IP> 25
Kết quả: 220 <FQDN name> Banner information
2. Bắt đầu truyền thông SMTP
EHLO example.org
Kết quả: a list of all SMTP verbs that are accepted by the receive connector. In the first
line a hello answer with the IP Address used by the sender will be shown.
3. Định nghĩa người gửi thông báo test
Mail from:
Kết quả: 250 2.1.0 Sender OK
4. Định nghĩa người nhận thông báo test này. Miền SMTP được sử dụng bởi người nhận
phải tồn tại trong tổ chức hiện hành.
Rcpt to:user@<your-domain>
Kết quả: 250 2.1.5 Recipient OK
5. Bắt đầu một thông báo
Data <enter>
Kết quả: 354 Start mail input; end with <CRLF>.<CRLF>
6. Nhấn phím Enter hai lần và đánh nội cung sẽ xuất hiện trong body của thông báo test. Để
kết thúc, đánh dấu chấm “.” Trong dòng trắng và nhấn Enter.
Phần thông báo test. <enter>
. <enter>
Kết quả: 250 2.6.0 <Message > Queued mail for delivery
7. Đóng session.
Quit
Kết quả: 221 2.0.0 Service closing transmission channel
Chúng ta có thể đăng nhập vào OWA để kiểm tra xem thông báo có được nhận hay không. Toàn
bộ quá trình có thể được quan sát trong hình 1.
Hình 1
Quá trình này rất quan trọng trong vấn đề khắc phục sự cố luồng mail cũng như hợp lệ hóa
Receive Connector.
Khai thác một số tính bảo mật của Receive Connector
Chúng ta đã cấu hình Receive Connector bằng cả Exchange Management Console và Exchange
Management Shell, giờ đây chúng ta hãy khai thác một số cấu hình bảo mật cho Receive
Connector. Tất cả những vấn đề bảo mật mà chúng ta sẽ xem xét ở đây được điều chỉnh bởi
Receive Connector và chúng phải được cấu hình bằng Exchange Management Shell. Hãy cấu
hình một số tính năng trong Internet Receive Connector như dưới đây:
Thay đổi các thông tin Banner
Một số công ty không thích ý tưởng hiển thị tên máy chủ trong các kết nối SMTP. Chúng tôi sẽ
thay đổi các thông tin banner đã được sử dụng cho Receive Connector bằng lệnh bên dưới và kết
quả thu được được thể hiện trong hình 2.
Set-ReceiveConnector <connector-name> -Banner “220 Mail Server”
Hình 2
Chỉ định số lỗi trong suốt một session…
Chúng ta có thể kiểm soát số lỗi giao thức trong một session. Giá trị mặc định ban đầu được đặt
là 5, để cấu hình nó thành 2, chúng ta sử dụng lệnh dưới đây:
Set-ReceiveConnector <Connector Name> -MaxProtocolErrors 2
Lúc này, nếu một SMTP Server/user kết nối và đạt tới số lượng lỗi lớn nhất đã được định nghĩa
trong receive connector thì thông báo dưới đây sẽ được hiển thị (hình 03):
Hình 3
Điều chỉnh tiết lưu cho Receive Connector…
Receive connectors cho phép chúng ta hạn chế lưu lượng inbound và hạn chế sử dụng từ một
nguồn nào đó, ngăn chặn hiện tượng overload cho hệ thống. Đây là ba tùy chọn chúng ta có thể
sử dụng:
•
MaxInboundConnectionsperSource: Định nghĩa số lượng kết nối lớn nhất đươc thiết
lập cho một receive connector tai cùng thời điểm bởi cùng một nguồn. Giá trị mặc định
của thiết lập này là 100.
•
MaxInboundConnection: Định nghĩa số lượng kết nối mà receive connector sẽ chấp
nhận tại cùng một thời điểm. Giá trị mặc định của thiết lập này là 5000.
•
MaxInboundConnectionPercentagePersource: Dựa trên giá trị
MaxInboundConnection nó chỉ thị số lượng kết nối mà cùng nguồn có thể thiết lập với
receive connector. Giá trị mặc định là 2%.
Để cấu hình Receive Connector bằng các thiết lập mới đã thấy, chúng ta có thể chạy lệnh dưới
đây:
Set-ReceiveConnector <Connector-Name> -MaxInboundConnection <Number> -
MaxInboundConnectionsperSource <Number> -MaxInboundConnectionPercentagePerSource
<Number>
Chúng ta cũng có thể cấu hình thời gian time-out cho receive connector theo các khía cạnh nào
đó, chẳng hạn như: trong suốt quá trình truyền thông SMTP cũng như trong suốt một kết nối
không hoạt động (inactive). Để cấu hình ConnectionTimeout, chúng ta có thể chạy lệnh dưới
đây:
Set-ReceiveConnector <Connector-Name> -ConnectionTimeout <days.hours:minutes:seconds>
Để hủy kết nối nhờ thời gian Inactive, chúng ta có thể sử dụng lệnh dưới đây:
Set-ReceiveConnector <Connector-Name> -ConnectionInactiveTimeout
<days.hours:minutes:seconds>
Chúng ta cũng có thể hạn chế số lượng người nhận, hạn chế tốc độ và kích thước lớn nhất của
thông báo tại mức connector, để cấu hình các thiết lập này, chúng ta có thể sử dụng các tham số
dưới đây:
•
MaxRecipientsPerMessage: Số lượng người nhận lớn nhất trong một thông báo, giá trị
mặc định là 200.
•
MaxMessageSize: Kích thước lớn nhất của thông báo; giá trị mặc định là 100MB.
•
MaxRateLimit: Chỉ định số lượng lớn nhất các thông báo có thể được gửi bởi cùng một
máy khách trong một phút.
Chúng ta hãy thay đổi Internet Receive connector để chấp nhận 100 người dùng lớn nhất, kích
thước thông báo sẽ lớn hơn 2MB và tốc độ hạn chế là 200 như dưới đây:
Set-ReceiveConnector<Connector Name> –MaxRecipientsPerMessage:100 –
MaxMessageSize:5MB –MaxRateLimit:200
Tính năng cuối cùng chúng tôi sẽ giới thiệu cho các bạn là TarpitIntervall. Trong Exchange
Server 2003 chúng ta phải cấu hình nó thông qua Registry Editor. Còn trong Exchange Server
2007 chúng ta có thể thực hiện bằng cách sử dụng Exchange Management Shell. Tính nă
ng tarpit
sẽ chèn vào một delay được định nghĩa trước trong mỗi đáp trả SMTP, nó có chứa mã lỗi 5.x.x
trong suốt quá trình truyền thông giữa hai máy chủ. Tính năng này chỉ được áp dụng cho các kết
nối nặc danh và nó nên được sử dụng với các tính năng Recipient Filter Agent và Recipient
Lookup đã được kích hoạt.
Trong bài này chúng ta đang sử dụng Exchange Server 2007 với cả ba role chúng đã được cài đặt
(Mailbox, CAS và Hub Transport) và nó sẽ nhận các thông báo từ Internet, chúng ta cũng đã cấu
hình Anti-spam agent trên máy chủ này. Giờ đ
ây chúng ta hãy xem xét đến Recipient Filtering
agent và kích hoạt tính năng Recipient Lookup:
1. Mở Exchange Management Console.
2. Mở Organization Configuration.
3. Kích Hub Transport.
4. Kích tab Anti-Spam
5. Kích đúp vào Recipient Filtering.
6. Kích tab Blocked Recipients
7. Tích vào tùy chọn đầu tiên “Block messages sent to recipients not listed in the Global
Address list” (xem trong hình 4).
Hình 4
Từ lúc này, trên tất cả các thông báo có địa chỉ chưa biết trong tổ chức sẽ bị từ chối bởi
Exchange Server, xem thể hiện trong hành động SMTP rcpt to: trong hình 5. Mặc dù vậy chúng
ta có thể gặp phải vấn đề ở đây đó là, spammer có thể tấn công ồ ạt vào Exchange Server bằng
kiểu tấn công dictionary để tìm ra email nào hợp lệ trong tổ chức của bạn. Vậy có cách nào để
chống lại hiện tượng đó? Không có cách nào có thể khắc phục vấn đề đó nhưng với mỗi một địa
chỉ sai đã thử trong truyền thông SMTP thì sẽ có một lỗi “5.1.1 User unknown” xuất hiện và với
mỗi một trong các lỗi đó chúng ta lại có thể cấu hình tarpit để delay sự đáp trả của máy chủ.