Najlepszy, najlepszy, najlepszy …
Taki właśnie jest Claws-mail, czemu ?

Kompilacja ogromu funkcji oraz lekkiej budowy powoduje że Claws-Mail musi być najlepszy…

Próbowałem chyba wszystkiego:
Thunderbird – bardzo dobry program, wiele funkcji, wtyczki, wiele platform… super! gdyby nie to że jest ciężki jak słoń, do tego przetwarzanie dużej ilości listów go przerasta, słaby filtr i totalny brak szablonów, a na koniec ta dziwna sytuacją która ujawnia się gdy mamy więcej niż jeden SMTP. Mimo że ustawiłem dla każdego pop3 inny SMTP TB śle wszystko z jednego. To czasem rodzi problemy.

TheBat! – bardzo fajny jak ktoś ma Windows-a, na WINE działa ale dziwnie wygląda a część funkcji nie jest dostępna. Chciał bym zobaczyć wersję dla Linux-a 🙂

Opera Mail – nie wiem może jest ktoś kto okiełzna ten kombajn, jednak dla mnie cała Opera jest dziwna. Sam klient poczty niby dobry ale dzieją się w nim dziwne rzeczy, skonfigurowałem sobie konto, wysłałem pocztę, super! a tu nagle przy wysyłaniu poczty z załącznikiem wysypka. Błędy wyglądają dziwnie… każdy inny klient wysyła Opera nie… bueeee… Pomyślałem że coś zrobiłem źle, czasem rutyna gubi, ale nie wszystko ok a błędy dalej wyskakują. Zaimportowałem ustawienia z super dobrze chodzącego TB, efekt dokładnie taki sam. Jak jeszcze dodam interfejs do którego trzeba się przyzwyczaić to coś mnie od Opery odrzuca.

Netscape – dla mnie to stara mozilla + reklamy

SeaMonkey – wygląda i działa jak TB

KMail – bardzo fajny klient, może nie ma wielu opcji ale za to ładnie działa 🙂 Szkoda że trzeba mieć KDE.

PINE – uwielbiam go, gdy nie jestem w domu 🙂

Mutt
– mi się troszkę nie podoba ze względu na interfejs, a może to miłość do PINE

Evolution
– bardzo przypomina mi Sylpheed-a tylko bez kilku opcji… no i troszkę przyciężkawy.

Sylpheed – kiedyś go używałem ale zabrakło mi w nim kilku rzeczy.

i tak, na koniec dotarłem do Claws-Mail dawniej Sypheed-Claws który początkowo był bazowany na Sylpheed jednak teraz jest już zupełnie oddzielnym projektem który na dodatek zmienił nazwę dla odróżnia.

Aktualnie Claws-Mail posiada bardzo dużo funkcji które na dodatek mogą być rozbudowane przez wtyczki:

– możliwość dodania wielu kont
– filtrowanie
– załączniki
– działa jako czytnik news (nntp)
– obsługa POP3, SMTP, IMAP
– obsługa SSL
– GnuPG (GPGME)
– dodawanie własnych nagłówków
– szablony odpowiedzi oraz listów
– znaczenie mail za pomocą flag oraz kolorów
– obsługa lokalnych skrzynek w formacie mbox, Maildir, MH
– wew. edytor
– mechanizm filtrowania SPAM oraz wirusów
– kolejkowanie
– mechanizm wtyczek
– obsługa X-Face (małe obrazki w nagłówku maila)
– korektor pisowni
– przeglądarka obrazków i listów HTML
– S/MIME
– książka adresowa (zdalny LDAP)
– importowanie z LDIF, Mutt, Pine
– ignorowanie, blokowanie listów i wątków
– auto odpowiedź

do tego dzięki wtyczką CM zyskuje:
– możliwość czytanie RSS/2.0
– -||- Google Calendar (WebCalendar)
– możliwość współpracy z SpamAssassin, BogoFilter
– możliwość kasowania załączników w odebranych mailach
– powiadamianie za pomocą okienka, dźwięku, banner (jak TheBat!), XOSD
– możliwość dodawania nagłówków po odebraniu maila

Muszę jeszcze dodać że Claws-Mail jest bardzo prosty w obsłudze, dla kogoś kto „miał w rękach” OE nie powinien być wyzwaniem! Do tego jest bardzo stabilny, wyjątkowo szybki i radzi sobie z ogromną ilością listów!

A tu Claws-Mail na moim komputerze:
Claws-Mail

A tu kilka Screenów z strony Claws-a : http://www.claws-mail.org/screenshots.php

Oficjalna strona Claws-Mail : http://www.claws-mail.org/

Ja osobiście bardzo polecam 🙂

Tagged with:
 

qmailChciałem dziś polecić wam mój ulubiony MTA którym jest qmail dlaczego akurat qmail?

http://globi.org/lwq/#whyuseit:

Cytat:
1.3. Dlaczego warto używać qmail’a ?Twój system operacyjny zawiera MTA, prawdopodobnie Sendmail’a, zatem jeśli czytasz ten dokument wygląda na to, ze szukasz czegoś lepszego. Oto część cech, którymi qmail przewyższa inne MTA dostarczane standardowo :
1.3.1. Bezpieczeństwoqmail został zaprojektowany z myślą o bezpieczeństwie. Historia Sendmail’a pełna jest poważnych problemów związanych z bezpieczeństwem. Gdy Sendmail był tworzony, sieć była znacznie przyjaźniejszym miejscem. Wszyscy znali się zatem nie było potrzeby projektowania i pisania kodu z myślą o bezpieczeństwie. Dzisiejszy internet nie jest już tak przyjaznym miejscem dla serwerów. Autor Sendmail’a Eric Allman odwalił kawał dobrej roboty uszczelniając swój program, jednak aby naprawdę polepszyć go pod tym względem należałoby zaprojektować go od nowa.
1.3.2. Prędkość działaniaqmail dostarcza pocztę równolegle. Domyślnie potrafi obsługiwać do 20 dostarczeń na raz.
1.3.3. Wiarygodność

qmail akceptując wiadomość gwarantuje, że nie zostanie ona utracona. Ponadto używa on nowego formatu skrzynki pocztowej, który pracuje poprawnie nawet z NFS bez lockowania plików.
1.3.4. Prostota

qmail jest mniejszy niż inne MTA o porównywalnych cechach.


Dodam jeszcze od siebie że mimo swoich małych rozmiarów oraz prostoty spokojnie może konkurować z takim MTA jak postfix czy sendmail.

Krótki prosty opis instalacji serwera pocztowego Qmail wraz z dodatkami : SpamControl, Qmail-scanner/st, AV, SpamAssassin.

Na początek potrzeba nam posiadać w systemie skaner anty wirusowy ClamAV, system anty spamowy SpamAssassin (PERL) wszystko to musi być poprawnie zainstalowane i skonfigurowane. Spamd musi być URUCHOMIONY podczas instalacji, clamd niekoniecznie.

