Wyk 0910 SK ID4x2010 DNS SMTP


dr inż. K. Gromaszek Sieci Komputerowe
Sieci Komputerowe
Sieci Komputerowe
Wykład 9
Protokół DNS
Plan
Plan
" DNS  Wprowadzenie
" Przestrzeń nazw DNS
" System nazw DNS
" Rekordy zasobów
" Domena odwrotna
" Jak funkcjonuje DNS?
" Typy rekordów zasobów
" Zapytania DNS
" Programy użytkowe  diagnostyka DNS
DNS  Wprowadzenie(1/2)
DNS  Wprowadzenie(1/2)
" Każdy program może odwoływać się do hostów i ich zasobów za
pomocą adresów IP
" Adresy IP są niewygodne do zapamiętania i nie zawsze są
przypisane do określonych zasobów na stałe
" W przeciwieństwie do ludzi sieci komputerowe sa zdolne do
interpretowania jedynie adresów sieciowych (w szczególności
adresów IP), stąd posługiwanie się nazwami mnemonicznymi
wymaga obecności mechanizmu dokonującego ich konwersji na
adresy IP
" host.txt i ARPANET
" DNS pochodzi z angielskiego Domain Name Service, bądz też
Domain Name Servers, opisany w RFC 1034 i 1035
" Istotą DNS jest nadawanie nazwom mnemotechnicznym struktury
hierarchicznej opartej na koncepcji domen i zrealizowanie
zarządzania nimi w postaci rozproszonego systemu baz danych.
" Nazwy domen zaczynają się od najbardziej szczegółowej czyli
hosta i przesuwają się do najbardziej ogólnej, czyli nazwy root.
Nazwa domenowa, która zaczyna się od hosta i przechodzi całą
drogę do korzenia jest zwana w pełni kwalifikowana nazwą domeny
(fully gualified domain name, FQDN).
DNS - Wprowadzenie(2/2)
DNS - Wprowadzenie(2/2)
" Serwer nazw ma najczęściej pełne informacje o części całej przestrzeni
nazw, określaną strefą
" Dane te pobierane są z pliku lokalnego lub z innego serwera nazw, co
jest określane mianem, że serwer ma autoryzację dla strefy lub jest
wiarygodnym dla całej strefy.
" Ze względu na trudności w zarządzaniu bazą wpisów wszystkich hostów
np. w domenie .pl stosuje się delegację strefy; przechowywanie i
uzupełnianie informacji o hostach np. pol.lublin.pl przekazane jest
serwerowi nazw należącemu do firmy, a serwer zarządzający domeną
lublin.pl zawiera jedynie wpis o adresie IP serwera nazw domeny
pol.lublin.pl
Serwery DNS
Serwery DNS
" ROOT SERVER - zna wszystkie top level domains w sieci Internet.
Informacje o hostach jest zbierana z tych domen poprzez
przeprowadzenie zapytania dla komputera z innej strefy (name server
query) ROOT SERVER może stwierdzić miarodajnie o istnieniu danego
host'a w tej poddomenie.
" MASTER SERVER - "miarodajny" dla całego obszaru bieżącej domeny,
prowadzi bazy danych dla całej strefy. Istnieją dwa rodzaje MS:
PRIMARY MASTER SERVER oraz SECONDARY MASTER SERVER,
Może się zdarzyć, że serwer jest zarazem MASTER SERVER dla kilku
domen  dla jednych PRIMARY MASTER SERVER, dla innych
SECONDARY MASTER SERVER.
" CACHING SERVER - wszystkie serwery (PRIMARY jak i SECONDARY)
prowadzą cache'owanie informacji, które otrzymują Korzystają z nich aż
do zdezaktualizowania danych. Wygasanie określone jest w polu TTL ,
które jest zawsze dołączane do danych dostarczanych serwerowi. CS
nie mają pełnomocnictw dla żadnej strefy, w związku z tym nie
zarządzają żadnymi bazami danych. Mogą natomiast odpowiadać
poprzez wysyłanie zapytań (queries) do innych serwerów posiadających
takie pełnomocnictwa.
Domena odwrotna DNS
Domena odwrotna DNS
" Programy komunikacyjne przesyłają dane w postaci pakietów
TCP/IP, które mogą zawierać jedynie adresy adres TCP/IP
nadawcy. Jednak host - odbiorca chciałby znać także nazwę a nie
tylko adres host'a - nadawcy. Potrzebny jest więc mechanizm
ponownej translacji z adresu na pełną nazwę komputera (full
domain name). Oczywiście można do tego użyć name server'a.
" Do tego celu stworzono specjalną domenę w sieci Internet,
nazwaną .in-address.arpa, która spełnia wyżej wymienione
założenie. Wszystkie sieci TCP/IP są ulokowane w tej domenie.
" Przykład:
% Adres: 149.156.96.9
% Reverse Name: 9.96.156.149.in-addr.arpa
% Nazwa komputera: galaxy.uci.agh.edu.pl
" Dzięki tej domenie możliwy jest mechanizm bezbłędnego
mapowania (mapping) adresu Internetowego na nazwę host'a, jak
również lokalizacji wszystkich gateways w danej sieci lokalnej
podłączonej do Internetu.
Przestrzeń nazw DNS
Przestrzeń nazw DNS
Domeny rodzajowe Domeny narodowe
com edu gov
int mil org net us uk ... pl eu
biz info name pro
ICANN 2000
aero coop museum spie ieee
" Koncepcyjny podział Internetu na 200 domen najwyższego poziomu (top-level
domains)
" Każda domena dzieli się na poddomeny (subdomains), które również mogą
podlegać analogicznemu podziałowi
" Nazwa absolutna zawsze kończy się kropką
" Wielkość liter nie ma znaczenia
" Nazwa każdego członu może liczyć co najwyżej 63 znaki, a domena -255
" Każda domena może być zarejestrowana na 2 sposoby jako rodzajowa lub
narodowa
" Granice między domenami określa organizacyjna struktura sieci (nie fizyczna)
System nazw DNS
System nazw DNS
" Uproszczony schemat tworzenia Domain Name dla pewnego komputera:
hostname.(subdomain).topleveldomain
gdzie odpowiednio:
- hostname - nazwa host'a (komputera,
któremu jest przypisywana nazwa)
- subdomain - poddomena (może ich
być kilka)
- topleveldomain - główna domena
Przykład: elektron.pol.lublin.edu.pl
gdzie odpowiednio:
- elektron - nazwa konkretnego komp.
- pol - domena Politechniki Lubelskiej
- lublin - domena miejska
- edu - strefa edukacyjna w Polsce
- pl - domena Polska (top-leveldomain)
Jak funkcjonuje DNS?
Jak funkcjonuje DNS?
" Program potrafiący wysyłać zapytania do serwerów DNS to resolver
" Resolver wysyła zapytanie do DNS wewnątrz pakietu UDP na port 53
" Server odpowiada podając adres IP odpowiadający nazwie podanej w poprzednim
pakiecie na port wysoki >1024
" Kwestia skąd Server DNS dowiaduje się jaki adres IP ma host o który pytamy?
(elektron.pol.lublin.pl)
% Wysłanie zapytania do jednego z głównych serwerów internetu, uzyskując listę kilku
serwerów posiadających autoryzację dla określonej domeny np. .pl
% Wysłanie zapytania do jednego z serwerów domeny .pl i uzyskanie dwóch adresów IP dla
domeny lublin.pl
% Wysłanie zapytanie o host w www.pol.lublin.pl do jednego z serwerów domeny i uzyskanie IP
poszukiwanego hosta i wysłanie odpowiedzi resolverowi
" Złożoność procesu => buforowanie (caching) i TTL
" Rodzaje zapytań DNS:
% Rekurencyjne  zmuszenie do znalezienia wiarygodnej informacji / zwrot błędu
% Iteracyjne  (m-dzy serwerami DNS) najlepsza dostępna w danej chwili odpowiedz
Rekordy zasobów
Rekordy zasobów
" Dla każdej domeny mogą być przydzielane rekordy zasobów
(resource records)
" Proces określający nazwy, wysyłając do serwera DNS nazwę
domeny, oczekuje udostępnienia związanych z tą nazwą rekordów
zasobowych. Zatem podstawową funkcją DNS jest
odwzorowywanie nazw domen na zbiory rekordów zasobów.
" Rekord zasobów składa się z 5 części, po jednym rekordzie w
wierszu; każdy wiersz stanowi ciąg znakowej reprezentacji
następujących pól:
Nazwa_domeny Czas_życia Klasa Typ Wartość
Identyfikuje domenę, z którą
związany jest rekord zasobów;
służy jako klucz indeksacji
Definiuje typ rekordu
zasobów,
Określa  termin ważności informacji
najważniejsze to A i MX
reprezentowanej przez rekord.
Pernamentne - 86400, ulotne - 60
Zawiera wartość,
Związane z Internetem zawierają
której postać i sposób
IN; pozostałe mogą zwierać
interpretacji zależy od
dowolny kod
typu rekordu
Typy rekordów zasobów
Typy rekordów zasobów
TYP Znaczenie Wartość
SOA Poczatek sterfy wpływów Parametry strefy serwera nazw
A Adres IP hosta 32b liczba całkowita
Nazwa i priorytet serwera pocztowego
MX Wymiana poczty
domeny
NS Serwer nazw Nazwa serwera DNS dla domeny
CNAME Nazwa kanoniczna Nazwa domeny
PTR Wskaznik Alias adresu IP
HINFO Opis hosta Identyfikator CPU i OS (ASCII)
Teskst ASCII niepodlegający
TXT Tekst
interpretacji
Zapytania DNS (1/2)
Zapytania DNS
(1/2)
" Serwer główny nie odpowiada
bezpośrednio na zapytanie o
adres, natomiast wskazuje
Serwer DNS
lokalnemu serwerowi serwer,
domeny głównej
który może odpowiedzieć na
zapytanie dotyczące domeny
google.com. Serwer DNS
Serwer DNS
lokalnego ISP
w BigCorp
" Serwer główny przesyła
serwerowi lokalnemu rekord
zawierający nazwę
odpowiedniego serwera dla
Firewall
domeny google.com oraz rekord
Serwer DNS
adresowy określający adres
w oddziale azjatyckim
tego serwera.
Gdzie jest Wewnętrzny
Serwer DNS
www.bigcorp.asia.com?
" Następnie lokalny serwer
wysyła do serwera domeny
google.com zapytanie o adres
www.google.com i otrzymuje
www.bigcorp.asia.com
odpowiedz.
PC
Zapytania DNS (2/2)
Zapytania DNS
(2/2)
" Jeżeli ma dojść do komunikacji między dwoma komputerami,
program pobiera nazwę host'a i wysyła pytanie do specjalnego
serwera (name server) o powiązany z tą nazwą adres sieciowy.
" Name server zna adresy wszystkich lokalnych komputerów w
zdefiniowanej strefie, jaką obsługuje (sieci lokalnej).
" Name server zna adresy innych name server'ów w Internecie.
" Jeżeli więc skądś nadchodzi zapytanie (query) o adres komputera
po podaniu nazwy tego komputera, name server może:
% odczytać (resolve) adres lokalnie
% spytać inne name server'y czy one nie znają adresu komputera,
o który pyta komputer-klient.
Database
user
query
query
User Full Name
Cache
program resciver server
response
user
response
response query
Cache Foreign
Name
Server
Komunikat DNS(1/5)
Komunikat DNS(1/5)
" Komunikat DNS ma 12 bajtowy nagłówek stałej długości
i cztery pola zmiennej długości.
0 8 16 31
Identification Parameters
QDcount ANcount
NScount ARcount
Question Section
Answer Section
Authority Section
Aditional Information Section
Komunikat DNS(2/5)
Komunikat DNS(2/5)
" Poszczególne pola komunikatu DNS mają następujące znaczenie:
" identyfikacja - pole wypełniane przez klienta, tak aby mógł
zidentyfikować odpowiedz serwera DNS;
1 4 1 1 1 1 3 4
QR optcode AA TC RD RA zero rcode
" parametr - klasyfikuje komunikat
% QR - typ operacji 0 dla pytania, l dla odpowiedzi
% Oc - O pytanie standardowe, l pytanie odwrotne, 2 pytanie o status serwera,
% AA - odpowiedz autorytatywna (Prawda/Fałsz),
% TC - komunikat skrócony (Prawda/Fałsz),
% RD - żądana jest rekursja (Prawda/Fałsz),
% RA - rekursja jest dostępna (Prawda/Fałsz),
% Zero - zarezerwowane, ma wartość 0,
% Rc - typ odpowiedzi, 0 bez błędów, 3 błąd nazwy;
Komunikat DNS(3/5)
Komunikat DNS(3/5)
" liczba pytań - 1 lub więcej dla pytania, 0 dla odpowiedzi;
" liczba odpowiedzi - 0 dla pytania, 1 lub więcej dla odpowiedzi;
" liczba autorytetów - 0 dla pytania, 1 lub więcej dla odpowiedzi;
" liczba dodatkowych informacji - 0 dla pytania, 1 lub więcej dla
odpowiedzi;
" pytania - każde pytanie składa się z napisu zawierającego adres
internetowy, którego dotyczy pytanie, typu pytania i klasy pytania.
0 8 16 31
length label 1 ...
& label n 00
type class
Komunikat DNS(4/5)
Komunikat DNS(4/5)
Adres IP
1 A
name server, serwer nazw dla domeny
2 NS
canonical name, nazwa kanoniczna (jeśli komputer
5
CNAME
odpowie na więcej niż jedną nazwę - nazwa główna)
pointer record, rekord wskaznikowy (wskazuje
12
PTR
nazwę odpowiadającą adresowi IP)
host information, informacja o hoście (szczegóły
13 HINFO
związane z komputerem)
mail exchange, rekord wymiennika poczty
15 MX
request for zone transfer, żądanie przesłania strefy
252
AXFR
request for all records, żądanie wszystkich
255 ANY
rekordów
" Odpowiedz, Autorytety, Dodatkowe informacje - wszystkie działają na
tym samym formacie rekordu zasobów
Komunikat DNS(5/5)
Komunikat DNS(5/5)
" Rekord zasobów RR (resource record) zawiera następujące składowe:
" Pole nazwa domeny jest nazwą, do której
odnoszą się zawarte w odpowiedzi informacje
o zasobach.
0 8 16 31
" Pole typ określa jeden z kodów typu
length label 1 ...
stosowanych w RR. Kody te są takie same, jak
wartości typów zapytań,
& label n 00
" Pole klasa jest zwykle wartością 1 dla danych
dotyczących sieci Internet.
type class
" Pole czas życia jest liczbą sekund,
określającą czas przechowywania informacji w
TTL
pamięci podręcznej przez klienta. RR mają
zwykle TTL ustawiony na 2 dni.
RDlength
" Pole długość danych zasobu określa ilość
Rdata
danych w polu dane zasobu. Format tych
danych zależy od pola: typ. Jeśli typ jest
określony jako 1 (rekord A), to dane zasobów
są zapisane w postaci 4-bajtowego adresu IP
Rejetrowanie własnej domeny
Rejetrowanie własnej domeny
" Decyzja czy poddomena w hierarchii .pl czy .com
" Lista polskichdomen regionalnych (http://www.dns.pl)
" Dzięki usłudze EPP (Extensible Provinsioning Protocol) możliwe jest
oddelegowanie rejestracji domen do innych podmiotów gospodarczych =
spadek cen i wzrost szybkości i prostoty rejestracji
" Możliwość rejestrowania domen z wykorzystaniem znaków narodowych
www.żółtałódz.pl = www.xn--tad-fnac58bc46bka.pl
" Ważny aspekt: odległość serwerów DNS firmy świadczącej usługę od
hostów naszych potencjalnych klientów, ilość routerów na drodze oraz
obciążenie łącza w różnych porach doby (dig)
Serwery DNS
Serwery DNS
" BIND (Berkley(Buggy) Internet Net Domain)
najpopularniejszy, potężne narzędzie o dużej
wydajności
" http://www.isc.org/products/BIND/
" djbdns  godny polecenia pod względem
bezpieczeństwa
" http://cr.yp.to/djbdns.html
Konfiguracja BIND ???
Konfiguracja BIND ???
" Demon named
% /etc/named.conf
% /var/named/domain/firma.com.pl
% /var/named/root.cache
% /var/named/domain/1.168.192.in-addr.arpa
% /var/named/named.local
" Kwestie:
% Secondary DNS
% 2 DNS-y na jednej maszynie
% Serwer buforujący
% bezpieczeństwo
Format
Format
komunikatu DNS(1/2)
komunikatu DNS(1/2)
Nagłówek
" ID [16b] identyfikator tworzony przez program wysyłający zapyatanie, który serwer
przepisuje do swojej odpowiedzi, dzięki czemu możliwe jest jednoznaczne
powiązanie zapytania i odpowiedzi
" QR [1b]  (query or response) określa czy komunikat jest zapytaniem(0), czy
odpowiedzią (1)
" OPCODE [4b]  określa rodzaj zapytania wysyłanego od klienta, jest przepisywany
przez serwer do odpowiedzi. Wartości:
% 0  QUERY  standardowe zapytanie,
% 1- IQUERY  zapytanie zwrotne,
% 2- STATUS  pytanie o stan serwera,
% 2- 15  zarezerwowane
" AA [1b]  (Authoritative Answer) odpowiedz autorytatywna
" TC [1b]  (TurnCation) odpowiedz nie zmieściła się w pakiecie UDP i została obcięta
Format
Format
komunikatu DNS(2/2)
komunikatu DNS(2/2)
Nagłówek
" RD [1b]  (Recursion Desired) klient żąda rekurencji
" RA [1b] - (Recursion Available) serwer obsługuje zapytania rekurencyjne
" Z [3b]  zarezerwowane
" RCODE - (Response code) okd odpowiedzi. Wartości:
% 0- brak błędu,
% 1- błąd formatu  serwer nie potrafi zinterpretować zapytania,
% 2  błąd nazwy  nazwa domenowa podana w zapytaniu nie istnieje,
% 4  nie zaimplementowano  serwer nie obsługuje otrzymanego typu zapytania,
% 5- odrzucono  serwer odmawia wykonania określonej operacji,
% 6-15 zarezerwowane
" QDCOUNT [16b]  określa liczbę wpisów w sekcji zapytania
" ANCOUNT [16b]  określa liczbę rekordów zasobów w sekcji zapytania
" NSCOUNT [16b]  określa liczbę rekordów serwera w sekcji zwierzchności
" ARCOUNT [16b]  określa liczbę rekordów zasobów w sekcji dodatkowej
Format komunikatu DNS(2/2)
Format komunikatu DNS(2/2)
" RD [1b]  (Recursion Desired) klient żąda rekurencji
" RA [1b] - (Recursion Available) serwer obsługuje zapytania rekurencyjne
" Z [3b]  zarezerwowane
" RCODE - (Response code) kod odpowiedzi. Wartości:
% 0- brak błędu,
% 1- błąd formatu  serwer nie potrafi zinterpretować zapytania,
% 2  błąd nazwy  nazwa domenowa podana w zapytaniu nie istnieje,
% 4  nie zaimplementowano  serwer nie obsługuje otrzymanego typu zapytania,
% 5- odrzucono  serwer odmawia wykonania określonej operacji,
% 6-15 zarezerwowane
" QDCOUNT [16b]  określa liczbę wpisów w sekcji zapytania
" ANCOUNT [16b]  określa liczbę rekordów zasobów w sekcji zapytania
" NSCOUNT [16b]  określa liczbę rekordów serwera w sekcji
zwierzchności
" ARCOUNT [16b]  określa liczbę rekordów zasobów w sekcji dodatkowej
Programy użytkowe  diagnostyka DNS
Programy użytkowe  diagnostyka DNS
" Potrzeba prostego i wygodnego narzędzia umożliwiającego emulowanie
zapytań resolvera i równocześnie zapytań serwera
% nslookup  pyta jednocześnie tylko jednego serwera DNS,
wykorzystuje zdefinowane w resolverze listy przeszukiwania (ale nie
korzysta z /etc/hosts), nie sprawdza numeru seryjnego SOA
% dig  występuje głównie w systemach z rodziny Linux, jest poleceniem
bez interaktywnego trybu pracy i nie korzysta z listy wyszukiwania
Programy użytkowe  nslookup
Programy użytkowe  nslookup
"
Polecenie Znaczenie
>set all aktualne ustawienia wszystkich opcji
>set nodebug wył. tryb debugowania (wyświetlanie dokł. komunikatów)
>set nod2 wył. tryb debugowania z podglądem zapytań wysłanych do serwera
>set defname wł. dołączanie do nazw bez żadnej kropki domeny domyślnej
>set search wł. dołączanie do nazw bez kropki na końcu domen zdefiniowanych w liście wyszukiwania
>set recurse wł. wysyłanie pytań rekurencyjnych
>set novc Wył. Wysyłanie zapytań za pomocą TCP na port 53
>set noignore etc Wył. Ignorowanie odpowiedzi od serwera z ustawionym bitem obcięcia (transmisja nie
zmieściła się w pakiecie UDP)
>set port=53 Ustawienie portu odpytywania serwera DNS
>set querytype=A Ustawia typ zapytania jakie zostanie wysłane do serwera
>set querytype=NS
>set querytype=MX
>set
querytype=any
>set root=wp.pl Ustawienie domyślnego serwera głównego
Programy użytkowe
Programy użytkowe
 nslookup
 nslookup
