Tìm kiếm Blog này

Phối hợp các cách chặn thư spam


Phân loại thư spam

Thư spam là thư gửi cùng một nội dung đến rất nhiều (hàng ngàn hoặc hơn) hộp thư cùng một lúc để giới thiệu một sản phẩm hay dịch vụ gì đó, hoặc có ý định lừa người nhận thư.

Phần lớn thư spam được gửi bởi những kẻ chuyên gửi thư thuê, những kẻ này không dùng máy tính của chính chúng mà dùng những máy tính đã bị chúng kiểm soát từ xa bằng cách cho nhiễm một phần mềm. Phần mềm đã nhiễm vào máy gọi là sâu (worm), ngựa Troa (Trojan horse), hay cửa sau (backdoor). Máy bị nhiễm phần mềm đó gọi là zombie (thây ma bị điều khiển) hay là bot (ro-bot). Tập hợp những máy bị điều khiển từ cùng một kẻ gọi là botnet, và kẻ điều khiển gọi là kẻ chăn bot. Kẻ chăn bot tạo ra botnet bằng cách viết những chương trình lợi dụng lỗi của phần mềm máy tính, để những chương trình đó vào các trang web và dụ nhiều người đến xem bằng những nội dung hấp dẫn. Zombie còn có khả năng lây sang những máy khác qua mạng, qua file dùng chung trong ổ USB. Người ta ước tính cứ bốn máy tính trên thế giới thì có một zombie. Botnet có thể gồm hàng chục ngàn tới hàng triệu máy tính. Zombie thường xuyên liên lạc với một kênh liên lạc của kẻ chăn bot để nhận lệnh. Lệnh đó có thể là đồng loạt truy xuất đến một server nào đó để làm tắc nghẽn server đó, hoặc gửi một thư spam đến những hộp thư trong danh sách hàng triệu hộp thư. Thư có thể được gửi thẳng từ zombie đến mail server của hộp thư nhận hoặc đi qua một mail server trung gian trước khi đến mail server của hộp thư nhận.

Thư spam cũng có thể được gửi thẳng từ các doanh nghiệp để giới thiệu sản phẩm hay dịch vụ của doanh nghiệp. Thư spam loại này thường được gửi từ một máy. Loại thư spam này rất khó chặn vì chúng có ít điểm khác thường để phân biệt.

Loại thư spam thứ ba là thư lừa đảo thì thường được gửi từ những mail server công cộng như yahoo, hotmail, gmail.

Cần phải dùng nhiều lớp hàng rào sau đây để chặn thư spam.

Giới hạn số lần nhận thư từ mỗi địa chỉ IP

Những chương trình gửi thư spam sẽ gửi thư liên tiếp tới từng hộp thư trong mail server, có khi gửi tới những hộp thư không có thật trong mail server nữa. Ở lớp hàng rào này, mail server sẽ chỉ nhận một số thư hạn chế từ mỗi địa chỉ IP trong từng khoảng thời gian, ví dụ chỉ nhận 1 thư trong vòng 5 phút. Khi một địa chỉ IP gửi liên tiếp nhiều thư đến và vượt con số hạn chế thì nó sẽ bị từ chối cho đến hết khoảng thời gian đã định rồi mới gửi tiếp được. Những mail server bình thường sẽ chỉ gửi một số thư vừa phải nên ít khi bị vượt hạn mức. Mail server có một danh sách đặc biệt để đặc cách cho các mail server lớn và đáng tin cậy không bị hạn chế.

Hàng rào này giúp ngăn chặn sự hao tổn vô ích của tài nguyên máy và mạng.

Chặn theo địa chỉ IP của máy gửi thư

Hầu hết những địa chỉ IP thường gửi thư spam đều đã bị đưa vào các blacklist trong các DNS server chuyên chứa blacklist như spamcop, spamhaus, sorbs. Mail server sẽ từ chối SMTP connection sau khi trao đổi vài packet từ những máy trong các blacklist do đó tài nguyên máy và mạng rất ít hao tổn.
Hàng rào này sẽ chặn khoảng 90% số thư spam. Hầu hết các thư gửi từ botnet đều bị chặn bởi hàng rào này. Chỉ những thư gửi từ những mail server đáng tin cậy hoặc những địa chỉ IP ít gửi spam mới qua được hàng rào này.
Có thể chặn luôn những SMTP connection từ những địa chỉ IP không có tên (không có PTR record trong DNS). Hầu hết địa chỉ IP của những mail server nghiêm chỉnh đều có tên, những mail server nào mà dùng địa chỉ IP không tên thì cũng đáng bị từ chối dù cho nó gửi thư spam hay không.

Chặn theo địa chỉ hộp thư gửi