Pierwszym krokiem będzie pobranie Qmail w wersji 1.03:
http://www.qmail.org/qmail-1.03.tar.gz
Musi być to wersja 1.03 netqmail-1.05 zawiera już NIEKTÓRE poprawki które my dodamy z zbiorem patch-y który polecam: SpamControl
http://www.fehcom.de/qmail/spamcontrol.html

teraz wykonujemy:

Kod:
mkdir /usr/src/qmail
cd /usr/src/qmail
wget http://www.qmail.org/qmail-1.03.tar.gz
tar -xzf qmail-1.03.tar.gz
wget http://www.fehcom.de/qmail/spamcontrol/spamcontrol-2417_tgz.bin
mv spamcontrol-2417_tgz.bin qmail-1.03

za pomocą jakiegoś edytora, można poprawić plik conf-spamcontrol:

Kod:
# Configuration for SPAMCONTROL (no tabs allowed)
#
# Additional RELAYING
#
relaymailfrom=no # might be dangerous – use SMTP Auth
#
# Additional CONTROLLING
#
reqbrackets=yes # qmail-smtpd requires brackets „<address>” in SMTP addresses
verp=yes # allow VERP addresses for RECIPIENTS
#
# LOADSHARING enhancements
#
moreipme=no # Scott Gifford’s additional control files moreipme and notipme
#
# PERFORMCANCE enhancements
#
bigtodo=no # Bruce Guenter’s BigToDo patch – consider raising conf-split in the first place

Z czasem plik ten może ulec zmianie, od czasów wersji 3 kilka opcji zniknęło jedna się pojawiła.

Zanim nałożymy patch i rozpoczniemy instalację qmail trzeba zrobić katalogi i grupy w których będzie on pracował.

Wykonujemy:

Kod:
groupadd -g 96 nofiles
groupadd -g 97 qmail
useradd -g nofiles -u 91 -d /var/qmail/alias alias
useradd -g nofiles -u 92 -d /var/qmail qmaild
useradd -g nofiles -u 93 -d /var/qmail qmaill
useradd -g nofiles -u 94 -d /var/qmail qmailp
useradd -g qmail -u 95 -d /var/qmail qmailq
useradd -g qmail -u 96 -d /var/qmail qmailr
useradd -g qmail -u 97 -d /var/qmail qmails
mkdir /var/qmail
cd qmail
mkdir alias
mkdir control
mkdir doc
mkdir scripts
chown -R root:qmail /var/qmail
chown alias:qmail alias scripts

Teraz możemy nałożyć patch na źródło qmail a potem skompilować i zainstalować go:
cd /usr/src/qmail/qmail-1.03
./install_spamcontrol.sh #nakłada patch
make setup check # kompiluje i instaluje qmail

Teraz potrzeba nam tcpserver o ile nie posiadamy w systemie super daemon-a „inetd”
który jest dostępny tu:
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
dodatkowo, MUSIMY założyć patch na tcpserver który pozwoli nam limitować ilość połączeń z smtp i pop3 z jednego IP, oraz w ogóle skompilować tcpserver na gcc-3.X.
Robimy to tak:

Kod:
cd /usr/src/qmail
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://toribio.apollinare.org/qmail/ucspi.st-combo.08.patch
tar xzf ucspi-tcp-0.88.tar.gz
cp ucspi.st-combo.08.patch
patch -p0 < ucspi.st-combo.08.patch

Do kompletu potrzeba jeszcze: checkpasswd oraz gdy chcemy mieć możliwość używania autoryzacji CRAM-MD5 md5checkpw

Kod:
wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
wget http://djbware.csi.hu/patches/checkpassword-0.90.errno.patch
tar -xzf checkpassword-0.90.tar.gz
patch -p0 < checkpassword-0.90.errno.patch
cd checkpassword-0.90
make setup check #checkpassword GOTOWYwget http://www.fehcom.de/qmail/auth/cmd5checkpw-030_tgz.bin
tar -xzf cmd5checkpw-030_tgz.bin
cd cmd5checkpw-0.30
make setup check

W tej chwili nasz Qmail mógł by już z powodzeniem działać ale ten opis przewiduje dodanie jeszcze skaner anty wirusowego i spamowego.

Pora na Qmail-scanner który występuje w dwóch wersjach, jedna to bazowa dostępna na:
http://qmail-scanner.sourceforge.net/
oraz lepszą wersję w/w scaner który dodatkowo potrafi odrzucać pocztę wykrytą jako wirusy lub spam. http://toribio.apollinare.org/qmail-scanner/

STANOWCZO POLECAM LEPSZĄ WERSJĘ! http://toribio.apollinare.org/qmail-scanner/

Instalacja jest dosyć prosta, ale zanim ją wykonamy qmail-scanner potrzebuje:
reformime: http://www.courier-mta.org/maildrop/
PERL5 oraz moduły które instalują się automatycznie, wystarczy wykonać:

Kod:
perl -MCPAN -e shell
# po odpaleniu CPAN-a
install Time::HiRes DB_File Sys::Syslog MIME::Base64

Podczas automatycznej instalacji PERL nie raz spyta nas o inne moduły potrzebne do instalacji tych wybranych, zalecam pozwolić mu na to bo inaczej te wymagane się nie zainstalują. W razie błędów przy make test możemy zainstalować moduły ręcznie są w:
/root/.cpan
za pomocą poleceń:

Kod:
perl Makefile.PL
make
make install

Opcjonalnie możemy dorzucić:
http://sourceforge.net/projects/tnef/

Teraz qmail-scanner:

Kod:
wget http://toribio.apollinare.org/qmail-scanner/download/q-s-2.01st-20061223.tgz
tar -xzf q-s-2.01st-20061223.tgz
cd qmail-scanner-2.01st
./configure –qs-user qscand –admin LOGIN_ADMINA –domain DOMENA_NASZEGO_SERWERA.PL –admin-description „NAZWA ADMINA” –notify none –local-domains DODTKOWE_DOEMNY.PL ALA.MA.KOTA.PL –silent-viruses auto –virus-to-delete 0 –skip-text-msgs 1 –lang pl_PL –debug no –minidebug 1 –add-dscr-hdrs yes –dscr-hdrs-text „X-Qmail-Scanner” –normalize 1 –archive 0 –settings-per-domain 0 –max-scan-size 100000000 –unzip 1 –max-zip-size 1000000000 –max-unpacked-files 10000 –redundant 1 –log-details yes –log-crypto no –fix-mime 2 –ignore-eol-check 0 –sa-subject „SPAM ” –sa-delta 0 –sa-alt 0 –sa-debug 0 –sa-report 0 –sa-quarantine 2 –sa-delete 5 –sa-reject 1 –scanners „fast_spamassassin,clamscan” –install 1
make
make install

Jak widać parametry konfiguracji należy poprawić pod swój serwer!

