2007 06 Weryfikacja nadawcy–dylematy administratora [Bezpieczenstwo]

background image

bezpieczeństwo

Weryfikacja nadawcy

38

czerwiec 2007

bezpieczeństwo

Weryfikacja nadawcy

39

www.lpmagazine.org

lin

ux

@

so

ftw

ar

e.

co

m

.p

l

J

edną z metod możliwych do zastosowania np. w Post-
fiksie
jest weryfikacja nadawcy. Pomysł jest zdrowo-
rozsądkowy i ma swoje proste odniesienie do rzeczy-
wistości zupełnie niezwiązanej ze światem kompute-

rów. Są ludzie, którzy nie znoszą anonimowych listów. Ta-
kowe listy bez czytania wyrzucają do kosza i nie cierpią przy
tym żadnych moralnych katuszy. Tak samo bez obciążeń wy-
rzucają listy podpisane „życzliwy” etc. Człowiek taki nie da
się też łatwo oszukać, gdy ktoś chce się podszyć pod jego zna-
jomych – rozpoznaje bowiem styl, charakter pisma, ogólnie
rzecz ujmując, potrafi w jakiś sposób zweryfikować nadaw-
cę listu. Oczywiście ta weryfikacja nie jest może profesjonalna,
ale jednakowoż istnieje, a to w wielu przypadkach wystarczy.

Weryfikacja nadawcy w Postfiksie

Na czym polega weryfikacja nadawcy w Postfiksie? Przyj-
rzyjmy się typowej wymianie informacji w sesji SMTP.
Możemy to zobaczyć, łącząc się programem telnet z por-
tem 25 serwera:

telnet pryncyp.mol.uj.edu.pl 25
220 pryncyp.mol.uj.edu.pl ESMTP over Postfix

system on freeBSD
ehlo poczta.lsdialog.pl
250-pryncyp.mol.uj.edu.pl
250-PIPELINING
250-SIZE 8000000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250 8BITMIME
mail from: jjb@lsdialog.pl
250 Ok
rcpt to: jjb@mol.uj.edu.pl
250 Ok

Weryfikacja nadawcy

– dylematy administratora

Wszędobylski spam wymusza na administratorach poszukiwanie różnych metod zabezpieczania
serwerów pocztowych przed zalewem niechcianych wiadomości. Nie ma jedynie słusznych metod
– niektóre metody sprawdzają się znakomicie w pewnych warunkach, w innych zaś ich skuteczność
jest zdecydowanie mniejsza.

Janusz Bielec

Janusz Bielec jest trenerem w Compendium Centrum
Edukacyjnym oraz pracownikiem Uczelnianego Ośrodka
Komputerowo-Sieciowego Uniwersytetu Jagiellońskiego.
Posiada stronę domową o adresie: http://awe.mol.uj.
edu.pl/~jjb

O autorze

background image

bezpieczeństwo

Weryfikacja nadawcy

38

czerwiec 2007

bezpieczeństwo

Weryfikacja nadawcy

39

www.lpmagazine.org

data
354 End data with <CR><LF>.<CR><LF>
Teraz podawany jest tekst wiadomości.
Ok: queued as D3E05104FCD

Nieparzyste numery dotyczą klienta, parzy-
ste to odpowiedzi serwera. W praktyce klien-
tem będzie najczęściej inny MTA i takich sy-
tuacji dotyczą dalsze rozważania.

Konfigurując MTA, przyjmuje się zwy-

kle, że każdy może do nas napisać. Podob-
nie jak każdy może do nas wysłać list pocz-
tą. Z tego powodu w typowej konfiguracji
agent transportu nie poświęca dużo uwagi
danym przekazanym w wierszu 5. po pole-
ceniu mail from:, skoro w następnym swoim
kroku (wiersz 7.) klient deklaruje, że chce
przekazać przesyłkę do lokalnego użytkow-
nika rcpt to: jjb@mol.uj.edu.pl. Teraz po pole-
ceniu data treść informacji powinna dotrzeć
do odbiorcy. W wielu przypadkach będzie
to spam, który może zostać wychwycony
przez analizę treści, ale taka dokładna ana-
liza pożera zasoby serwera.

W tej sytuacji możemy pokusić się o spraw-

dzenie, czy nadawca listu mógł wysłać prze-
syłkę z konkretnego serwera. Nie będzie to

potwierdzenie, że to akurat on wysłał tę
przesyłkę, ale możemy przynajmniej spraw-
dzić, czy taki użytkownik istnieje.

W Postfiksie do takich zadań służy pro-

gram verify. Uruchomiony jako demon w mo-
mencie, kiedy serwer odbierze określony po-
leceniem mail from: adres nadawcy, łączy się
z serwerem nadawcy jako klient chcący prze-
słać na adres nadawcy przesyłkę. Oczywiście
nie wysyła żadnej przesyłki, nawet pustej,
chce tylko potwierdzić, że nadawca istnieje
i można do niego wysłać w tym momencie
przesyłkę. W zależności od zachowania serwe-
ra nadawcy Postfix podejmuje decyzje okreś-
lone w konfiguracji, którą omówimy dokład-
nie nieco dalej.