" set querytype=NS
 zapytanie o name server,
serwer nazw dla domeny
" set querytype=MX
 zapytanie o mail exchanger,
wymiennik(i) poczty dla
domeny
Programy użytkowe  dig
Programy użytkowe  dig
" Flagi zonaczają:
" qr  komunikat był
odpowiedzią
" aa  odpowiedz
autorytatywna
" rd  (recusrion desired)
w zapytaniu był
ustawiony bit żądania
rekurencji
" ra - bit oznaczający, że
serwer obsługuje
zapytania rekurencyjne
Programy użytkowe  dig
Programy użytkowe  dig
" Flagi zonaczają:
" qr  komunikat był
odpowiedzią
" aa  odpowiedz
autorytatywna
" rd  (recusrion desired)
w zapytaniu był
ustawiony bit żądania
rekurencji
" ra - bit oznaczający, że
serwer obsługuje
zapytania rekurencyjne
dr inż. K. Gromaszek Sieci Komputerowe
Usługi pocztowe
Usługi pocztowe
Wprowadzenie
Wprowadzenie
" SMTP (Simple Mail Transfer Protocol)
" Podstawowy protokół transmisji poczty w Internecie,
określany często jako OMS (Outgoing Mail Server) lub MTA
(Mail Transfer Agent)
" Wykorzystuje TCP i dobrze znany port o numerze 25
" Umożliwia wysyłanie i transport poczty elektronicznej email
poprzez różne środowiska systemowe
SMTP
SMTP
" 1. Klient poczty nawiązuje połączenie ze swoim serwerem
" 2. Dalej transmisja przebiega pomiędzy serwerami SMTP (sposób
określenia serwera poczty ==> DNS )
" 3a. Najprostszy przypadek: serwer wysyłający przekazuje pocztę do
serwera odbiorcy
" 3b. Przypadek z pośrednikami: dzięki postaci adresu
użytkownik@firma.pl serwer wysyłający:
% określa (zna) domenę docelową;
% wyszukuje rekordy MX w domenie firma.pl
% przesyła pocztę do hostów zawartych w rekordach MX (biorąc pod uwagę priorytety)
Komercyjne Serwery SMTP
Komercyjne Serwery SMTP
" MS Exchange  platforma przesyłania wiadomości i pracy grupowej
" Zalety:
% przystosowany do pracy z Windows 2K3 Server,
% integracja z AD, Outlook 2003 antispam, Instant Messaging
% brak ograniczeń na BD,
% wyposażony w MS Web Storage System
% administracja z poziomu MMC
" Wady
% Cena + koszt OS
% Duże wymagania sprzętowe
% Wymaga łatania i uzupełniania (scurity by obscurity)
Serwery SMTP OpenSource(1/2)
Serwery SMTP OpenSource(1/2)
" Sendmail
" Zalety
% Najstarszy i najpopularniejszy
% Narzucił standardy dla swych następców
" Wady
% Przy dużym obciążeniu spada znacząco wydajność
% Niegdyś znany z dziur w zabezpieczeniach
% b. skomplikowany sposób konfiguracji
Serwery SMTP OpenSource(2/2)
Serwery SMTP OpenSource(2/2)
Budowa Zgodność z
Bezpieczeństwo Funkcje Wydajność Strona domowa
modularna Sendmail
www.sendmail.org
Sendmail Niskie Dużo Niska Nie -
www.qmail.org
Qmail Wysokie Mało Wysoka Tak Niska
www.postfix.org
Postfix Wysokie Średnio Wysoka Tak Wysoka
www.exim.org
Exim Średnie Dużo Średnia Nie Wysoka
" Qmail  prof. D. Bernstein  od marca 1997  500 $ dla osoby, która
opublikuje weryfikowalną dziurę w systemie zabezpieczeń Qmail
(http:// cr.yp.to/qmail/guarantee.html)
Jak działa SMTP?
Jak działa SMTP?
Zamknięty/Otwarty relay
Zamknięty/Otwarty relay
" Zamknięty relay (close relay)
" Relying denied  odmowa przekazywania poczty  reakcja dobrze
skonfigurowanego serwera SMTP
" SMTP powinien przyjmować wyłącznie:
% wszystkie wiadomości ze swojej sieci lokalnej (niezależnie dokąd mają być wysłane)
% wszystkie wiadomości do swoich lokalnych użytkowników niezależnie skąd zostały
wysłane
" Otwarty relay  serwer SMTP umożliwiający każdemu wysłanie za jego
pomocą listu gdziekolwiek  potencjalne zródło spamu
Pola nagłówka SMTP(1/2)
Pola nagłówka SMTP(1/2)
" From: - adres pocztowy autora, pole ustalane podczas tworzenia listu
" Sender: - identyfikator nadawcy listu (osoba / system / proces) rozróżnia nadawcę
od autora listu
" To: - lista adresatów porozdzielanych przecinkami
" Cc: (Carbon Copy) - lista adresów, na które zostanie wysłana kopia wiadomości
" Bcc: (Blind Carbon Copy) - lista adresów, na które zostanie wysłana kopia
wiadomości, nie pojawi się w nagłówku dostarczonej wiadomości
" Subject: - temat wiadomości
" Date: - data i czas wysyłania wiadomości
" Reply-To: - jeśli nadawca chce aby odpowiedz została wysłana na inny adres niż
zwrotny to podaje go w tym miejscu
Pola nagłówka SMTP(2/2)
Pola nagłówka SMTP(2/2)
" Return-Path: - pole określa trasę powrotną , dodawane przez ostatni system
biorący udział w przesyłaniu informacji, który dostarcza przesyłkę do odbiorcy. W polu tym
zawarte są wiersze:
% Received: [from domena]  komputer wysyłający
% [by domena]  komputer odbierający
% [via]  droga przesyłki
% [with]  protokół
% [id] - identyfikator przesyłki
% [for]  adres pocztowy adresata
% [date&time]
" Organization: - pole dodatkowe na nazwę organizacji
" Message-ID: unikalny identyfikator stworzony przez serwer wysyłający; identyfikuje
jednoznacznie wysyłaną wiadomość
" X-nazwa_pola: - pola nie określone prze RFC, zawierające różne dodatkowe
informacje
" In-Reply-To: - zawartość pola identyfikuje poprzedni list, na który obecny list jest
odpowiedzią. Może zawierać identyfikator Message-ID:
" Encrypted:- w przypadku zaszyfrowania przesyłki pole to powinno wskazywać
oprogramowanie lub metodę użytą do zaszyfrowania wiadomości
Polecenia SMTP
Polecenia SMTP
" Podstawowa implementacja SMTP obsługuje osiem poleceń. Pięć z nich (HELO,
MAIL, RCPT, DATA i QUIT)przedstawia poniższy przykład.
" Polecenie RSET powoduje przerwanie
bieżącej transakcji i sprawia, że obydwie
strony połączenia wykonują reset.
Wszelkie przechowywane informacje o
nadawcy, adresacie oraz dane
wiadomości są tracone.
" Polecenie VRFY pozwala klientowi na
zapytanie wysyłającego o weryfikację
adresu, pod który mają być przesłane
wiadomości, bez obowiązku jej
dostarczenia. Polecenie to jest używane
często przez administratora systemu przy
ręcznym testowaniu błędów,
występujących w obsłudze dostarczania
poczty.
" Polecenie NOOP jedynie zmusza serwer
do przesłania odpowiedzi OK z kodem
(200).
Odpowiedzi (kody błędów) SMTP(1/2)
Odpowiedzi (kody błędów) SMTP(1/2)
" Komunikując się z serwerem SMTP uzyskuje się odpowiedzi zaczynające się od
numeru =>określenie zródła problemu
Kod Komunikat EN Komunikat PL
System status or system help reply
211 Stan systemu albo odpowiedz pomocy
Help message
214 Wiadomość pomocy
Domain service ready. Ready to start
220 Serwer gotowy
TLS.
Domain service closing transmission
221 Serwer zamyka kanał transmisji
channel
OK. queing for node started. Requested
250 Potwierdzenie wykonania polecenia
mail action okay. completed
OK. no messages waiting for node .
251 Użytkownik nie znajduje się na tym
User not local. will forward to
serwerze, wiadomość przekierowana do
.