qmail-scanner obsługuje takie antywirusy:
* Clam Anti-Virus – an Open Source anti-virus scanner
* Trend’s InterScan VirusWall Virus scanner
* Sophos’s „sweep” virus scanner
* H+BEDV’s antivir scanner
* Kaspersky’s AVPLinux scanner
* MacAfee’s (NAI’s) virus scanner
* Command’s virus scanner
* F-Secure Anti-Virus scanner
* F-Prot Anti-Virus scanner
* InocuLAN Anti-Virus scanner
* BitDefender Linux Edition
* Central Command’s Vexira anti-virus scanner
* ESET NOD32 Anti-Virus scanner
* Sophie: Daemon front-end to Sophos Sweep
* Trophie: Daemon front-end to Trend iscan
* AVG Anti-Virus
Które sam wykrywa i sam się konfiguruje do działania z nimi, można wybrać więcej niż jeden.

Obowiązkowo: ClamAV opcjonalnie polecam: NOD32, BitDefender, Kaspersky

Konfiguracja Qmail po instalacji.

Sama konfiguracja jest banalna i odbywa się przez edytowanie plików w:
/var/qmail/control
/var/qmail/users

Wymagane do poprawnego funkcjonowania są:
rcpthosts – tu wpisujemy domeny które nasz qmail ma obsługiwać np. example.pl
Przykład:

Kod:
example.pl
przyklad.pl
moja.domena.pl

me oraz locals mogą być symlinkami rcpthosts

Opcjonalnie możemy stworzyć i wyedytować pliki:
badhelo – plik który zawiera treść które nie może zawierać HELO/EHLO które podaje klient/serwer łączący się na SMTP
Przykład:

Kod:
viagra
dupa.pl
nikt.pl

badmailfrom – adresy e-mail które chcemy zablokować
Przykład:

Kod:
monika@o2.pl
*@hotmail.com
*@zly.serwer.pl
balwan*@o2.pl

bouncemaxbytes – liczba bajtów po jakiej zwroty będą ucinane.
concurrencylocal oraz concurrencyremote – to pliki które muszą zawierać liczbę jednocześnie odbieranych i wysyłanych listów lokalnie oraz zdalnie. W zależności od liczby użytkowników, szybkości łącza, wydajności serwera powinna się zmieniać. (jak nie wiesz co wpisać wpisz: 20)

databytes – maksymalna wielkość przesyłki w bajtach

queuelifetime – czas w sekundach po jakim serwer ma przestać próbować dostarczyć przesyłkę której nie udało mu się dostarczyć z powodów niezależnych od nas.

smtpgreeting – wiadomość jaka wyświetla się jako powitanie na naszym SMTP

Plików z konfiguracją może być więcej wszystkie można sobie zobaczyć na: http://globi.org/lwq/#config-files

Teraz pozostał nam tylko plik który ma odpalić qmail przy starcie serwera, można go napisać na wiele sposobów, ja dam dwa przykładowe, które można sobie edytować lub miksować ze soba.

Pierwszy który uruchamia qmail na tcpserver w całości SMTP i POP3 bez autoryzacji CRAM-MD5:
Do pliku /etc/rc.d/rc.local dodajemy:

Kod:
#!/bin/bashecho „QMail: starting …”
export PATH=”/var/qmail/bin:$PATH”
#export SMTPAUTH=”crammd5″
QMAILQUEUE=”/var/qmail/bin/qmail-scanner-queue.pl” export QMAILQUEUE
QMAILDUID=`id -u qmaild`
QMAILDGID=`id -g qmaild`
tcpserver -c 10 -s 10 -vR -u $QMAILDUID -g $QMAILDGID 0 smtp /var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true 2>&1 | /var/qmail/bin/s/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &
tcpserver 0 pop3 /var/qmail/bin/qmail-popup NASZA_DOMENA.PL /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

Drugi który odpala qmail przez super daemon-a inetd:
W pliku /etc/inetd.conf dodajemy:

Kod:
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup NASZA.DOMENA.PL /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir

Oraz do /etc/rc.d/rc.local:

Kod:
/var/qmail/bin/s/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &

Muszę dodać że nie każde distro posiada inetd, a tylko SLACKWARE posiada katalog /etc/rc.d

W innych distrach (nie Slackware) qmail na tcpserver możemy dodać do pliku: /etc/rc.d/init.d/qmail-smtpd.init
Lub jeżeli system posiada xinetd proszę zastosować:
http://www.xinetd.org/faq.html#qmail

O ile wszystko zostało wykonane poprawnie qmail powinien funkcjonować poprawnie.

Jeżeli w opisie doszukasz się błędów napisz mi o tym.

Pliki które są w opisie postanowiłem umieścić też na ftp://ftp.nasa.one.pl/pub/linux/qmail/

Tagged with:
 

LINUX: Porotokoły Internetowe

On 2006/12/26, in Backtrack.pl, brak, by Tommy

Informacje tu zawarte są MOCNO nieaktualne!

Pomyślałem że to może się komuś przydać, co prawda minęło już prawie 2 lata od kiedy to napisałem ale protokoły te są dalej aktualne. Jednak mimo strasznego wyglądu nie jest to jakaś dokumentacja dla profesjonalistów,a wręcz przeciwnie, są to informacje dla osób które dopiero zaczynają swoją przygodę z internetem i chcą wiedzieć jak funkcjonują podstawowe usługi i protokoły sieciowe. Wszystko jest napisane łopatologicznie

Jestem otwarty na wszelkie sugestie, poprawki a także pomysły rozwijania tego tematu.

WERSJE: Oryginalna, OpenOffice2/7ZIP, Microsoft Word/7ZIP, PDF/7ZIP, Wszystkie inne

1. IP – Internet protocol
1.1 – TCP/IP
1.2 – Pakiety
1.3 – ARP, RARP
1.4 – RTP
1.5 – UDP vs. TCP
1.6 – ICMP

2. Firewall
2.1 – iptables
2.2 – NAT, Maskarada

3. DNS – Domain Name System
3.1 – adres IP, domena, alias
3.2 – www. ftp.

4. Poczta e-mail
4.1 – Droga poczty
4.2 – zawartość listów e-mail
4.3 – SMTP (Simple Mail Transfer Protocol)
4.3.1 – Autoryzacja (plain/login/cramd5/secure)
4.4 – POP3 (Post Office Protocol version 3)

5. HTTP – Hyper Text Transfare Protocol
5.1 – Proxy (Squid)
5.2 – Jezyki przez HTTP

6. FTP – File Transfare Protocol
6.1 – port / passive transfer
6.2 – SecureFTP

1. IP Internet Protocol

IP to protokół komunikacyjny należący do warstwy sieciowej modelu OSI, używany powszechnie w Internecie i sieciach lokalnych.

1.1 TCP (Transmission Control Protocol)

TCP/IP to wspólna nazwa dwóch podstawowych protokołów sieci Internet. Powstała przez połączenie nazw TCP i IP.

Protokół TCP/IP (Transmission Control Protocol/Internet Protocol) jest „programowym protokołem komunikacji sieciowej” (software-based communications protocol used in networking).

TCP/IP udostępnia metody transmisji informacji pomiędzy poszczególnymi komputerami w sieci, obsługując pojawiające się błędy oraz tworząc wymagane do transmisji informacje dodatkowe.