Zasadniczo demon verify mógłby za każ-

dym razem sprawdzać istnienie nadawcy
i jego gotowość do przyjęcia przesyłki, ale
to zabiera trochę czasu, innymi słowy – nie
byłoby to zbyt wydajne rozwiązanie. W ta-
kim razie może lepiej byłoby zbierać takie
zweryfikowane informacje i przechowywać
je przez pewien czas. Do tego jest potrzeb-
na jakaś baza danych, która te informacje bę-
dzie przechowywać. Zasadniczo jest to bar-
dzo prosta tabela, ale dostęp do informacji

powinien być szybki. Postfix może współ-
pracować z wieloma bazami danych, żeby
się dowiedzieć, jakie mamy możliwości. Wy-
starczy wydać polecenie:

postconf -m
btree
cidr
environ
hash
mysql
nis
proxy
regexp
sdbm
static
tcp
unix

Widzimy tu, że w tym przypadku można się
oprzeć np. na bazie typu hash, btree czy mysql.
Załóżmy, że wykorzystamy bazę typu hash,
chociaż przy mocno obciążonych systemach
wydajniejsza będzie baza btree albo mysql.

Teraz przejdźmy do konfiguracji Post-

fiksa. Wszelkie zmiany będą wprowadzane
w pliku main.cf – zwykle znajduje się on w /etc/

R

E

K

L

A

M

A

background image

40

Weryfikacja nadawcy

czerwiec 2007

bezpieczeństwo

postfix. Powinien się tu znaleźć wpis określa-
jący rodzaj i położenie pliku z bazą zweryfi-
kowanych nadawców, np. dla bazy hash bę-
dzie to wpis tego rodzaju:

address_verify_map =
hash:/var/log/mail/verify

Ten wpis nie ustanawia jeszcze żadnej restry-
kcji, ustala jedynie, gdzie należy wpisywać
informację o zweryfikowanych nadawcach
i gdzie jej potem szukać.

Narzućmy teraz na nadawcę obowiązek

weryfikacji:

smtpd_sender_restrictions =
reject_unverified_sender

Teraz nadawca, który nie będzie gotów przy-
jąć od nas przesyłki, zostanie odrzucony. Po-
winniśmy zadeklarować, jak go traktować,
tzn. jakim kodem odpowiedzieć. 450 w po-
niższym przypadku oznacza błąd o charak-
terze nietrwałym:

unverified_sender_reject_code = 450

Jeżeli będziemy pewni poprawności dzia-
łania naszego systemu, możemy ten numer
zmienić na 550. Ale do tego momentu warto
przeglądać dzienniki Postfiksa (np. /var/log/
maillog
), obserwując jego zachowanie w kon-
kretnych przypadkach. Będziemy mieli wpi-
sy podobne temu:

pryncyp postfix/smtp[7116]:
D1FFE104EB8: to=<wtwlabolt@comcast.ne
t>, orig_to=<wtwlabolt@comcast.net.>,
relay=gateway-s.comcast.net[63.240.76
.26], delay=12, status=undeliverable
(host gateway-s.comcast.net[63.240.7
6.26] said: 551 not our customer (in
reply to RCPT TO command))

lub:

pryncyp postfix/smtpd[7132]: NOQUEUE:
reject: RCPT from i07v-212-194-
92-142.d4.club-internet.fr[212.19
4.92.142]: 450 <vpmurqeozfd@club-
internet.fr>: Sender address rejected:
undeliverable address: host mx.club-
internet.fr[194.158.120.25] said: 550
5.1.1 <vpmurqeozfd@club-internet.fr>:
Recipient address rejected: User
unknown in local recipient table
(in reply to RCPT TO command);
from=<vpmurqeozfd@club-internet.fr> to
=<kkkowalik@mol.uj.edu.pl> proto=ESMTP

helo=<i07v-212-194-92-142.d4.club-
internet.fr>

albo:

pryncyp postfix/smtpd[7141]:
NOQUEUE: reject: RCPT from
unknown[189.141.1.18]: 450 <gilber
t@graphinity.com>: Sender address
rejected: undeliverable address:
host mx1.cribellum.net[198.173.
211.125] said: 550 unknown user
<gilbert@graphinity.com> (in reply to
RCPT TO command); from=<gilbert@graph
inity.com> to=<taanna@mol.uj.edu.pl>
proto=ESMTP helo=<friend>

Jeżeli adres nadawcy jest niedoręczalny (un-
deliverable
), Postfix odrzuca informację. Ale
początkowo warto śledzić, kiedy system
podjąłby taką decyzję, nie odrzucając jednak
informacji. W tym celu należy posłużyć się
poleceniem warn_if_reject. System zapisze w
dzienniku, że informacja zostałaby odrzuco-
na, ale przyjmie ją do dalszej analizy:

smtpd_sender_restrictions =
warn_if_reject reject_
unverified_sender

A oto wpis w dzienniku:

pryncyp postfix/smtpd[7540]: NOQUEUE:
reject_warning: RCPT from expredir4
.cites.uiuc.edu[128.174.5.187]: 450
<msroka@uiuc.edu>: Sender address
rejected: unverified address:
Address verification in progress;
from=<msroka@uiuc.edu>
to=<konferencja@inib.uj.edu.pl>
proto=ESMTP helo=<expredir4.cites.
uiuc.edu>

Po upewnieniu się, że wszystko działa popraw-
nie, możemy wpis warn_if_reject wyrzucić.

Typowe problemy

Zapisuję się do grupy językowej, aby otrzy-
mywać codzienną dawkę ćwiczeń, a tu infor-
macje nie docierają. Sprawdzam w nagłówku
wiadomości i widzę wpis:

Message-Id:
<200703260507.l2Q57eii013232@nauka.pl>
From: "Nauka.pl"
<mailing@nauka.pl>

To znaczy, że wysyła to użytkownik mailing z
domeny nauka.pl.

Polecenie:

dig -t mx nauka.pl

informuje mnie, dokąd wyśle zapytanie mój
serwer przy próbie weryfikacji nadawcy:

ANSWER SECTION: nauka.pl. 86400
IN MX 10 mx.nauka.pl.

Teraz łączę się telnetem z portem 25. serwera
mx.nauka.pl:

telnet mx.nauka.pl 25
Trying 195.149.231.91...
Connected to mx.nauka.pl
(195.149.231.91).
Escape character is '^]'.
220 smtp.h.win.pl ESMTP
helo pryncyp.mol.uj.edu.pl
250 smtp.h.win.pl
mail from: jjb@mol.uj.edu.pl
250 ok
rcpt to: mailing@nauka.pl
511 sorry, no mailbox here by that
name / skrzynka pocztowa odbiorcy
nie istnieje (#5.1.1 – vuser)

Zapytajmy teraz bazę verify:

postmap -q mailing@nauka.pl hash:
/var/log/mail/verify
2:0:1168402483:host mx.nauka.pl
[195.149.231.91] said: 511 sorry,
no mailbox here by that name /
skrzynka pocztowa odbiorcy nie
istnieje (#5.1.1 - vuser) (in reply
to RCPT TO command)

To jest niestety częsty przypadek – jak sobie
poradzić? Możemy zezwolić na przesyłanie in-
formacji z tej domeny bez weryfikacji nadaw-
cy, ale problem jest dosyć popularny. Wiele
list dyskusyjnych, systemów wysyłających in-
formacje np. o rezerwacjach biletów wpisuje
w nazwie nadawcy coś, co ma znaczenie dla ba-
zy rezerwacji, ale nie jest weryfikowalnym kon-
tem. W dodatku na ogół nie są przesyłane żad-
ne dodatkowe informacje, że jest to konto typu
„bulk”, służące li tylko do rozsyłania maili.

Podsumowanie

Moim zdaniem jest to konfiguracja utrudniają-
ca kontrolowanie spamu. Swego czasu przyję-
te było, że pewne nazwy w adresach należy
łączyć z listami mailowymi, ale teraz wydaje
mi się to mało sensowną zasadą. Po prostu
należałoby stworzyć choćby alias dla adre-
su nadawcy.


Wyszukiwarka

Podobne podstrony:
2007 06 Bezpieczeństwo informacji a nowoczesny biznes
2007 06 Mobilne (nie)bezpieczeństwo
2007 06 Amarok–wypasiony wilk [Poczatkujacy]
IPN 16 2007 06 01
Egzamin Kierończyk - Myśl ustrojowa starożytności, Bezpieczeństwo Wewnętrzne - Administracja Bezpie
ODPOWIEDZIALNOSC CYWILNA PRACOWNIKOW ADMINISTRACJI PUBLICZNEJ, Bezpieczeństwo Wewnętrzne - Administr
Polityka szczęścia, Bezpieczeństwo Wewnętrzne - Administracja Bezpieczeństwa Wewnętrznego WSAiB, Po
2007 06 Praca z grafiką z linii komend [Grafika]
Niesprawiedliwość, Bezpieczeństwo Wewnętrzne - Administracja Bezpieczeństwa Wewnętrznego WSAiB, Pol
System ochrony prawnej konsumenta w UE Nakielska, Bezpieczeństwo Wewnętrzne - Administracja Bezpie
Progam wykladow Prawo Adm.- Bojanowski, Bezpieczeństwo Wewnętrzne - Administracja Bezpieczeństwa We
2007 06 BO Egzaminid 25655
SIMR-RR-EGZ-2007-06-26b-rozw
2007 06 22 29 Stawiarski
Administracja bezpieczeństwa wewnętrznego wykład
IO 06 Weryfikacja Zatwierdzanie
2007 06 22 0703
2007 01 Wszystko o prawach dostępu [Bezpieczenstwo]
Wypełnione, SpecyfikacjaWymagań 01 2007 06 13 MI, ARKUSZ ZLECENIA PROJEKTOWEGO

więcej podobnych podstron