Your SlideShare is downloading. ×
Serwer internetowy w systemie Linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Serwer internetowy w systemie Linux

10,086
views

Published on

Serwer internetowy w systemie Linux.

Serwer internetowy w systemie Linux.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
10,086
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Serwer internetowy w systemie Linux
    • - www
    • ftp
    • - ssh
    • - smtp
    • - imap
    • - pop3
  • 2. Serwer Apache
    • Historia Apache.
    • Instalacja.
    • Podstawowa konfiguracja.
    • Uruchamianie serwera www.
    • Bezpieczeństwo.
  • 3. 1. Historia Apache
    • Apache powstał w 1994 rok u na bazie kodu dostępnego na licencji Public Domain serwera http, nad którym prace w owym czasie zarzucono. Społeczność internetowa zajęła się wtedy serwerem , i po zebraniu poprawek (patch) powstał nowy projekt “ Apache ”. Główni deweloperzy założyli wtedy organizacje grupy pod ta sam a nazwa. Pierwsza oficjalna wersja 0.6.2 ukazała się w kwietniu 1995 r, a wersja 1.0 pierwszego grudnia 1995 r. W 1999 roku grupa założyła Apache Software Foundation aby zapewnić projektowi prawne i finansowe zaplecze , oraz sprawować opiekę nad innym i projektami w duch u Open-Source . Aktualnie program jest rozwijany w trzech gałęziach 1.3 , 2.0 oraz 2.2 .
  • 4. 2.Instalacja serwera Apache
    • Wszystko zależy od zastosowania, podejścia i dystrybucji!!!
    • Systemy paczkowe:
    • - rpm : Suse, Mandriva, PLD, RedHat
    • - deb : Debian, Ubuntu, Kubuntu
    • - tgz : Slackware
    • Instalacja odbywa się za pomocą managerów instalacji, które pomagają
    • w pobraniu pakietu. Zazwyczaj jednak wystarczy pobrać pakiet a
    • następnie zainstalować go poleceniem z prawami administratora
    • (root’a)
  • 5. 2. Instalacja serwera Apache
    • rpm:
    • rpm -i apache-x.x.x.rpm
    • deb:
    • apt-get install apache
    • tgz:
    • intallpkg apache-x.x.x.tgz
  • 6. 2. Instalacja serwera Apache
    • Systemy wykorzystujące porty:
    • Gentoo:
    • emerge –av apache
    • FreeBSD, OpenBSD, NetBSD:
    • cd /usr/ports/www/apache
    • make && make install && make clean
    • lub:
    • make config && make && make install && make clean
  • 7. 2. Instalacja serwera Apache
    • Instalacja ze źródeł:
    • wget –c –t0 http://ftp.tpnet.pl/vol/d1/apache/httpd/apache_x.x.x.tar.gz
    • tar –zxvf apache_x.x.x.tar.gz
    • cd apache-x.x.x
    • ./configure – „nasze prefixy”
    • make
    • make install
  • 8. 3. Konfiguracja demona
    • Konfiguracja demona znajduje się w pliku httpd.conf znajdującym
    • się najczęściej w katalogu:
    • - /etc/httpd
    • - /etc/apache
    • - /usr/local/etc/apache
    • Plik konfiguracyjny to tekst z wieloma komentarzami. Zawiera mocno
    • udokumentowane opcje z ustawieniami domyślnymi proponowanymi
    • przez zespół Apache lub autorów danej dystrybucji.
  • 9. 3. Konfiguracja demona
    • Plik konfiguracyjny oprócz zwykłych opcji posiada tak zwane bloki
    • oznaczone nawiasami trójkątnymi („ < > ”).
    • Uzależniają działanie w nich zawartych opcji od umiejscowienia
    • plików („ <Directory> </Directory> ”) , załadowanych modułów
    • („ <IfModule > </IfModule > ” ) oraz innych czynników zależnych od
    • wykonywanego przez server zapytania.
  • 10. 3. Konfiguracja demona
    • Ważniejsze opcje:
    • ServerAdmin adres_pocztowy_administratora
    • Określenie adresu pocztowego administratora serwera www.
    • ServerName nazwa_domenowa_serwera
    • Zdefiniowanie nazwy hosta zwracanej klientom podczas pobierania
    • danych serwera.
    • ServerRoot &quot; katalog &quot;
    • Określenie katalogu z plikami używanymi przez httpd, m.in. Plikami błędów i dzienników.
  • 11. 3. Konfiguracja demona
    • ServerType typ
    • Możliwe wartości typu to standalone (ustawiany gdy httpd
    • uruchamiany jest samodzielnie i zalecane) lub inetd (gdy serwer
    • uruchamiany jest za pośrednictwem demona inetd).
    • Port nr_portu
    • Numer portu TCP używanego przez serwer (standardowo 80; inne
    • popularne wartości to 8080 i 8000)
    • BindAddress adres_IP
    • Okrela adres używany do komunikacji z serwerem, jeśli posiada on
    • kilka adresów IP. Wartość adresu * nakazuje serwerowi odpowiadać na żądania kierowane pod dowolny z jego adresów.
  • 12. 3. Konfiguracja demona
    • Listen adres:port Określenie adresów i portów, które oprócz domyślnego portu i adresu mają być monitorowane pod kątem pojawienia się żądań www.
    • MaxClients liczba Maksymalna liczba równocześnie obsługiwanych klientów.
    • DocumentRoot &quot;katalog„
    • Katalog z główną stroną serwera.
    • UserDir katalog Określenie nazwy katalogu w którym każdy z użytkowników systemu może przechowywać swoją stronę domową.
  • 13. 3. Konfiguracja demona
    • DirectoryIndex nazwa_pliku Nazwa pliku przesyłanego klientom gdy żądanie nie zawiera nazwy pliku (np. plik o tej nazwie umieszczony w katalogu podanym w DocumentRoot traktowany jest jako strona główna serwera, a w katalogu podanym jako UserDir - jako strona domowa użytkownika.
    • < Directory &quot;katalog&quot;> ... < /Directory > Określenie dyrektyw odnoszących się do danego katalogu.
    • < VirtualHost &quot;nazwa_domenowa&quot;> ... < /VirtualHost > określenie nazwy na którą reaguje serwer (musi byc ona nazwą równoważną dla nazwy domenowej serwera, zdefiniowaną na serwerze DNS), oraz dyrektyw odnoszących się do tego serwera.
  • 14. 3. Konfiguracja demona
    • Ważniejsze moduły:
    • mod_env - Ustawianie zmiennych środowiskowych dla skryptów CGI/SSI.
    • mod_setenvif - Ustawianie zmiennych środowiskowych na podstawie nagłówków HTTP.
    • mod_mime - Ustalanie typu treści, kodowania. mod_negotiation - Wybieranie treści według nagłówków Accept* HTTP.
    • mod_alias - Tłumaczenie i przekierowanie adresów URL.
    • mod_userdir - Wybieranie katalogów zasobów według nazwy użytkownika.
    • mod_dir - Obsługa katalogów i domyślnych plików katalogowych.
    • mod_autoindex - Automatyczne generowanie indexów katalogów.
  • 15. 3. Konfiguracja demona
    • mod_access - Kontrola dostępu.
    • mod_auth - Uwierzytelnianie HTTP.
    • mod_asis - Nieprzetworzone odpowiedzi HTTP.
    • mod_include - Obsluga Server-Side Includes (SSI).
    • mod_cgi - Obsługa CGI.
    • mod_actions - Skrypty CGI jako wewnętrzne programy obsługi.
    • mod_status - Stan działania serwera.
    • mod_log_config - Rejestrowanie żądań.
    • mod_log_agent - Rejestrowanie nagłówków HTTP Referrer.
  • 16. 3. Konfiguracja demona
    • Przykłady:
    • mod_userdir
    • UserDir public_html
    • <Directory /home/*/public_html>
    • AllowOverride FileInfo AuthConfig Limit
    • Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    • IndexOptions FancyIndexing FoldersFirst NameWidth=*
    • Order deny,allow
    • Deny from all
    • </Directory>
  • 17. 3. Konfiguracja demona
    • Przykłady:
    • mod_alias
    • Alias /icons/ &quot;/home/httpd/icons/„
    • <Directory &quot;/home/httpd/icons&quot;>
    • Options Indexes MultiViews
    • AllowOverride None
    • Order allow,deny
    • Allow from all
    • </Directory>
  • 18. 3. Konfiguracja demona
    • Przykładowy config:
    • ServerRoot &quot;/etc/httpd”
    • LockFile /var/run/httpd/accept.lock
    • PidFile /var/run/httpd.pid
    • Timeout 300
    • KeepAlive On
    • MaxKeepAliveRequests 100
    • Listen 80
    • #MODULE SECTION
    • LoadModule auth_dbm_module modules/mod_auth_dbm.so
    • ...
    • LoadModule unique_id_module modules/mod_unique_id.so
    • #MODULE SECTION END
  • 19. 3. Konfiguracja demona
    • User httpd
    • Group httpd
    • ServerAdmin [email_address]
    • ServerName hct.pwsz.elblag.pl:80
    • DocumentRoot &quot;/home/httpd/html„
    • # Very restrictive set of features.
    • <Directory />
    • Options MultiViews Indexes IncludesNoExec FollowSymLinks
    • IndexOptions FancyIndexing FoldersFirst NameWidth=*
    • AllowOverride None
    • </Directory>
  • 20. 3. Konfiguracja demona
    • AccessFileName .htaccess
    • <Files ~ &quot;^.ht&quot;>
    • Order allow,deny
    • Deny from all
    • </Files>
    • HostnameLookups Off
    • ErrorLog /var/log/httpd/error_log
    • LogLevel warn
    • Alias /icons/ &quot;/home/httpd/icons/„
    • <Directory &quot;/home/httpd/icons&quot;>
    • Options Indexes MultiViews
    • AllowOverride None
    • O rder allow,deny
    • Allow from all
    • </Directory>
  • 21. 3. Konfiguracja demona
    • AddIcon /icons/tar.gif .tar
    • AddIcon /icons/text.gif .txt
    • AddDefaultCharset ISO-8859-2
    • AddIcon /icons/back.gif ..
    • AddIcon /icons/hand.right.gif README
    • AddIcon /icons/folder.gif ^^DIRECTORY^^
    • AddIcon /icons/blank.gif ^^BLANKICON^^
    • DefaultIcon /icons/unknown.gif
  • 22. 4. Uruchamianie demona
    • Skrypty startowe:
    • root~# /etc/init.d/httpd start | stop | restart
    • root~# /etc/rc.d/rc.httpd start | stop | restart
    • root~# /usr/local/etc/rc.httpd start | stop | restart
  • 23. 4. Uruchamianie demona
    • Sprawdzanie czy demon działa:
    • root~# telnet localhost 80
    • Trying 127.0.0.1...
    • telnet: Unable to connect to remote host: Connection refused
    • root@hct ~# telnet localhost 80
    • Trying 127.0.0.1...
    • Connected to localhost.localdomain.
    • Escape character is '^]'.
    • HELLO
    • <!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;>
    • <html><head>
    • <title>501 Method Not Implemented</title>
    • </head><body>
    • <h1>Method Not Implemented</h1>
    • <p>HELLO to /index.html not supported.<br />
    • </p>
    • <hr>
    • <address>Apache/2.0.59 (Trustix Secure Linux/Linux) PHP/5.2.0 Resin/3.0.18 Server at <a href=&quot;mailto:root@hct.pwsz.elblag.pl&quot;>hct.pwsz.elblag.pl</a> Port 80</address>
    • </body></html>
    • Connection closed by foreign host.
    • lub
    • ~#links http://localhost/
  • 24. 5. Bezpieczeństwo
    • Co zrobić by serwer był bardziej bezpieczny ?
    • Używamy jedynie modułów, które są absolutnie niezbędne do poprawnego udostępniania stron. Wszelkie moduły oferujące dodatkowe funkcje usuwamy.
    • Do poprawnego udostępniania statycznych stron potrzebne:
    • AddModule mod_log_config.c //odpowiada za logowanie żądań AddModule mod_mime.c //zapewnia prawidłowe kodowanie dokumentów, obsługę MIME AddModule mod_dir.c //obsługuje pliki startowe witryn WWW, tj. index.html, main.html etc. AddModule mod_access.c //dostarcza mechanizmy kontroli dostępu do stron WWW na podst. IP, nazwy domenowej etc. AddModule mod_auth.c //wymagany do implementacji uwierzytelniania dostępu HTTP Basic Auth
    • Oczywiście każdy wie co jest mu potrzebne i do tej listy może dorzucić
    • niezbędne moduły (np. do PHP)!!!
  • 25. 5. Bezpieczeństwo
    • Apache w standardowej konfiguracji ma skłonność do nadmiernego ujawniania informacji o sobie. Wpisując coś w rodzaju [ www ] dostajemy jak na dłoni informację o wersji Apache, systemie (Linux czy Windows), oraz wersji PHP (o ile takowa jest zainstalowana na serwerze).
    • W pliku httpd.conf zmieniamy dyrektywy
    • UseCanonicalName Off ServerSignature Off // ta dyrektywa odpowiada za tą paskudną stopkę HostnameLookups Off ServerTokens Prod
    • Dodatkowo komentujemy ładowanie modułu mod_info (jeśli takowy nie
    • został wcześniej wyłączony ;) )
  • 26. 5. Bezpieczeństwo
    • Filtrowanie dostępu do servera za pomocą firewall’a.
    • Używanie SSL’a do połączeń z serverem.
    • Instalacja serwera www w środowisku jail .
    • Wykrywanie prób ataków/włamań (np. Snort ) oraz blokowanie adresów IP z których były przeprowadzone.
    • Honeypot – symulacja dodatkowych maszyn (maszyny virtualne) w celu zmylenia przeciwnika przed atakiem na prawdziwa maszyne.
    • Monitorowanie i analiza logów
  • 27. Serwer FTP
    • Co to jest FTP.
    • Dlaczego vsftpd.
    • Podstawowa konfiguracja.
    • Uruchamianie.
  • 28. 1. Co to jest FTP
    • FTP ( File Transfer Protocol , ang. 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 wymaga specjalnego kodowania
    • danych na postać 7-bitową , tak jak ma to miejsce w przypadku poczty
    • elektronicznej.
    • 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.
  • 29. 1. Co to jest FTP
    • 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.
    • Możliwe jest zainstalowanie wielu serwerów FTP za jednym i tym samem
    • routerem. Warunkiem jest rozdzielenie portów przez router dla każdego
    • serwera.
  • 30. 2. Dlaczego vsftpd?
    • VSFTPd jest darmowym ( BSD ), bezpiecznym, wysokiej jakości, spełniającym
    • wszelkie standardy serwerem FTP. Bardzo dobrze sprawdza się zarówno dla
    • użytku domowego jak i dla wszelkiego rodzaju organizacji czy dużych firm.
    • Jest bardzo przyjazny dla administratorów (obsługuje m.in. język polski) i
    • dobrze współpracuje z wieloma różnymi usługami (m.in. LDAP czy SQL).
    • Dzięki integracji z biblioteka OpenSSL zapewnia użytkownikom pełna
    • poufność i integralność danych.
  • 31. 2. Dlaczego vsftpd?
    • Zalety vsftpd:
    • bezpieczeństwo : głównym założeniem projektu było/jest bezpieczeństwo.
    • wydajność : w porównaniu z wuftpd jest w stanie obsłużyć przeszło dwa razy więcej klientów.
    • szybkość : transfer jest większy, niż w przypadku innych serwerów.
    • bezpieczeństwo : nie znaleziono na niego krytycznych bugów.
    • bezpieczeństwo : zaczyna być dołączany jako standardowy serwer FTP do coraz większej ilości systemów (np. EnGarde Linux, United Linux).
    • lista referencyjna : ftp.redhat.com, ftp.suse.com, ftp.debian.org, ftp.gnu.org, ftp.gnome.org, ftp.openbsd.org, ftp.gimp.org i wiele innych
  • 32. 3. Konfiguracja vsftpd?
    • Format, w jakim są zapisywane opcje konfiguracyjne wygląda następująco:
    • opcja=wartość
    • --- vsftpd.conf ---
    • # Ustawiamy tutaj, z poziomu jakiego użytkownika ma być uruchamiany nasz
    • serwer:
    • nopriv_user=ftp
    • # Uruchomienie serwera w trybie standalone. Jeśli chcemy aby nasz vsftpd był
    • # uruchamiany w trybie inetd, rezygnujemy z tej opcji, ponieważ domyślnie jest
    • # ona ustawiona na &quot;NO&quot;:
    • listen=YES
    • # Definiujemy, tutaj na jakim porcie ma nasłuchiwać serwer (domyślnie jest to port 21):
    • listen_port=21
    • # Zabronienie logowania anonimowych użytkowników:
    • anonymous_enable=NO
  • 33. 3. Konfiguracja vsftpd?
    • # Zezwolenie logowania dla lokalnych użytkowników
    • local_enable=YES
    • # Pozwolenie do zapisu we własnym katalogu
    • write_enable=YES
    • # Umask (022 jest używany przez większość serwerów ftp)
    • local_umask=022
    • # Włączenie logowania
    • xferlog_enable=YES
    • # ścieżka do pliku z logami
    • xferlog_file=/var/log/xferlog.log
    • # Logi w formacie xferlog (jest wykorzystywany m.in. przez wu-ftpd)
    • xferlog_std_format=YES
    • # Maksymalna liczba połączonych użytkowników
    • max_clients=5
    • # Maksymalna liczba użytkowników mogących się połączyć z tego samego adresu IP
    • max_per_ip=2
  • 34. 3. Konfiguracja vsftpd?
    • # Banner, który będzie wyświetlany przy każdym połączeniu z serwerem
    • ftpd_banner=Prywatny serwer FTP - Powered by: vsftpd
    • # Userzy nie mogą wychodzić poza swój katalog domowy
    • chroot_local_user=YES
    • # Ustawiamy katalog dla chroot'a:
    • secure_chroot_dir=/var/chroot/vsftpd
    • # Lista użytkowników, którzy mogą wychodzić poza swój katalog domowy,
    • # musisz utworzyć ten plik. # np: touch /var/chroot/vsftpd/vsftpd.chroot_list
    • # Dodanie użytkownika odbywa się poprzez dopisanie nazwy usera do tego pliku.
    • # np: echo &quot;tomek&quot; >> /var/chroot/vsftpd/vsftpd.chroot_list
    • chroot_list_enable=YES chroot_list_file=/var/chroot/vsftpd/vsftpd.chroot_list
    • --- end of vsftpd.conf ---
  • 35. 3. Uruchamianie vsftpd?
    • Serwer typu standalone:
    • root~# /etc/init.d/vsftpd start | stop | restart
    • root~# /etc/rc.d/vsftpd start | stop | restart
    • root~# /usr/local/etc/rc.d/vsftpd start | stop | restart
    • Serwer wykorzystujacy inet.d, xinet.d
    • root~# kill –HUP ‘cat /var/run/inetd.pid’
    • root~# /etc/init.d/inetd restart
  • 36. SSH
    • Co to jest SSH.
    • Podstawowa konfiguracja.
    • Uruchamianie.
    • Zastosowanie
  • 37. 1. Co to jest SSH?
    • SSH (ang. secure shell ) to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP -IP, w architekturze klient-serwer. W ścisłym znaczeniu SSH to tylko następca protokołu telnet, służącego do terminalowego łączenia się ze zdalnym komputerem. SSH różni się od telnetu tym, że transfer wszelkich danych jest zaszyfrowany, oraz możliwe jest rozpoznawanie użytkownika na wiele różnych sposobów. W szerszym znaczeniu SSH to wspólna nazwa dla całej rodziny protokołów, nie tylko terminalowych, lecz także służących do przesyłania plików (SCP, SFTP), zdalnej kontroli zasobów, tunelowania i wielu innych zastosowań. Wspólną cechą wszystkich tych protokołów jest identyczna z ssh technika szyfrowania danych i rozpoznawania użytkownika. Obecnie protokoły z rodziny SSH praktycznie wyparły wszystkie inne &quot;bezpieczne&quot; protokoły takie jak np: Rlogin i RSH.
  • 38. 1. Co to jest SSH?
    • Najczęściej współcześnie stosowany sposób szyfrowania to AES , choć nadal część
    • serwerów używa szyfrowania Blowfish i technik z rodziny DES .
    • Rozpoznawanie użytkownika może się opierać na tradycyjnym pytaniu o hasło, klucz
    • ( RSA lub DSA ) lub z użyciem protokołu Kerberos .
    • Protokoły z rodziny SSH korzystają zwyczajowo z portu 22 protokołu TCP , choć w
    • wielu zastosowaniach celowo stosuje się port o innym numerze w celu zwiększenia
    • bezpieczeństwa serwera. Sama rodzina SSH znajduje się w warstwie aplikacji modelu
    • OSI, ale do połączenia korzysta z protokołu TCP.
  • 39. 1. Co to jest SSH?
    • Zasada działania:
  • 40. 2. Konfiguracja SSH?
    • Serwer SSH w systemach Linux konfiguruje się poprzez plik sshd_conf który
    • przeważnie znajduje się w katalogu /etc/ssh/ i tylko użytkownik root może go
    • modyfikować. Jeśli SSH było instalowane ze źródeł to położenie pliku może być w
    • innym miejscu.
    • Wybrane funkcje i parametry:
    • PermitRootLogin (yes, no) - Zezwala na logowanie się użytkownika root
    • Protocol (1,2) - Rodzaj wersji protokołu SSH
    • Port 3334 - Nr portu na którym nasłuchuje serwer SSH
    • RhostsAuthentication (yes, no) - Określa czy SSH ignoruje
    • $HOME/.ssh/known_hosts użytkownika
    • IgnoreUserKnownHosts (no, yes)
    • PasswordAuthentication (yes, no)
    • PermitEmptyPasswords (no, yes)
    • PrintMotd (yes, no) - Określa czy SSH wyświetlda informacje z pliku /etc/motd kiedy użytkownik się loguje
    • PrintLastLog (yes, no) - Określa czy pokazywać ostatni czas logowania użytkownika
    • KeepAlive (yes, no) - Określa czy system wysyła pakiet TCP 'keepalive' do klienta w
    • celu stwierdzenia jego aktywności
    • UseLogin (yes, no)
    • Compression (yes, no) - Czy dopuszczalna jest kompresja przesyłanych danych
    • MaxStartups 10 - Liczba niepowodzeń logowania przed rozłączeniem z serwerem
    • Banner /some/path - ścieżka do pliku z informacjami wyświetlanymi po zalogowaniu
  • 41. 3. Uruchamianie SSH
    • root~# /etc/init.d/sshd start | stop | restart
    • root~# /etc/rc.d/rc.sshd start | stop | restart
    • root~# /usr/local/etc/rc.d/sshd start | stop | restart
  • 42. 4. Zastosowanie SSH
    • Protokół SSH może być wykorzystywany do:
    • Pracy na zdalnej maszynie
    • Korzystania ze zdalnych baz danych
    • Konfigurowania odległego serwera lub routera
    • Korzystania z poczty e-mail
    • Eksploatacji serwera WWW
  • 43. SMTP
    • SMTP (ang. Simple Mail Transfer Protocol ) - protokół komunikacyjny opisujący sposób
    • przekazywania poczty elektronicznejw internecie.
    • SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego
    • odbiorcę wiadomości (wwiększości przypadków weryfikowane jest jego istnienie), a
    • następnie przekazuje treść wiadomości. Łatwo przetestować serwer SMTP przy użyciu
    • programu telnet.
    • SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątych
    • dwudziestego wieku. W tamtym okresie było to uzupełnienie UUCP, który lepiej
    • sprawdzał się przy przekazywaniu poczty między maszynami posiadającymi jedynie
    • okresowe połączenie. SMTP natomiast lepiej działa, gdy zarówno maszyna nadająca jak
    • odbierająca są na stałe przyłączone do sieci.
    • Jednym z pierwszych (jeśli nie pierwszym) z programów do przesyłania poczty, w
    • którym zastosowano SMTP był sendmail. Wroku 2001 istniało przynajmniej 50
    • (pięćdziesiąt) programów implementujących SMTP jako klient (nadawca) lub serwer
    • (odbiorca wiadomości). Niektóre inne popularne programy serwerów SMTP to exim,
    • Postfix, Qmail Bernsteina, GroupWise firmy Novell i Microsoft Exchange.
  • 44. SMTP
    • Protokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ stworzony był w
    • oparciu o czysty tekst ASCII.
    • W celu kodowania plików binarnych do przesyłu przez SMTP stworzono standardy
    • takie jak MIME. W dzisiejszych czasach większość serwerów SMTP obsługuje
    • rozszerzenie 8BITMIME pozwalające przesyłać pliki binarne równie łatwo jak tekst.
    • SMTP nie pozwala na pobieranie wiadomości ze zdalnego serwera. Do tego celu służą
    • POP3 lub IMAP.
    • Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji
    • nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę
    • elektroniczną (wirusy, spam). Żeby temu zaradzić stworzono rozszerzenie SMTP-
    • AUTH , które jednak jest tylko częściowym rozwiązaniem problemu – ogranicza
    • Wykorzystanie serwera wymagającego autoryzacji do zwielokratniania poczty. Nadal
    • nie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę - nadawca może
    • &quot;udawać„ serwer i wysłać dowolny komunikat do dowolnego odbiorcy.
  • 45. SMTP
    • POSTFIX jako przykład serwera smtp.
    • Pliki konfiguracyjne programu Postfix umieszczone są w katalogu /etc/postfix.
    • Najważniejszym plikiem jest main.cf.
    • Kolejnymi plikami, o których warto wspomnieć, są pliki sample-..... . Zawierają one
    • wskazówki o tym, jak zmieniać poszczególne opcje działania postfixa.
    • Podstawowa konfiguracja :
    • W pliku /etc/postfix/main.cf ustawiamy / zmieniamy:
    • myhostname = naszhostname.pl
    • mydestination = $myhostname
    • Uruchamianie:
    • # postfix start
    • Przeladowywanie konfiguracji:
    • #postfix reload
  • 46. POP3
    • 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
    • internautów korzysta z POP3 do odbioru poczty
    • Wcześniejsze wersje protokołu POP czyli, POP (czasami nazywany POP1), POP2 zostały
    • całkowicie zastąpione przez POP3. Zwykle jeżeli ktoś mówi o protokole POP ma na
    • myśli jego wersję 3.
    • Protokół POP3 powstał dla użytkowników, którzy nie są cały czas obecniw Internecie.
    • Jeżeli ktoś łączy się z siecią tylko na chwilę, to poczta nie może dotrzeć do niego
    • protokołem SMTP.Wtakiej sytuacjiw sieci istnieje specjalny serwer, który przez SMTP
    • odbiera przychodzącą pocztę i ustawia ją w kolejce.
  • 47. POP3
    • Kiedy użytkownik połączy się z siecią, to korzystając z POP3 może pobrać czekające na
    • niego listy do lokalnego komputera. Jednak protokół ten ma wiele ograniczeń:
    • połączenie trwa tylko, jeżeli użytkownik pobiera pocztę i nie może pozostać uśpione,
    • do jednej skrzynki może podłączyć się tylko jeden klient równocześnie,
    • każdy list musi być pobierany razem z załącznikami i żadnej jego części nie można w łatwy sposób pominąć
    • wszystkie odbierane listy trafiają do jednej skrzynki, nie da się utworzyć ich kilku,
    • serwer POP3 nie potrafi sam przeszukiwać czekającychw kolejce listów.
    • Wysyłanie listów zawsze opiera się na protokole SMTP. Komunikacja POP3 może zostać
    • zaszyfrowana z wykorzystaniem protokołu SSL. Jest to o tyle istotne, że w POP3 hasło
    • przesyłane jest otwartym tekstem, o ile nie korzysta się z opcjonalnej komendy protokołu
    • POP3, APOP.
    • Protokół POP3, podobnie, jak inne protokoły internetowe (np. SMTP, HTTP) jest
    • protokołem tekstowym, czyli w odróżnieniu od protokołu binarnego, czytelnym dla
    • człowieka.
  • 48. POP3
    • Daemon pop3 na przykładzie popa3d
    • Program popa3d jest produktem autorstwa Solar designera – jest serwerem
    • usługi POP3 stworzoną z myśla o prostocie i bezpieczeństwie.
    • Oprogramowanie to wykorzystuje między innymi separację przywilejów, co w
    • znaczący sposób podnosi poziom  bezpieczeństwa usługi, zmniejszając ilość
    • kodu wykonywanego z uprawnieniami root’a .
    • Uruchaminie demona:
    • W pliku /etc/init.d umieszczamy linie:
    • pop3    stream  tcp     nowait  root    /usr/bin/pop3d  popa3d
    • Uruchamiamy przez przeładowanie inet.d
    • root#~ killall –HUP inted
  • 49. IMAP
    • IMAP4 ( Internet Message Access Protocol ) to internetowy protokół pocztowy
    • zaprojektowany jako następca POP3.
    • W przeciwieństwie do POP3, który umożliwia jedynie pobieranie i kasowanie poczty,
    • IMAP pozwala na zarządzanie wieloma folderami pocztowymi oraz pobieranie i
    • operowanie na listach znajdujących się na zdalnym serwerze
    • Powodem, dla którego IMAP się nie przyjął, z pewnością NIE JEST czas połączenia z
    • serwerem. W rzeczywistości protokół ten jest polecany dla użytkowników modemów,
    • którzy nie muszą przez godzinę ściągać całej poczty po to tylko, by się przekonać, że
    • większość maili ich nie interesuje lub zawiera ogromne załączniki.
    • IMAP pozwala na ściągnięcie nagłówków wiadomości i wybranie, które z wiadomości
    • chcemy ściągnąć na komputer lokalny. Zdecydowanie zmniejsza to czas połączenia oraz
    • eliminuje konieczność wchodzenia bezpośrednio na stronę w celu usunięcia wiadomości
    • o zbyt dużym rozmiarze.
  • 50. IMAP
    • Uruchamianie demona IMAP na przykładzie pakietu courier-imap
    • Konfiguracja pakietu courier-imap, nie należy do najtrudniejszych  .
    • Edytujemy plik
    • /etc/courier-imap/imapd
    • i ustawiamy:
    • ADDRESS=127.0.0.1 PORT=143 MAILDIR=.maildir MAILDIRPATH=.maildir
    • To wszystko. Uruchamiamy demona:
    • root#~` /etc/init.d/courier-imapd start
  • 51. Zagrożenia serwerów pocztowych
    • Otwarty przekaźnik (tzw. Open Relay) – serwer którego oprogramowanie do wysyłania poczty nie jest zabezpieczone przed rozsyłaniem poczty (zazwyczaj spamu) przez osoby niepowołane
    • Spam przychodzący – niechciane przesyłki, które trafiają do odbiorców na naszym serwerze, a ich zródłem są Open Relay’e oraz komputery zombie
    • Wirusy i robaki – ich źródłem mogą być zewnętrzni nadawcy, jak i użytkownicy naszego serwera, należy sprawdzać ruch w obu kierunkach
  • 52. Jak sobie z nimi radzic ?
    • Otwarte przekaźniki (Open Relay) :
    • Odpowiednio skonfigurowane listy kontroli dostępu
    • Uruchomienie autoryzacji SMTP-AUTH
    • Spam przychodzący:
    • Odpowiednio skonfigurowane listy kontroli dostępu
    • Automatyczne sprawdzanie adresu na listach blokujących (RBL, DNSBL) szeroko dostępnych w internecie
    • Uruchomienie filtra antyspamowego współpracującego z serwerem pocztowym
    • Wirusy i robaki:
    • Uruchomienia skanera poczty, który jest pośrednikiem pomiędzy serwerem pocztowym a programem antywirusowym
    • Zainfekowana poczta trafia do kwarantanny albo jest usuwana
  • 53. PYTANIA ???