1.2 Pakiety

Pakiet jest nośnikiem informacji w sieci składa się z nagłówków oraz obszaru danych.

Nagłówki pakietu zawieraja adres nadawcy (source adress) oraz adres odbiorcy (destination adress) adres taki składa się zazwyczaj z numeru IP oraz portu. W przypadku protokołu TCP/IP każdy pakiet ma też swój unikalny id który tworzy ciąg z innymi pakietami. Ma też sumę-kontrolna która mówi nam czy pakiet nie został uszkodzony lub celowo zmodyfikowany.

1.3 ARP, RARP (Address Resolution Protocol)

Aby pakiety mogły trafić do celu potrzebujemy jeszcze dwóch osobnych protokołów ARP i RARP.

Protokół ARP przekształcenie adres IP w 48bitowy adres fizyczny (MAC) dzięki czemu każdy pakiet wie gdzie się ma „udać”.
IP 192.168.1.34 -> MAC 00:07:95:03:1A:7E

Po adresach MAC komputery mogą się komunikować tylko w obrębie jednej sieci aby wysłać pakiet poza nią MAC musi zostać zpowrotem przekonwertowany na IP do czego używa się RARP (Reverse Address Resolution Protocol) który odwraca operacje MAC -> IP

1.4 RTP (Real Time Protocol)

RTP protokół czasu rzeczywistego. Pakiet protokołu RTP zawiera informację o typie przesyłanych danych, numerze seryjnym pakietu oraz zawiera znacznik czasu. RTP nie gwarantuje jakości usługi (QoS).

1.5 UDP vs. TCP

Aby móc wysłać pakiet za pomocą TCP musi najpierw zostać nawiązane połączenie, w przypadku UDP pakiety mogą być wysłane bez połączenia. Pakiety UDP nie mają też mechanizmów kontroli przepływu i retransmisji. Pakiet UDP może zostać „zgubiony”. Korzyścią płynącą z takiego uproszczenia budowy jest większa szybkość transmisji danych i brak dodatkowych zadań, którymi musi zajmować się host posługujący się tym protokołem. Z tych względów UDP jest często używane w grach oraz wideo konwersacjach.

Czasem pakiety UDP wykorzystuje się do ataków typu DoS (Denial Of Service) głównie dlatego że nie trzeba nawiązywać połączenia żeby je wysłać.

Atak typu DoS to nic innego jak zapychanie łącza bezsensownymi pakietami. (realia sieciowe)

1.6 ICMP (Internet Control Message Protocol)

ICMP wykorzystywany jest przy diagnostyce oraz routingu. Najpopularniejszymi programami użytkowymi wykorzystującym protokół ICMP jest ping oraz traceroute.

Lista typów wiadomości (lista niekompletna):
0 – Echo Reply (zwrot echa – „odpowiedź na ping”)
1 – Zarezerwowane
2 – Zarezerwowane
3 – Destination Unreachable (nieosiągalność miejsca przeznaczenia)
4 – Source Quench (wygaszenie źródła)
5 – Redirect Message
6 – Alternate Host Address (alternatywny adres hosta)
7 – Zarezerwowane
8 – Echo Request (żądanie echa)
9 – Router Advertisement
10 – Router Solicitation
11 – Time Exceeded (przekroczenie limitu czasu)
12 – Parameter Problem (Problem z parametrem)
13 – Timestamp (żądanie sygnatury czasowej)
14 – Timestamp Reply (zwrot sygnatury czasowej)
15 – Information Request (żądanie informacji)
16 – Information Reply (zwrot informacji)
17 – Address Mask Request (żądanie adresu maski)
18 – Address Mask Reply (zwrot adresu maski)
19 – Zarezerwowane dla bezpieczeństwa
20-29 – Zarezerwowane
30 – Traceroute
31 – Datagram Conversion Error (błąd konwersji datagramu)
32 – Mobile Host Redirect
33 – IPv6 Where-Are-You
34 – IPv6 Here-I-Am
35 – Mobile Registration Request
36 – Mobile Registration Reply
37 – Domain Name Request (żądanie nazwy domeny)
38 – Domain Name Reply (zwrot nazwy domeny)
39 – SKIP Algorithm Discovery Protocol
40 – Photuris, Security failures
41-255 – Zarezerwowane

2. Firewall (Zapora ogniowa / Ściana ognia)

Firewall – to zazwyczaj program który ma za zadanie sterowanie przepływem pakietów między komputerami.

* Restrykcje portów

Każdy adres IP ma 65535 portów, porty to „wirtualne wtyczki” przez które do naszego komputera wpływają informacje. Głównym zadaniem FW jest blokowanie portów przez które nie chcemy nic odbierać lub wysyłać.

* Czemu należy używać firewall-a ?

Każdy system operacyjny ma jakieś usługi na różnych portach, niektóre są używane inne nie. Te które zostawiamy wolno stanowią potencjalną drogę wejścia do naszego komputera dla hakera. Dzięki FW możemy zablokować lub ograniczyć dostęp do nieużywanych portów.

* Metody blokowania

Istnieją dwa sposoby blokowania portów
1. DROP – przy próbie nawiązania połączenia nasz komputer nie będzie nic odpowiadał.
2. REJECT – przy próbie nawiązania połączenia nasz komputer odpowie, że port jest zamknięty lub zablokowany.

* Polityka Firewall-a

1. ACCEPT – polityka domyślnego dopuszczania do wszelkich połączeń i tylko selektywnego blokowania portów/adresów.
2.DROP – domyślnie odrzuca wszystkie połączenia i tylko wybiórczo dopuszcza połączenia na określone porty, adresy.

2.1 IPTables

System linux jest wyposażony w zintegrowany z jądrem firewall, który nie tylko potrafi blokować połączenia ale też ma wiele funkcji kontroli przepływu pakietów, takie jak:
REDIRECT (przekierowanie) – daje możliwość przekierowania portu lub całego adresu na inny.
FORWARD (przekazywanie) – przekazuje pakiet dalej mimo, że jego adres zgadza się z tym, który go odebrał.
SNAT – zmiana adresu źródła
DNAT – zmiana adresu adresata
itd…

Schemat przepływu pakietów przez IPTABLES

2.2 NAT, Maskarada

Wielu ludzi jest połączonych w sieci i w obrębie tej sieci udostępnia sobie połączenie z internetem. Udostępnianie internetu może odbywać się na 3 sposoby:

* Routing adresów IP – każdy komputer w sieci ma przydzielony publiczny adres IP.

Publiczny adres IP to taki do którego możemy się połączyć przez sieć internet.

* NAT (Network Address Translation)

Tylko serwer ma adres publiczny inne komputery maja tylko adresy lokalne.

* Maskarada (masquerade)

Maskarada działa tak samo jak NAT z ta różnicą, że adres naszego serwera jest dynamiczny i jest stale uaktualniany przy każdym połączeniu.

3. DNS (Domain Name System/Server)