Start mail input: end with .
354 Początek nadawania treści wiadomości

zakończ sekwencją .
Domain service not available. closing
421 Usługa DNS niedostępna , zamykanie
transmission channel
kanału transmisyjnego
Odpowiedzi (kody błędów) SMTP(2/2)
Odpowiedzi (kody błędów) SMTP(2/2)
Kod Komunikat EN Komunikat PL
Requested mail action not taken:
450 Żądana akcja nie została podjęta;
mailbox unavailable. ATRN request
skrzynka niedostępna
refused
Requested action aborted: local error
451 Żądana akcja zostanie przerwana ; błąd
in processing. Unable to process ATRN
lokalny podczas przetwarzania
request now
Requested action not taken:
452 Żądana akcja nie zostanie podjęta
insufficient system storage.
niewystarczające zasoby pamięci system.
Domain service closing transmission
500 Polecenie nierozpoznane, błąd składni
channel
Syntax error. No parameters allowed
501 Błąd składni dla polecenia nie są dostępne
parametry
Command not implemented
502 Polecenie nie zaimlementowane
Bad sequence of commands
503 Zła kolejność poleceń
Transaction failed
554 Transakcja nie powiodła się
Protokół MIME
Protokół MIME
" Protokół MIME (Multipurpose Internet Mail Extensions) jest
rozszerzeniem poczty internetowej
" Zdefiniowany w RFC 2045-2049
" Definiuje różne typy przesyłanych danych (w odróżnieniu od SMTP) oraz
daje możliwość dzielenia treści listu na części (różnego typu)
" Dzięki niemu można przesyłać w email różnorodne pliki traktowane jako
załączniki
" Określa sposoby kodowania przesyłanych danych tak by w efekcie
zawartość spełniała ograniczenia SMTP
Dodatkowe nagłówki MIME
Dodatkowe nagłówki MIME
" Content  Type  określa typ danych zawartych w wiadomości (text, image,
audio, video, application, message, model, multipart wraz z wydzielonymi
podtypami)
% Text/plain  niesformatowany tekst może być dowolnym zestawem znaków np. ISO 8859-
2
% Text/enriched  tekst sformatowany
% Application/octet-stream  dane binarne
% Application postscript  dane typu PostScript
% Image/gif  grafika w formacie GIF
% Image/jpeg  grafika w formacie JPEG
" Content-Transfer-Encoding  określa sposób kodowania transmitowanych
danych, tak by spełniały wymagania protokołu SMTP (7bit, 8bit, binary, quoted-printable,
base64, ietf-token, x-token)
" Version  wersja stadndardu
" Content-ID  wyznacza wiadomość właściwą
" Content-Description  komentarz do zawartości
" Conent-Features  dodatkowe informacje o wiadomości
Bezpieczeństwo Serwera Pocztowego
Bezpieczeństwo Serwera Pocztowego
" Śledzenie informacji n.t. dziur
" Problem niechcianej poczty (SPAM)
" Bazy Realtime Blackhole List oparte na protokole UDP, pozwalające na
sprawdzenie czy dana domena jest potencjalnym spamerem (w Qmail
==> demon rblsmtpd)
" Wstępna autoryzacja klienta ŁESMPT-AUTH / CRAM-MD5 / wstępna
autoryzacja za pomocą protokołu POP3
" Oprogramowanie antywirusowe
Protokół POP
Protokół POP
" POP (Post Office Protocol) jest protokołem pocztowym za pomocą
którego można pobrać pocztę z serwera. Aktualna wersja POP3 nie jest
zgodna z poprzednimi
" Serwer POP3 używa protokołu TCP i portu o numerze 110 ( w przypadku
POP2-109)
" Odebranie poczty wymaga zalogowania się do serwera (login + pwd)
Serwery POP
Serwery POP
" qmail.pop3d  w pakiecie Qmail, o modularnej budowie i zawiera wiele
schematów uwierzytelniania. Wada: obsługa skrzynek określonego
formatu Maildir (struktura katalogów a nie jeden duży plik)
" Solid POP3
" Courier-IMAP
" Qpopper
IMAP
IMAP
" IMAP (Internet Message Access Protocol) ma o wiele bardziej
rozbudowane możliwości od POP3 (> ver.4)
" Zdefiniowany w RFC 2060
" Umożliwia przechowywanie wiadomości na serwerze i podzielenie ich na
różne foldery => możliwość zarządzania wiadomościami
" Korzysta z portu 143 w ramach protokołu TCP
" Oficjalny serwis na www.imap.org
Dziękuję za uwagę
Dziękuję za uwagę
" Pytania ?
" Uwagi?


Wyszukiwarka

Podobne podstrony:
Wyk SK ID4x2010 FTP
Wyk 10 Istota i techniki badania rachunku zysków i strat
slow wyk 1 10 2
wyk 9 10 Psychologia emocji i motywacji 9
notatek pl KPA wyk ? 10
płyny wyk 10 1
HG wyk 10
H Tendera W aszczuk, Integracja Europejska Wyk? IX 10 05 2011
Zpo 10 wyk
Wyk SK?2010Dostep
Wyk SK?2010
2000 10 Bind Dns Server Configuration
Psychoterapia wyk? IV 10 III 01

więcej podobnych podstron