2. Các dịch vụ Internet
2.8.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 yê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 yê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ó xoá 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.