DNS to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla sieci komputerowej. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. www.skyline.ltd.pl może zostać zamieniona na odpowiadający jej adres IP, czyli 62.129.200.253.

* Rekordy

Najważniejsze typy rekordów DNS, oraz ich znaczenie:

rekord A (address record) mapuje nazwę domeny DNS na jej 32bitowy adres IPv4 ( example.skyline.ltd.pl -> 127.127.127.127 )

AAAA (IPv6 address record) DNS na 128 bitwy adres IPv6 ( ipv6.pl -> 123:5678:abcd:ef::1234:5678 )

CNAME alias dla innego rekordu domeny

MX rekord wymiany poczty który mówi nam na jaki adres powinna się udać poczta na adres skyline.ltd.pl

PTR wskaźnik RevDNS informuje nas jaką domenę ma dany adrs IP ( 194.204.159.1 -> dns.tpsa.pl )

NS rekord informujący przez jaki serwer DNS dana domena jest sterowana

SOA ustala serwer DNS dostarczający autorytatywne informacje o domenie internetowej.

*
Najważniejsze cechy

* System DNS posiada następujące cechy:
* Nie ma jednej centralnej bazy danych adresów IP i nazw. Najważniejsze jest te 13 serwerów, które są rozrzucone na różnych kontynentach.
* Serwery DNS przechowują dane tylko wybranych domen.
* Każda domena ma co najmniej 2 serwery DNS obsługujące ją, jeśli więc nawet któryś z nich będzie nieczynny, to drugi może przejąć jego zadanie.
* Serwery DNS przechowują przez pewien czas odpowiedzi z innych serwerów (ang. caching), a więc proces zamiany nazw na adresy IP jest często krótszy niż w podanym przykładzie.
* Każdy komputer może mieć wiele różnych nazw. Na przykład komputer o adresie IP 207.142.131.245 ma nazwę pl.wikipedia.org oraz de.wikipedia.org
* Czasami pod jedną nazwą może kryć się więcej niż 1 komputer po to, aby jeśli jeden z nich zawiedzie, inny mógł spełnić jego rolę.
* Jeśli chcemy przenieść serwer WWW na inny szybszy komputer, z lepszym łączem ale z innym adresem IP, to nie musimy zmieniać adresu WWW strony, a jedynie w serwerze DNS obsługującym domenę poprawiamy odpowiedni wpis.
* Protokół DNS posługuje się do komunikacji głównie protokołem UDP.
* Serwery DNS działają na porcie numer 53.

* Jak to działa?

3.1 IP, domena, alias

Adres IP (v4) jest w postaci cyfr np. 212.212.121.111
domena to np. skyline.ltd.pl
aliasem od niej był by np. wojtek.skyline.ltd.pl

Adres IP zazwyczaj otrzymujemy wraz z łączem, w przypadku dużych łącz możemy otrzymać ich więcej lub nawet cały zakres 128 adresów.
Domenę musimy kupić i opłacać ją co rok aby była aktywna.
Alias możemy na wielu serwisach otrzymać za darmo. (np. one.pl)

* Alias www

Alias www możemy otrzymać na wielu serwisach za darmo (np. prv.pl) ale czym się on różni od zwykłego aliasa?
Alias www daje nam możliwości wskazania danego adresu IP, ma on tylko na celu przekierowania nas pod odpowiedni adres strony.
Często darmowe aliasy www podczas przekierowania dodają różne reklamy.

3.2 www. ftp.
Często w adresach domen występują przedrostki www. ftp. itd… czemu?

Powiedzmy że mamy domenę: kaczka.pl
którą kierujemy pod adres naszego komputera na którym mamy server dla gry internetowej (np. Medal Of Honor)
Gracze zamiast IP mogą wpisać sobie łatwą domenę a nie pamiętać IP

Pewnego dnia robimy klan i chcemy aby pod adresem kaczka.pl była strona naszego klanu niestety nie możemy tego zrobić na naszym komputerze bo cały czas włączony komputer denerwuje nas podczas snu, a jednej domeny nie da się kierować na kilka adresów.

W tym celu tworzymy alias od naszej domeny www.kaczka.pl który kierujemy na wykupiony serwer www

Mija kilka dni i robimy mod-a do naszej gry chcemy żeby inni gracze tez mogli go ściągać ale niestety serwis na którym mamy stronę nie daje możliwości udostępnienia przez ftp plików.

W tym celu robimy kolejny alias ftp.kaczka.pl i kierujemy pod adres komputera na którym wykupujemy ftp
teraz nasi wojacy mogą ściągać nasz mod i w razie potrzeby ładować swoje modyfikacje do niego lub inne rzeczy.

4. Poczta e-mail

Poczta elektroniczna (e-mail) to jedna z usług internetowych, służąca do przesyłania wiadomości tekstowych (listów elektronicznych). Obecnie do przesyłania e-maili używany jest protokół SMTP.

E-mail jako taki został wymyślony w roku 1965, autorami pomysłu byli Louis Pouzin, Glenda Schroeder i Pat Crisman – wówczas jednak usługa ta służyła jedynie do przesyłania wiadomości od jednego użytkownika danego komputera do innego użytkownika tej samej maszyny, a adres e-mailowy w zasadzie jeszcze nie istniał. Usługę polegającą na wysyłaniu wiadomości od użytkownika jednego komputera do użytkownika innego wymyślił w roku 1971 Ray Tomlinson, on również wybrał znak „@” (at) do rozdzielania nazwy użytkownika od nazwy maszyny (a później nazwy domeny internetowej ). Na początku do wysyłania e-maili służył protokół CPYNET, później wykorzystywano FTP, UUCP i wiele innych protokołów, a na początku lat 80-tych Jonathan B. Postel napisał specjalnie do tego celu protokół SMTP.

Istnieje rozszerzenie poczty elektronicznej – MIME, umożliwiające dołączanie do e-maili danych innego typu w formie tzw. załączników.

4.1 Droga poczty

4.2 zawartość listów e-mail

Każdy email składa się z 2 części: nagłówków i obszaru danych (treści)
Kolor czarny to prawdziwa zawartość listu, kolorem zielonym zaznaczam komentarze które dodałem

