Serwer internetowy w systemie Linux
-
Upload
bm9ib2r5 -
Category
Technology
-
view
10.161 -
download
7
description
Transcript of Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
- www- www- ftpftp- ssh- ssh- smtp- smtp- imap- imap- pop3- pop3
Serwer Apache
1. Historia Apache.2. Instalacja.3. Podstawowa konfiguracja.4. Uruchamianie serwera www.5. Bezpieczeństwo.
1. Historia Apache1. 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 1995r, a wersja 1.0 pierwszego grudnia 1995r. 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 .
2.Instalacja serwera Apache2.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)
2. Instalacja serwera 2. Instalacja serwera ApacheApache
rpm:rpm -i apache-x.x.x.rpm
deb:apt-get install apache
tgz:intallpkg apache-x.x.x.tgz
2. Instalacja serwera 2. Instalacja serwera ApacheApache
Systemy wykorzystujące porty:
Gentoo:
emerge –av apache
FreeBSD, OpenBSD, NetBSD:
cd /usr/ports/www/apachemake && make install && make clean
lub:make config && make && make install && make clean
2. Instalacja serwera 2. Instalacja serwera ApacheApache
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.gzcd apache-x.x.x./configure – „nasze prefixy”make make install
3. Konfiguracja demona3. 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.
3. Konfiguracja demona3. 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 odwykonywanego przez server zapytania.
3. Konfiguracja demona3. 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 pobieraniadanych serwera.
ServerRoot "katalog" Określenie katalogu z plikami używanymi przez httpd, m.in. Plikami błędów i dzienników.
3. Konfiguracja demona3. Konfiguracja demonaServerType 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.
3. Konfiguracja demona3. 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 "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ą.
3. Konfiguracja demona3. 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 "katalog"> ... < /Directory > Określenie dyrektyw odnoszących się do danego katalogu.
< VirtualHost "nazwa_domenowa"> ... < /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.
3. Konfiguracja demona3. 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.
3. Konfiguracja demona3. 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.
3. Konfiguracja demona3. Konfiguracja demona
Przykłady:mod_userdir
UserDir public_html
<Directory /home/*/public_html>AllowOverride FileInfo AuthConfig LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec IndexOptions FancyIndexing FoldersFirst NameWidth=*Order deny,allowDeny from all
</Directory>
3. Konfiguracja demona3. Konfiguracja demona
Przykłady:mod_alias
Alias /icons/ "/home/httpd/icons/„<Directory "/home/httpd/icons">
Options Indexes MultiViewsAllowOverride None Order allow,denyAllow from all
</Directory>
3. Konfiguracja demona3. Konfiguracja demona
Przykładowy config:
ServerRoot "/etc/httpd”LockFile /var/run/httpd/accept.lockPidFile /var/run/httpd.pidTimeout 300KeepAlive OnMaxKeepAliveRequests 100Listen 80#MODULE SECTIONLoadModule auth_dbm_module modules/mod_auth_dbm.so...LoadModule unique_id_module modules/mod_unique_id.so#MODULE SECTION END
3. Konfiguracja demona3. Konfiguracja demona
User httpdGroup httpd
ServerAdmin [email protected] hct.pwsz.elblag.pl:80DocumentRoot "/home/httpd/html„# Very restrictive set of features. <Directory />
Options MultiViews Indexes IncludesNoExec FollowSymLinksIndexOptions FancyIndexing FoldersFirst NameWidth=*AllowOverride None
</Directory>
3. Konfiguracja demona3. Konfiguracja demonaAccessFileName .htaccess<Files ~ "^\.ht">
Order allow,denyDeny from all
</Files>HostnameLookups OffErrorLog /var/log/httpd/error_logLogLevel warnAlias /icons/ "/home/httpd/icons/„<Directory "/home/httpd/icons">
Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all
</Directory>
3. Konfiguracja demona3. Konfiguracja demonaAddIcon /icons/tar.gif .tar…AddIcon /icons/text.gif .txtAddDefaultCharset ISO-8859-2AddIcon /icons/back.gif ..AddIcon /icons/hand.right.gif READMEAddIcon /icons/folder.gif ^^DIRECTORY^^AddIcon /icons/blank.gif ^^BLANKICON^^DefaultIcon /icons/unknown.gif
4. Uruchamianie demona4. Uruchamianie demona
Skrypty startowe:
root~# /etc/init.d/httpd start | stop | restartroot~# /etc/rc.d/rc.httpd start | stop | restartroot~# /usr/local/etc/rc.httpd start | stop | restart
4. Uruchamianie demona4. Uruchamianie demona
Sprawdzanie czy demon działa:root~# telnet localhost 80Trying 127.0.0.1...telnet: Unable to connect to remote host: Connection refusedroot@hct ~# telnet localhost 80Trying 127.0.0.1...Connected to localhost.localdomain.Escape character is '^]'.HELLO<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><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="mailto:[email protected]">hct.pwsz.elblag.pl</a> Port 80</address></body></html>Connection closed by foreign host.
lub~#links http://localhost/
5. Bezpieczeństwo5. Bezpieczeństwo
Co zrobić by serwer był bardziej bezpieczny ?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ę MIMEAddModule 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)!!!
5. Bezpieczeństwo5. 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 OffServerSignature Off // ta dyrektywa odpowiada za tą paskudną stopkęHostnameLookups OffServerTokens Prod
Dodatkowo komentujemy ładowanie modułu mod_info (jeśli takowy nie
został wcześniej wyłączony ;) )
5. Bezpieczeństwo5. 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
Serwer FTPSerwer FTP
1. Co to jest FTP.2. Dlaczego vsftpd.3. Podstawowa konfiguracja.4. Uruchamianie.
1. Co to jest FTP1. Co to jest FTP
FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołemtypu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzezsieć TCP/IP. Protokół ten jest zdefiniowany przez IETF w RFC 959 FTP jest protokołem 8-bitowym, dlatego nie wymaga specjalnego kodowaniadanych na postać 7-bitową, tak jak ma to miejsce w przypadku pocztyelektronicznej.Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jestpołączeniem kontrolnym za pomocą którego przesyłane są np. polecenia doserwera, drugie natomiast służy do transmisji danych m.in. plików. FTP działaw dwóch trybach: aktywnym i pasywnym, w zależności od tego, w jakim jesttrybie, używa innych portów do komunikacji.
1. Co to jest FTP1. 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 wtrybie 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 samemrouterem. Warunkiem jest rozdzielenie portów przez router dla każdego
serwera.
2. Dlaczego vsftpd?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łnapoufność i integralność danych.
2. Dlaczego vsftpd?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
FTPdo 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
3. Konfiguracja vsftpd?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 naszserwer: 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 "NO":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
3. Konfiguracja vsftpd?3. Konfiguracja vsftpd?# Zezwolenie logowania dla lokalnych użytkownikówlocal_enable=YES# Pozwolenie do zapisu we własnym kataloguwrite_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 logamixferlog_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ówmax_clients=5# Maksymalna liczba użytkowników mogących się połączyć z tego samego
adresu IP max_per_ip=2
3. Konfiguracja vsftpd?3. Konfiguracja vsftpd?
# Banner, który będzie wyświetlany przy każdym połączeniu z serweremftpd_banner=Prywatny serwer FTP - Powered by: vsftpd# Userzy nie mogą wychodzić poza swój katalog domowychroot_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 "tomek" >> /var/chroot/vsftpd/vsftpd.chroot_list chroot_list_enable=YES
chroot_list_file=/var/chroot/vsftpd/vsftpd.chroot_list --- end of vsftpd.conf ---
3. Uruchamianie vsftpd?3. Uruchamianie vsftpd?
Serwer typu standalone:root~# /etc/init.d/vsftpd start | stop | restartroot~# /etc/rc.d/vsftpd start | stop | restartroot~# /usr/local/etc/rc.d/vsftpd start | stop | restart
Serwer wykorzystujacy inet.d, xinet.droot~# kill –HUP ‘cat /var/run/inetd.pid’root~# /etc/init.d/inetd restart
SSHSSH
1. Co to jest SSH.2. Podstawowa konfiguracja.3. Uruchamianie.4. Zastosowanie
1. Co to jest SSH?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 "bezpieczne" protokoły takie jak np: Rlogin i RSH.
1. Co to jest SSH?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ć wwielu zastosowaniach celowo stosuje się port o innym numerze w celu
zwiększeniabezpieczeństwa serwera. Sama rodzina SSH znajduje się w warstwie aplikacji
modeluOSI, ale do połączenia korzysta z protokołu TCP.
1. Co to jest SSH?1. Co to jest SSH?
Zasada działania:
2. Konfiguracja SSH?2. Konfiguracja SSH?Serwer SSH w systemach Linux konfiguruje się poprzez plik sshd_conf któryprzeważnie znajduje się w katalogu /etc/ssh/ i tylko użytkownik root może gomodyfikować. Jeśli SSH było instalowane ze źródeł to położenie pliku może być winnym miejscu. Wybrane funkcje i parametry:PermitRootLogin (yes, no) - Zezwala na logowanie się użytkownika rootProtocol (1,2) - Rodzaj wersji protokołu SSHPort 3334 - Nr portu na którym nasłuchuje serwer SSHRhostsAuthentication (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ę logujePrintLastLog (yes, no) - Określa czy pokazywać ostatni czas logowania użytkownikaKeepAlive (yes, no) - Określa czy system wysyła pakiet TCP 'keepalive' do klienta wcelu stwierdzenia jego aktywnościUseLogin (yes, no) Compression (yes, no) - Czy dopuszczalna jest kompresja przesyłanych danychMaxStartups 10 - Liczba niepowodzeń logowania przed rozłączeniem z serweremBanner /some/path - ścieżka do pliku z informacjami wyświetlanymi po zalogowaniu
3. Uruchamianie SSH3. Uruchamianie SSH
root~# /etc/init.d/sshd start | stop | restartroot~# /etc/rc.d/rc.sshd start | stop | restartroot~# /usr/local/etc/rc.d/sshd start | stop | restart
4. Zastosowanie SSH4. 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
SMTPSMTPSMTP (ang. Simple Mail Transfer Protocol) - protokół komunikacyjny opisujący
sposóbprzekazywania poczty elektronicznejw internecie.SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednegoodbiorcę wiadomości (wwiększości przypadków weryfikowane jest jego istnienie), anastępnie przekazuje treść wiadomości. Łatwo przetestować serwer SMTP przy użyciuprogramu telnet.SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątychdwudziestego wieku. W tamtym okresie było to uzupełnienie UUCP, który lepiejsprawdzał się przy przekazywaniu poczty między maszynami posiadającymi jedynieokresowe połączenie. SMTP natomiast lepiej działa, gdy zarówno maszyna nadająca jakodbierająca są na stałe przyłączone do sieci.
Jednym z pierwszych (jeśli nie pierwszym) z programów do przesyłania poczty, wktó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.
SMTPSMTPProtokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ stworzony był woparciu o czysty tekst ASCII.W celu kodowania plików binarnych do przesyłu przez SMTP stworzono standardytakie jak MIME. W dzisiejszych czasach większość serwerów SMTP obsługujerozszerzenie 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 – ograniczaWykorzystanie serwera wymagającego autoryzacji do zwielokratniania poczty. Nadalnie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę - nadawca może "udawać„ serwer i wysłać dowolny komunikat do dowolnego odbiorcy.
SMTPSMTPPOSTFIX 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
POP3POP3
Post Office Protocol version 3 (POP3) to protokół internetowy z warstwy aplikacji
pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnegokomputera poprzez połączenie TCP/IP. Ogromna większość współczesnychinternautó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 namyś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 niegoprotokołem SMTP.Wtakiej sytuacjiw sieci istnieje specjalny serwer, który przez
SMTPodbiera przychodzącą pocztę i ustawia ją w kolejce.
POP3POP3
Kiedy użytkownik połączy się z siecią, to korzystając z POP3 może pobrać czekające naniego 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łoprzesyłane jest otwartym tekstem, o ile nie korzysta się z opcjonalnej komendy
protokołuPOP3, APOP.
Protokół POP3, podobnie, jak inne protokoły internetowe (np. SMTP, HTTP) jestprotokołem tekstowym, czyli w odróżnieniu od protokołu binarnego, czytelnym dlaczłowieka.
POP3POP3Daemon 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 wznaczą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.droot#~ killall –HUP inted
IMAPIMAP
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 ioperowanie na listach znajdujących się na zdalnym serwerze
Powodem, dla którego IMAP się nie przyjął, z pewnością NIE JEST czas połączenia zserwerem. 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ć,
żewię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ścichcemy ściągnąć na komputer lokalny. Zdecydowanie zmniejsza to czas połączenia
oraz eliminuje konieczność wchodzenia bezpośrednio na stronę w celu usunięcia
wiadomościo zbyt dużym rozmiarze.
IMAPIMAPUruchamianie 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.1PORT=143MAILDIR=.maildirMAILDIRPATH=.maildir
To wszystko. Uruchamiamy demona:
root#~` /etc/init.d/courier-imapd start
Zagrożenia serwerów Zagrożenia serwerów pocztowychpocztowych
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
Jak sobie z nimi radzic ?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
PYTANIA ???