Những domain thường gửi thư spam đã bị đưa vào các blacklist trong các DNS server chuyên chứa blacklist như rfc-ignorant, sorbs. Mail server sẽ từ chối SMTP connection sau khi trao đổi vài packet khi thấy địa chỉ hộp thư gửi trong các blacklist nên tài nguyên máy và mạng rất ít hao tổn.
Lớp hàng rào này cũng ngăn những thư mà hộp thư gửi không nhận thư trả lời. Phần lớn những địa chỉ hộp thư mà không chịu nhận thư vào là địa chỉ hộp thư không có thật do những chương trình gửi thư spam bịa ra. Một số ít những thư gửi tin tức tự động từ những công ty cũng có địa chỉ hộp thư gửi không nhận thư trả lời, muốn nhận những thư tin tức đó thì phải đưa tên domain của các công ty đó vào một danh sách riêng để mail server không từ chối.
Mail server sẽ lập một danh sách các địa chỉ hộp thư nhận trả lời và không nhận trả lời. Khi có một thư gửi tới, mail server sẽ tra danh sách để quyết định nhận hay từ chối thư. Nếu địa chỉ thư gửi chưa có trong danh sách thì mail server sẽ gửi thử một thư đến địa chỉ đó để xem nó thuộc hạng nào.

Hàng rào này sẽ chặn hơn 60% số thư spam đã vượt qua được hàng rào trước.


Spamassassin

Những cách chặn trên không cần xem đến nội dung của thư mà đã chặn được hơn 95% số thư spam. Do không cần phải xem nội dung thư nên không hao tốn tài nguyên máy. Vẫn còn một ít spam mail đi qua được các hàng rào trên. Để lọc những thư này, mail server dùng Spamassassin để đọc qua nội dung thư và đánh giá mức độ spam dựa trên nhiều đặc điểm của từng thư. Những đặc điểm đó là:
  • thư từ nơi gửi đã đi qua các máy nào để đến nơi nhận, các máy đó có đáng tin cậy không
  • các dòng header là bình thường hay có dấu hiệu của các chương trình gửi thư hàng loạt
  • dòng Subject có khác thường không: toàn chữ hoa, nhiều khoảng trắng liền nhau…
  • nội dung có chứa nhiều từ quảng cáo khiêu dâm, thuốc, trúng số…
Số các đặc điểm trên là hữu hạn, trong khi đặc điểm của thư spam lại thay đổi rất nhanh. Để phát hiện ra những thư spam mới thì Spamassassin tạo ra một database các từ và nhóm từ thường gặp trong thư spam và thư thường, đó là database Bayes. Mỗi thư nhận vào sẽ được tra xem các từ và nhóm từ trong thư đã có trong database Bayes không để chấm điểm, và mỗi khi đánh giá một thư là sạch Spamassassin cũng sẽ đưa các từ và nhóm từ của thư đó vào database Bayes. Những từ và nhóm từ ở trong database Bayes quá lâu (64 ngày) mà không gặp lại thì cũng bị loại ra khỏi database. Nội dung database Bayes không có sẵn khi mới cài đặt Spamassassin, trước khi dùng database Bayes thì Spamassassin phải có ít nhất 200 thư spam và 200 thư thường. Số thư thường thì Spamassassin tự học như đã ghi ở trên còn số thư spam thì người dùng phải dạy cho Spamassassin. Khi đã được dạy đủ 200 thư spam thì database Bayes mới bắt đầu có tác dụng. Để có đủ 200 thư spam thì người dùng phải cất lại những thư spam đã nhận, hoặc nếu chưa có sẵn thì phải gửi những thư spam sắp nhận được cho Spamassassin học theo cách dưới đây.

Spamassassin cần mở thư ra và phân tích nội dung thư nên nó cần dùng nhiều tài nguyên máy hơn các hàng rào trên. Như vậy ta thấy rằng mail server tốn rất ít công để chặn hơn 90% thư spam nhưng lại tốn nhiều công hơn để chặn vài phần trăm còn lại. Mặc dù tốn nhiều công, Spamassassin cũng không thể phát hiện hết mọi thư spam, vẫn còn vài thư spam đi được đến hộp thư người dùng. Để giúp Spamassassin phát hiện những thư spam tương tự sắp gửi đến, người dùng phải tích cực phản hồi những trường hợp lọt lưới đó. Nếu người dùng không phản hồi thì Spamassassin vẫn tưởng lầm rằng những thư spam đã lọt lưới là thư sạch.
Để phản hồi những thư lọt lưới thì người quản trị mail server phải đặt một hộp thư để người dùng phải chuyển thư spam đến hộp thư, ví dụ [email protected] theo cách trong trang sau http://wiki.apache.org/spamassassin/ResendingMailWithHeaders (rất tiếc là Outlook Express không làm được theo cách này, mà phần lớn người dùng lại dùng Outlook Express).
Với Outlook Express thì phải làm theo cách trong trang sau http://wiki.apache.org/spamassassin/SiteWideBayesFeedback. Đoạn liên quan đến Outlook Express được chép lại dưới đây:

Create a *new* mail message in Outlook/Express. Resize the windows so that you can see both your new message as well as the main O/OE window. Select the messages you want to send as Spam or Ham (probably not both in the same message) and drag them "into" the new message. This will send all the messages as attachments to the main email.

Thư gửi đến [email protected] sẽ được giao cho sa-learn để đưa vào database Bayes. Nếu người quản trị cẩn thận thì nên mở từng thư trong [email protected] ra coi trước khi giao cho sa-learn.
Ngoài database Bayes, Spamassassin còn có thể tra và báo thư spam vào các database trong Internet là Razor, Pyzor, Dcc.

Trên đây là những cách chặn thư spam đơn giản, ít tốn công của người quản trị và người dùng. Nếu các cách trên vẫn chưa chặn hết thư spam, có thể dùng thêm các access list của mail server để chặn những thư có dấu hiệu cụ thể. Để dùng access list thì phải tốn công đọc và nhận ra dấu hiệu riêng của thư spam.
Dù cho đã làm hết mọi cách, vẫn có thể còn khoảng 1% thư spam lọt vào được đến hộp thư của người dùng vì thư spam luôn luôn thay đổi, rất khó đoán trước được.

Phần trên là cách chặn thư spam đi vào mail server. Để không bị đưa vào các blacklist thì mail server cũng cần phải chặn thư spam đi ra. Điều này đặc biệt cần thiết nếu là mail server công cộng như mail server của các ISP.

Việt Nam đã có luật về chống thư rác. Những người gửi thư quảng cáo không đúng luật sẽ bị xử phạt. Để nhắc nhở cho những người gửi thư vô tư đó, tôi trả lời thư quảng cáo như sau:

Quí vị đã gửi thư quảng cáo đến hộp thư của tôi. Đây là lần thứ nhất (hai, ba) tôi yêu cầu quí vị chấm dứt việc này.
Trích Nghị định 90/2008/NĐ-CP của Chính phủ Về chống thư rác:
Khoản 3 Điều 34: Phạt tiền từ 1.000.000 đồng đến 2.000.000 đồng đối với hành vi:
a) Sử dụng địa chỉ thư điện tử đã thu thập không đúng mục đích, phạm vi đã được người sở hữu địa chỉ đó cho phép;
b) Làm sai lệch thông tin tiêu đề của thư điện tử, tin nhắn.
Điều 35: Phạt tiền từ 10.000.000 đồng đến 20.000.000 đồng đối với hành vi:
1. Gắn nhãn thư điện tử quảng cáo không đúng hoặc không đầy đủ theo quy định tại khoản 2 và khoản 3 Điều 10 Nghị định này;
Khoản 1 Điều 36: Phạt tiền từ 2.000.000 đồng đến 5.000.000 đồng đối với hành vi:
a) Gửi thư điện tử quảng cáo không có phần thông tin cho phép người nhận từ chối nhận thư điện tử quảng cáo hoặc có phần thông tin cho phép người nhận từ chối nhận thư điện tử quảng cáo nhưng không đáp ứng đầy đủ các điều kiện quy định tại khoản 1 Điều 12 Nghị định này;
Khoản 2 Điều 38: Phạt tiền từ 2.000.000 đồng đến 5.000.000 đồng đối với hành vi:
a) Gửi thư điện tử quảng cáo không có hoặc không đầy đủ thông tin về người quảng cáo theo quy định tại khoản 1 Điều 11 Nghị định này;
Khoản 4 Điều 38: Phạt tiền từ 20.000.000 đồng đến 40.000.000 đồng đối với hành vi:
a) Không phải nhà cung cấp dịch vụ quảng cáo mà vẫn gửi thư điện tử quảng cáo hoặc tin nhắn quảng cáo khi chưa được sự đồng ý của người nhận;
b) Gửi thư điện tử hoặc tin nhắn quảng cáo từ hệ thống có các thông số kỹ thuật chưa đăng ký với Bộ Thông tin và Truyền thông;
c) Gửi thư điện tử quảng cáo hoặc tin nhắn quảng cáo không có nhãn.
Xem thêm ở http://antispam.vncert.gov.vn

Đồng thời forward nguyên vẹn thư rác đến [email protected] để VNCert có bằng chứng về việc gửi thư rác.


nguồn: http://lhboi.homelinux.net/writing/spammail





Không có nhận xét nào:

Đăng nhận xét

Vui lòng viết Tiếng Việt. Có dấu.
Nhận xét luôn luôn được kiểm tra trước khi xuất bản. :). Vì vậy bạn đừng cố SPAM
Cảm ơn bạn