Return-Path: <- adres zwrotny
Delivered-To: przemek@skyline.ltd.pl” class=”postlink”>przemek@skyline.ltd.pl <- adres do którego pierwotnie list miał być dostarczony
// początek drogi listu etap między wysyłającym a serwerem
Received: (qmail 21018 invoked by uid 1003); 2 Dec 2005 00:44:10 -0000
Received: from 180.149.143.119 by nasa (envelope-from , uid 92) with qmail-scanner-1.25
(bitdefender: v7.0/2492/236739. spamassassin: 3.1.0.
Clear:RC:0(180.149.143.119):SA:0(-98.3/5.0):.
Processed in 13.37851 secs); 02 Dec 2005 00:44:10 -0000
// koniec
// nagłówki dodane po odebraniu przez skaner antywirusowy i spamowy
X-Qmail-Scanner-Mail-From: ares@dudi.com.pl via nasa
X-Qmail-Scanner: 1.25 (Clear:RC:0(180.149.143.119):SA:0(-98.3/5.0):. Processed in 13.37851 secs)
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on xxxx.one.pl
X-Spam-Level:
X-Spam-Status: No, score=-98.3 required=5.0 tests=AWL,BAYES_50,
DNS_FROM_RFC_ABUSE,FORGED_RCVD_HELO,NO_REAL_NAME,USER_IN_WHITELIST
autolearn=no version=3.1.0
X-Envelope-From: ares@dudi.com.pl
// koniec
// koniec drogi poczty etap odbierania
Received: from smtp.dudastudio.pl (HELO dudastudio.ltd.pl) (180.149.143.119)
by mx1.ltd.pl with SMTP; 2 Dec 2005 00:43:56 -0000
Received: (qmail 15963 invoked by uid 1002); 2 Dec 2005 00:43:38 -0000
// koniec
Message-ID: <20051202004338.26786.qmail@dudi.ltd.pl> <- identyfikator wiadomości
From:ares@dudi.com.pl <- nagłówek mówi od kogo jest list
Date: Fri, 02 Dec 2005 01:43:38 +0100 <- data wysłania
To: przemek@skyline.ltd.pl” class=”postlink”>przemek@skyline.ltd.pl <- adres docelowy
Subject: Temat listu <- temat wiadomości
User-Agent: nail 11.24 7/14/05 <- program za pomocą którego został wysłany list (nail to tekstowy program pocztowy pod UNIX)
MIME-Version: 1.0 <- wersja standardu Multipurpose Internet Mail Extensions która pozwala na dołączenie do listu innych rzeczy niż tekst pisany w ASCII
Content-Type: multipart/mixed; <- nagłówek informuje że list jest wielo częściowy/plikowy
boundary=”=_438f98ba.dVz4nvs516mMIu5oSpD/KsSo45rxRSWgEibVl6HiSe5Lkzxp”

This is a multi-part message in MIME format.
// początek pierwszego załącznika (zgodnie z RFC główna treść listu)
–=_438f98ba.dVz4nvs516mMIu5oSpD/KsSo45rxRSWgEibVl6HiSe5Lkzxp
Content-Type: text/plain; charset=us-ascii <- kodowanie znaków w załączniku (dla polskich znaków ISO-8859-2)
Content-Transfer-Encoding: 7bit <- ilość bitów
Content-Disposition: inline <- dyspozycja zawartość

tresc listu <- treść listu

————=_1133477959-15194-1 <- kolejny załącznik
Content-Type: text/plain; charset=”iso-8859-2″ <- polskie kodowanie znaków
Content-Disposition: inline
Content-Transfer-Encoding: 8bit <- 8bitów konieczne aby móc zastosować polskie znaki

tresc w ktorej moga wystapic polskie znaki <- treść

————=_1133477959-15194-1– <- koniec zał.

————=_1133477959-15194-0 <- załączony obrazek
Content-Type: image/pjpeg; name=”3d_65.jpg” <- opis typu
Content-Disposition: attachment; filename=”3d_65.jpg” <- nazwa pliku
Content-Transfer-Encoding: base64 <- kodowanie transferu

// zawartość pliku
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFk
b2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAM
DAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAY
GhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8f/8AAEQgDAAQAAwERAAIRAQMRAf/EAJ4AAAMBAQEBAQEBAAAA
AAAAAAABAgMEBQYHCAkBAQEBAQEBAQAAAAAAAAAAAAABAgMEBQYQAAEEAQIF
AgQEBAQFAwMDBQEAEQIDBCESMUFREwVhInGBFAaRMkIHoVIjFbHB0WLw4fEz
FnIkCIJDF6KywlOSczQlEQEBAQEBAAICAwEAAgMAAwAAARECEiEDMRNBUQRh
…[wycięty]
//koniec

————=_1133477959-15194-0– <-koniec ostatniego załącznika i zarazem koniec listu

4.3 SMTP (Simple Mail Transfer Protocol)

Podczas przesyłania poczty korzystamy z SMTP, zarówno gdy nasz pogram przesyła pocztę na nasz serwer pocztowy jak i podczas gdy nasz serwer przesyła na inny serwer, cała zawartość wędruje właśnie przez SMTP. SMTP jako serwer działa zawsze na 25 porcie, i musi na nim działać bo inaczej poczta nie zostałaby przyjęta.

* Jak wygląda proces przesyłania ?

Komendy które śle klient pocztowy są zielone, odpowiedzi serwera pomarańczowe, komentarze czarne.
220 laska.com.pl ESMTP <- serwer się identyfikuje

EHLO xxxx.one.pl <- przywitanie serwera SMTP swoim hostem

// serwer informuje o dozwolonych typach autoryzacji które opiszę w punkcie 4.3.1
250-laska.com.pl
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME

MAIL FROM:

<- podaje adres nadawcy

250 ok <- serwer pomyślnie przyjmuje adres (może go odrzucić jeżeli adres jest nie prawidłowy lub został zidentyfikowany jako spamowy nadawca)

RCPT TO: <- adres adresata

250 ok <- akceptacja (odrzuca jeżeli taki nie istnieje)

DATA <- informujemy serwer że będziemy przesyłać teść listu

354 go ahead <- server informuje nas że oczekuje na treść
// zawartość maila
Received: (qmail 18401 invoked by uid 1003); 28 Nov 2005 22:59:57 -0000
Received: from 217.96.212.151 by nasa (envelope-from

, uid 92) with qmail-scanner-1.25
(bitdefender: v7.0/2492/235650. spamassassin: 3.1.0.
Clear:RC:1(217.96.212.151):.
Processed in 0.066605 secs); 28 Nov 2005 22:59:57 -0000
X-Qmail-Scanner-Mail-From: przemek@skyline.ltd.pl” class=”postlink”>przemek@skyline.ltd.pl via nasa
X-Qmail-Scanner: 1.25 (Clear:RC:1(217.96.212.151):. Processed in 0.066605 secs)
Received: from skyline.ltd.pl (HELO xxxx.one.pl) (ares@10.1.1.12)
by skyline.ltd.pl with ESMTPA; 28 Nov 2005 22:59:57 -0000
Date: Mon, 28 Nov 2005 23:59:56 +0100
From: Przemek

To: tommy@laska.com.pl
Subject: Temat maila
Message-ID: <20051128235956.3e3a3462@xxxx.one.pl>
Organization: CLC
X-Mailer: Sylpheed-Claws 1.9.100 (GTK+ 2.6.10; x86_64-pc-linux-gnu)
Disposition-Notification-To: Przemek

Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Content-Transfer-Encoding: 7bit

Tresc mojego listu


Podpis
. <- ten znak kończy list

250 ok 1133218800 qp 22522 <- serwer przyjmuje list

QUIT <- zakończenie połączenia

