3. Hệ thống Firewall xây dựng bởi CSE
3.2.1 Smap: Dịch vụ SMTP
SMTP đ−ợc xây dựng bằng cách sử dụng cặp công cụ phần mềm smap vμ smapd. Có thể nói rằng SMTP chống lại sự đe doạ tới hệ thống, bởi vì các ch−ơng trình mail chạy ở mức độ hệ thống để phân phát mail tới các hộp th− của user. Smap vμ smapd thực hiện điều đó bằng cách cơ lập ch−ơng trình mail, bắt nó chạy trên một th− mục dμnh riêng (restricted directory) qua chroot (thay đổi th− mục gốc), nh− một user khơng có quyền −u tiên. Mục đích của smap lμ cơ lập ch−ơng trình mail vốn đã gây ra rất nhiều lỗi trên hệ thống. Phần lớn các công việc xử lý mail th−ờng đ−ợc thực hiện bởi ch−ơng trình sendmail. Sendmail khơng u cầu một sự thay đổi hay đặt lại cấu hình gì cả. Khi một hệ thống ở xa nối tới một cổng SMTP, hệ điều hμnh khởi động smap. Smap lập tức chroot tới th− mục dμnh riêng vμ đặt user-id ở
mức bình th−ờng (khơng có quyền −u tiên). Bởi vì smap khơng u cầu hỗ trợ bởi một file hệ thống nμo cả, th− mục dμnh riêng chỉ chứa các file do smap tạo ra. Do vậy, bạn không cần phải lo sợ lμ smap sẽ thay đổi file hệ thống khi nó chroot. Mục đích duy nhất của smap lμ đối thoại SMTP với các hệ thống khác, thu l−ợm thông báo mail, ghi vμo đĩa, ghi nhật ký, vμ thoát.
Smapd có trách nhiệm th−ờng xuyên quét th− mục kho của smap vμ đ−a ra các thông báo đã đ−ợc xếp theo thứ tự (queued messages) tới sendmail để cuối cùng phân phát. Chú ý rằng nếu sendmail đ−ợc đặt cấu hình ở mức bình th−ờng, vμ smap chạy với uucp user-id (?), mail có thể đ−ợc phân phát bình th−ờng mμ không cần smapd chạy với mức −u tiên cao. Khi smapd phân phát một thơng báo, nó xố file chứa thơng báo đó trong kho.
Theo ý nghĩa nμy, sendmail bị cơ lập, vμ do đó một user lạ trên mạng không thể kết nối với sendmail mμ không qua smap. Tuy nhiên, smap vμ smapd không thể giải quyết vấn đề giả mạo th− hoặc các loại tấn cơng khác qua mail. Smap có kích th−ớc rất nhỏ so với sendmail (700 dòng so với 20,000 dịng) nên việc phân tích file nguồn để tìm ra lỗi đơn giản hơn nhiều.