4.3.1 – Autoryzacja (plain/login/cramd5/secure)
Kilka lat temu wszystkie konta pocztowe działy według zasady Open Raley czyli każdy mógł wysłać z naszego konta jakąś przesyłkę. Dziś w czasach gdy 80% danych przepływających przez internet to SPAM takie rozwiązania przestały spełniać swoje zadanie, potrzebna jest autoryzacja SMTP.

Wyróżniamy 2 typy zwykłej autoryzacji, 2 za pomocą MD-5 i tzw. autoryzację bezpieczną (kodowaną)

* plain auth

250-PIPELINING
250-8BITMIME
250-SIZE 51000000
250 AUTH LOGIN PLAIN CRAM-MD5
AUTH PLAIN tu_powinno_byc_haslo <- Autoryzacja kluczem łatwym do przechwycenia
235 ok, go ahead (#2.0.0)
MAIL FROM: SIZE=480
250 ok
RCPT TO:

250 ok
DATA
354 go ahead

* login auth

250-PIPELINING
250-8BITMIME
250-SIZE 51000000
250 AUTH LOGIN PLAIN CRAM-MD5
AUTH LOGIN
334 VXNlcm6Hbwu6
dG9tbXk= <- 2 stopniowy proces autoryzacji, login
334 UGfZc9dvCmL1
ZHfkBwfyYQ== <- hasło
235 ok, go ahead (#2.0.0)

* cram-md5 auth

250-PIPELINING
250-8BITMIME
250-SIZE 51000000
250 AUTH LOGIN PLAIN CRAM-MD5
AUTH CRAM-MD5
334 PDi0MjkuMTEzMzU2OTQ5NUbwYjExOS4QyXdvcnpuby7ZzGkudHBuEplucGw+
Dk3tbXkgNmFlMzvHNmI2M2RhZDNkmtgWODk3OwQyNTU3YzcwOTg= <- klucz kodowany algorytmem MD5 według klucza podanego przez serwer
235 ok, go ahead (#2.0.0)

* DIGEST-MD5 auth

Kolejny typ autoryzacji algorytmem MD5 nowszy i bezpieczniejszy niż CRAM ale dalej jest on przesyłany przez nie kodowane połączenie. Czyli treść listu może zostać podsłuchana.

* Secure

Inne typy autoryzacji wymagają już połączeń kodowanych w tym celu nie da się używać SMTP tylko jego kodowanej wersji SecureSMTP

4.4 – POP3 (Post Office Protocol version 3)

Post Office Protocol version 3 (POP3) to protokół internetowy z warstwy aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP. Ogromna większość współczesnych internatów korzysta z POP3 do odbioru poczty.

* Przebieg połączenia POP3

Kolor zielony to klient, pomarańczowy to serwer, czarne komentarze
+OK <13208.1133571552@dudastudio.ltd.pl>
USER ares <- klient podaje login z którego chce odebrać pocztę
+OK
PASS tu_powinno_byc_haslo <- podaje hasło do loginu
+OK
STAT <- pyta o nowe listy
+OK 2 11581
UIDL <- klient pyta UIDL (identyfikatory listów)
+OK
1 1133534832.12370.dudastudio
2 1133569885.27267.dudastudio
.
LIST <- klient prosi o listę maili do odebrania
+OK
1 2037
2 9544
.
RETR 1 <- prosi o przesłanie mu pierwszego listu
+OK
cała zawartość pierwszego listu oraz jego nagłówki

.
DELE 1 <- klient nakazuje skasowanie listu na serwerze
+OK
RETR 2 <- prosi o przesłanie drugiego
+OK

cała zawartość drogiego listu oraz jego nagłówki
.
DELE 2 <- kasuje drugi
+OK
QUIT <- wychodzi
+OK

5. HTTP – Hyper Text Transfare Protocol

HTTP (Hypertext Transfer Protocol) to protokół sieci WWW (World Wide Web). Obecną definicję HTTP stanowi RFC 2616. Właśnie za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia.

Protokół HTTP jest tak użyteczny, ponieważ udostępnia znormalizowany sposób komunikowania się komputerów ze sobą. Określa on formę żądań klienta dotyczących danych oraz formę odpowiedzi serwera na te żądania. Jest zaliczany do protokołów stateless (bezstanowy), z racji tego, że nie zachowuje żadnych informacji o poprzednich transakcjach z klientem, po zakończeniu transakcji wszystko „przepada” – z tego powodu tak bardzo spopularyzowały się cookies.

*
Typowe zapytanie HTTP

1. GET / HTTP/1.1 (prośba o zwrócenie dokumentu o URI / zgodnie z protokołem HTTP 1.1)
2. Host: host.com (wymagany w HTTP 1.1 nagłówek Host służacy do rozpoznania hosta, jeśli serwer na jednym IP obsługuje kilka VirtualHostów)
3. User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6) Gecko/20040122 (nazwa aplikacji klienckiej)
4. Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8 (akceptowane (bądź nieakceptowane dla q=0) przez klienta typy plików)
5. Accept-Language: pl,en-us;q=0.7,en;q=0.3 (preferowany język strony – nagłówek przydatny przy Language negotiation)
6. Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 (preferowane kodowanie znaków, patrz strona kodowa)
7. Keep-Alive: 300 (czas, jaki klient chce zarezerwować do następnego zapytania w przypadku połączenia Keep-Alive)
8. Connection: keep-alive (chęć nawiązania połączenia stałego Keep-Alive z serwerem HTTP/1.0)
9. znak powrotu karetki i wysunięcia strony (CRLF)

HTTP/1.1 dopuszcza wysłanie kilku żądań naraz (pipelining). HTTP/1.0 zakłada jedno żądanie i jedną odpowiedź.

*
Odpowiedź serwera WWW

1. HTTP/1.1 200 OK (kod odpowiedzi HTTP, w tym wypadku zakceptowanie i zwrócenie zawartości)
2. Date: Sun, 11 Jul 2004 12:04:30 GMT (czas serwera)
3. Server: Apache/2.0.50 (Unix) DAV/2 (opis aplikacji serwera)
4. Set-Cookie: PSID=d6dd02e9957fb162d2385ca6f2829a73; path=/ (nakazanie klientowi zapisania Cookie)
5. Expires: Thu, 19 Nov 1981 08:52:00 GMT (czas wygaśnięcia zawartości zwróconego dokumentu. Data w przeszłości zabrania umieszczenie dokumentu w cache. Jest to stara metoda zastąpiona przez Cache-Control)
6. Cache-Control: no-store, no-cache, must-revalidate (no-store zabrania przechowywania dokumentu na dysku, nawet gdy nie jest to cache. must-revalidate nakazuje bezwzględnie stosować się do wytycznych i sprawdzić świeżość dokumentu za każdym razem)
7. Pragma: no-cache (informacje dotyczące Cache’owania zawartości. Stara, niestandardowa metoda.)
8. Keep-Alive: timeout=15, max=100
9. Connection: Keep-Alive (akceptacja połączenia Keep-Alive dla klientów HTTP/1.0)
10. Transfer-Encoding: chunked (typ kodowania zawartości stosowanej przez serwer)
11. Content-Type: text/html; charset=iso-8859-2 (typ MIME i strona kodowa zwróconego dokumetu)
12. znak powrotu karetki i wysunięcia strony (CRLF)
13. tutaj zawartość dokumentu

HTTP do obsługi połączeń Keep-Alive wymaga aby odpowiedź od serwera miała znaną długość (przez podanie Content-Length lub użycie Transfer-Encoding: chunked). W przeciwnym wypadku koniec odpowiedzi sygnalizuje zerwanie połączenia i Keep-Alive nie może działać.

Nagłówek Keep-Alive jest rozszerzeniem HTTP/1.0. W HTTP/1.1 ten nagłówek nie jest potrzebny, gdyż połączenia Keep-Alive są domyślne (zachowanie zmienia Connection: close).

5.1 – Proxy (Squid)

Pośrednik HTTP (HTTP proxy) – to program, który pośredniczy między przeglądarką WWW a serwerami, na których znajduje się dany materiał (zazwyczaj strona internetowa).

Zwykle stosuje się go w ramach sieciowej usługi buforowania, która działa analogicznie do pamięci podręcznej przeglądarki internetowej (cache – stąd inna nazwa tej usługi: W3cache). Polega to na przechowywaniu na bliższym serwerze (serwerze pośredniczącym) kopii strony internetowej i udostępnianiu (jeżeli jest aktualna) tej kopii zamiast informacji pobieranych z odległego serwera.

Ma to na celu skrócenie czasu oczekiwania na załadowanie się strony (jeżeli połączenie z serwerem pośredniczącym jest słabsze niż z komputerem, na którym jest umieszczona strona, dzieje się na odwrót). Jeśli kilku użytkowników w sieci lokalnej korzysta z WWW poprzez takiego pośrednika i odwiedzają tę samą stronę, to wystarczy, że będzie ona pobrana jeden raz. HTTP jest dobrze przystosowane do tego typu programów, pozwalając serwerom informować taki program o dostępności nowszych wersji strony.

Pośredników HTTP stosuje się też do blokowania pewnego rodzaju informacji – np. bannerów reklamowych, czy też do cenzurowania sieci. Często używa się ich również do maskowania adresu komputera, z którego następuje rzeczywiste połączenie.

* Squid

Squid jest popularnym serwerem pośredniczącym (proxy) z udostępnionym kodem źródłowym (Open source).

Program ten może spełniać następujące funkcje:

* pośrednik dla protokołów HTTP, FTP i SSL
* buforowanie protokołów HTTP, FTP i Gopher
* odciążenie lokalnych serwerów HTTP i DNS
* buforowanie DNS

Dzięki zastosowaniu tego programu uzyskujemy:

* zmniejszenie czasu dostępu do danych z Internetu
* zmniejszenie obciążenia łącz internetowych
* większe bezpieczeństwo i anonimowość użytkowników
* możliwość kontroli i wprowadzenia pewnych ograniczeń

5.2 Jezyki przez HTTP
Podstawowym językiem dla HTTP jest HTML (HyperText Markup Language), język tz. tagów dzięki którym piszemy strony.
Niestety język nie daje możliwości pisania dynamicznych stron (z zmienną treścią).
W tym celu powstało kilka języków takich np. jak PHP, Perl, Java, Flash oraz aplikacje CGI
Języki możemy podzielić na te które wymagają wsparcia na serwerze (PHP, Perl, CGI) oraz te które wymagają wsparcia u klienta. (Java, Flash)

* Cechy języków wymagających wsparcia serwera

obciążają już zazwyczaj dociążone maszyny serwerów
dają możliwość wpływania na zawartość witryny osobą odwiedzającym
są potencjalnymi lukami zabezpieczeń serwera
dają dużo możliwości pisania aktywnych stron
umożliwiają przesyłanie plików do i z serwera

* Cechy języków wymagających wsparcia u klienta

obciążają maszynę klienta a nie obciążają serwera
nie dają bezpośredniego wpływania na zawartość witryny
nie stanowią luk serwera ale mogą być drogą ataku na maszynę klienta
dają możliwości pisania aplikacji, gier oraz BARDZO aktywnych stron (Multimedialnych)
aby z nich korzystać trzeba je zainstalować na swoim komputerze

6. FTP File Transfare Protocol

FTP (File Transfer Protocol, protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP. Protokół ten jest zdefiniowany przez IETF w RFC 959.

FTP jest protokołem 8-bitowym, dlatego nie jest potrzebne dalsze przetwarzanie informacji, tak jak ma to miejsce w standardach MIME i uuencode. Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym za pomocą którego przesyłane są np. polecenia do serwera, drugie natomiast służy do transmisji danych m.in. plików. FTP działa w dwóch trybach: aktywnym i pasywnym, w zależności od tego, w jakim jest trybie, używa innych portów do komunikacji.

6.1 port / passive transfer

Jeżeli FTP pracuje w trybie aktywnym, korzysta z portów 21 dla poleceń (połączenie to jest zestawiane przez klienta) oraz 20 do przesyłu danych. Połączenie nawiązywane jest wówczas przez serwer. Jeżeli FTP pracuje w trybie pasywnym wykorzystuje port 21 do poleceń i port o numerze > 1024 do transmisji danych, gdzie obydwa połączenia zestawiane są przez klienta. W sieciach ukrytych za firewallem komunikacja z aktywnymi serwerami FTP nie jest możliwa.

6.2 SecureFTP

SFTP – w zasadzie nie różni się od ftp poza tym że do transferu plików używa SSH, dzięki czemu całe połączenie jest kodowane. SFTP to tz. subsystem SSH. SFTP działa na 115 porcie ( FTP na 21)

KONIEC

Materiały:

Wikipedia – http://www.wikipedia.org/

RFC – http://www.rfc.net/ (791, 792, 768, 793, 2616, 2821, 2822)

Apache2 manual – http://httpd.apache.org/docs/2.0/en/

Squid UG – http://squid-docs.sourcef…html/book1.html

QMail NS – http://www.qmail.org/top.html#book

ProFTPd RFC – http://www.proftpd.org/docs/rfc.html

ProFTPd manual – http://www.proftpd.org/docs/

BIND manual – http://www.isc.org/index.pl?/sw/bind/

IP Tables HowTo – http://www.netfilter.org/…epts-HOWTO.html

Programy:

NVU – http://www.nvu.com/ (html)

Dia – http://www.gnome.org/projects/dia/ (schematy) http://dia-installer.sourceforge.net/

Ethereal – http://www.ethereal.com/ (zawartość połączeń)

Tagged with:
 

Portal Bezpieczna Sieć - Forum komputerowe, Informatyka śledcza, bezpieczeństwo, backtrack, kali - Kali Linux Polska Edycja - Polska Edycja Backtrack - Poradnik dla gracza - Seriws Laptopów Katowice - Sklep Komputerowy Katowice - Parking BETA przy lotnisku Pyrzowice - miejsce Run w sieci - eMono-cykl, SegWay, AirWheel, SoloWheel

stat4u