User Tools

Site Tools


school:rl:labs:recapitulare

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
school:rl:labs:recapitulare [2009/09/12 14:14]
razvan
school:rl:labs:recapitulare [2020/07/20 09:16] (current)
Line 1: Line 1:
-= Laborator de recapitulare =+====== Laborator de recapitulare ======
  
-== Elemente importante ==+===== Elemente importante =====
  
-* mașini virtuale, OpenVZ +   mașini virtuale, OpenVZ 
-* DMZ +   DMZ 
-* configurări de rețea +   configurări de rețea 
-* firewall +   firewall 
-* NAT +   NAT 
-* iptables +   iptables 
-* DNS, Bind +   DNS, Bind 
-* web, Apache2 +   web, Apache2 
-* e-mail, Postfix +   e-mail, Postfix 
-* proxy, Squid+   proxy, Squid
  
-== Topologia folosită ==+===== Topologia folosită =====
  
 Topologia folosită în cadrul acestui laborator este prezentată în imaginea de mai jos, unde: Topologia folosită în cadrul acestui laborator este prezentată în imaginea de mai jos, unde:
-* E (external) reprezintă o stație din exteriorul rețelei (din Internet); +   E (external) reprezintă o stație din exteriorul rețelei (din Internet); 
-* F (firewall) reprezintă firewall-ul și gateway-ul; filtrează cererile către rețeaua locală (L) și către DMZ (D); face NAT pentru stația L; +   F (firewall) reprezintă firewall-ul și gateway-ul; filtrează cererile către rețeaua locală (L) și către DMZ (D); face NAT pentru stația L; 
-* D (DMZ) este o [[http://en.wikipedia.org/wiki/Bastion_host|stație bastion]]; serviciile publice (web, e-mail gateway, DNS) vor rula pe această stație; +   D (DMZ) este o [[http://en.wikipedia.org/wiki/Bastion_host|stație bastion]]; serviciile publice (web, e-mail gateway, DNS) vor rula pe această stație; 
-* L (local) reprezintă o stație din rețeaua locală; stația este protejată de firewall (F) de accesele directe din exterior; stația folosește o adresă privată și utilizează NAT-ul pus la dispoziție de firewall; L rulează SSH și serverul de e-mail.+   L (local) reprezintă o stație din rețeaua locală; stația este protejată de firewall (F) de accesele directe din exterior; stația folosește o adresă privată și utilizează NAT-ul pus la dispoziție de firewall; L rulează SSH și serverul de e-mail.
  
 {{ :school:rl:labs:topologie.png |Topologie}} {{ :school:rl:labs:topologie.png |Topologie}}
  
-== Task-uri ==+===== Task-uri =====
  
-=== Configurarea rețelei și asigurarea conectivității ===+==== Configurarea rețelei și asigurarea conectivității ====
  
-==== Enunț ====+=== Enunț ===
  
-* Configurați în mod permanent adresele specificate în figură pe cel 4 stații. +   Configurați în mod permanent adresele specificate în figură pe cel 4 stații. 
-* Activați rutarea pe stația '''F''' și adăugați rutele corespunzătoare pentru a asigura conectivitatea între cele 4 stații.+   Activați rutarea pe stația **F** și adăugați rutele corespunzătoare pentru a asigura conectivitatea între cele 4 stații.
  
-==== Pași ajutători ====+=== Pași ajutători ===
  
-* Folosiți fișierul `/etc/network/interfacespentru a configura adresa 6.7.8.10/24 pe stația '''E'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura adresa 6.7.8.10/24 pe stația **E**
-* Folosiți fișierul `/etc/network/interfacespentru a configura adresa 6.7.7.2/24 pe stația '''D'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura adresa 6.7.7.2/24 pe stația **D**
-* Folosiți fișierul `/etc/network/interfacespentru a configura adresa 10.0.0.2/24 pe stația '''E'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura adresa 10.0.0.2/24 pe stația **E**
-* Folosiți fișierul `/etc/network/interfacespentru a configura pe stația '''F'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura pe stația **F**
-*adresa 6.7.8.9 pe interfața `eth0` +     adresa 6.7.8.9/24 pe interfața {{{eth0}}} 
-*adresa 6.7.7.1 pe interfața `eth1`. +     adresa 6.7.7.1/24 pe interfața {{{eth1}}} 
-*adresa 10.0.0.1 pe interfața `eth2` +     adresa 10.0.0.1/24 pe interfața {{{eth2}}} 
-* Folosiți comanda `sysctlși fișierul `/etc/sysctl.confpentru a activa rutarea pe stația F. +   Folosiți comanda {{{sysctl}}} și fișierul {{{/etc/sysctl.conf}}} pentru a activa rutarea pe stația **F**
-* Folosiți fișierul `/etc/network/interfacespentru a configura stația '''F''' ca ruter implicit pentru stația '''L'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura stația **F** ca ruter implicit pentru stația **L**
-* Folosiți fișierul `/etc/network/interfacespentru a configura stația '''F''' ca ruter implicit pentru stația '''D'''+   Folosiți fișierul {{{/etc/network/interfaces}}} pentru a configura stația **F** ca ruter implicit pentru stația **D**
-* Pe stația '''E''' folosiți fișierul `/etc/network/interfacespentru a adăuga o rută către rețeaua 6.7.7.0/24 cu next-hop stația '''F'''+   Pe stația **E** folosiți fișierul {{{/etc/network/interfaces}}} pentru a adăuga o rută către rețeaua 6.7.7.0/24 cu next-hop stația **F**
-* Testați conectivitatea între cele 4 stații folosind comanda `ping`. Stația '''E''' nu trebuie să aibă conectivitate cu stația '''L'''.+   Testați conectivitatea între cele 4 stații folosind comanda {{{ping}}}. Stația **E** nu trebuie să aibă conectivitate cu stația **L**.
  
-=== Configurarea firewall-ului ===+==== Configurarea firewall-ului ====
  
-==== Enunț ====+=== Enunț ===
  
-==== Pași ajutători ====+  *  Configurați firewall-ul (stația **F**) pentru a face SNAT pentru stația **L** în momentul accesării Internet-ului (stația **E**), dar nu și pentru accesul DMZ-ului (stației **D**). 
 +  *  Configurați pe firewall (stația **F**) reguli de filtrare astfel: 
 +    *  **E** -> **L**: se permite doar traficul de răspuns la cereri inițiate de **L** 
 +    *  **E** -> **D**: se permite doar SSH, SMTP, DNS, WWW și cereri de răspuns la cereri inițiate de **D** 
 +    *  **D** -> **E**: se permite orice trafic 
 +    *  **D** -> **L**: se permite doar traficul SSH și WWW și cereri de răspuns la cereri inițiate de **L** 
 +    *  **L** -> **D**: se permite orice trafic 
 +    *  **L** -> **E**: se permite orice trafic 
 +    *  de la firewall (**F**) poate pleca orice trafic către orice stație 
 +    *  către firewall (**F**) se permite doar trafic SSH și cereri de răspuns la cereri inițiate
  
-=== Configurarea DNS ===+=== Pași ajutători ===
  
-==== Enunț ====+  *  Folosiți iptables, tabela nat și lanțul POSTROUTING pentru configurarea SNAT. 
 +  *  Folosiți iptables, tabela filter și lanțul INPUT pentru a configura traficul către firewall. 
 +  *  Folosiți iptables, tabela filter și lanțul OUTPUT pentru a configura traficul de la firewall. 
 +  *  Folosiți iptables, tabela filter și lanțul FORWARD pentru a configura traficul rutat de firewall.
  
-==== Pași ajutători ====+==== Configurarea DNS ====
  
-=== Configurarea web ===+=== Enunț ===
  
-==== Enunț ====+Instalați și configurați Bind9 pe DMZ pentru a fi autoritar pe domeniul {{{example.com}}} și pentru a răspunde următoarelor cereri: 
 +  *  ns.example.com este serverul de nume pentru domeniul example.com 
 +  *  mail.example.com este serverul de e-mail pentru domeniul example.com 
 +  *  adresa de e-mail administratorului domeniului este nsmaster.example.com 
 +  *  ns.example.com are adresa 6.7.7.2 
 +  *  example.com are adresa 6.7.7.2 
 +  *  www.example.com este alias la example.com 
 +  *  test.example.com este alias la example.com 
 +  *  mail.example.com este alias la example.com 
 +  *  gw.example.com are adresa 6.7.8.9 
 +  *  fw.example.com este alias la gw.example.com 
 +Configurați serverul DNS pentru a fi autoritar pe domeniul {{{7.7.6.in-addr.arpa}}} și pentru a răspunde următoarelor cereri 
 +  *  ns.example.com este serverul de nume pentru domeniul 7.7.6.in-addr.arpa 
 +  *  adresa de e-mail administratorului domeniului este nsmaster.example.com 
 +  *  6.7.7.1 are numele fw.example.com 
 +  *  6.7.7.2 are numele ns.example.com
  
-==== Pași ajutători ====+=== Pași ajutători ===
  
-=== Configurarea e-mail ===+  *  Instalați pachetul {{{bind9}}}. 
 +  *  Verificați că serverul este pornit folosind {{{netstat}}} și inspectând portul {{{53}}}. 
 +  *  Folosiți fișierul {{{/etc/bind9/named.conf}}} configurați serverul ca fiind autoritar pe domeniile {{{example.com}}} și {{{7.7.6.in-addr.arpa}}}. 
 +  *  Creați fișierul {{{/etc/bind9/db.example.com}}} ca fișier de zonă pentru domeniul {{{example.com}}}. 
 +  *  Creați fișierul {{{/etc/bind9/db.7.7.6.in-addr.arpa}}} ca fișier de zonă pentru domeniul {{{7.7.6.in-addr.arpa}}}. 
 +  *  Reporniți serviciul DNS. 
 +  *  Verificați fișierul de log ({{{/var/log/daemon.log}}}) pentru erori. 
 +  *  Folosiți {{{host}}} pe stația **E** pentru a testa funcționarea serverului DNS.
  
-==== Enunț ====+==== Configurarea web ====
  
-==== Pași ajutători ====+=== Enunț ===
  
-=== Configurarea split-horizon DNS ===+Instalați și configurați pe DMZ serverul Apache2 pentru a răspunde următoarelor URL-uri: 
 +  *  http://www.example.com/ cu o pagină cu mesajul "This is Sparta!"; 
 +  *  http://test.example.com/ cu afișarea conținutului directorului {{{/usr/local/web/}}}. 
 +URL-urile de mai sus trebuie să răspundă și pentru portul {{{8080}}} (în afara portului implicit {{{80}}}).
  
-==== Enunț ====+=== Pași ajutători ===
  
-==== Pași ajutători ====+  *  Instalați pachetul {{{apache2}}}. 
 +  *  Folosiți fișierul {{{/etc/apache2/ports.conf}}} pentru a configura porturile pe care ascultă serverul. 
 +  *  Creațdouă fișiere de tip vhost în directorul {{{/etc/apache2/sites-available}}}: 
 +    *  o gazdă virtuală va răspunde cererilor pentru www.example.com; 
 +    *  o gazdă virtuală va răspunde cererilor pentru test.example.com; directorul rădăcină va fi {{{/usr/local/web/}}}. 
 +  *  Activați gazdele virtuale folosind {{{a2ensite}}}. 
 +  *  Reporniți serverul. 
 +  *  Testați serverul folosind {{{wget}}} de pe stația **E**. 
 +  *  Folosiți fișierele de jurnalizare {{{/var/log/apache2/}}} pentru a detecta problemele apărute.
  
-=== Configurarea proxy ===+==== Configurarea split-view DNS ====
  
-==== Enunț ====+=== Enunț ===
  
-==== Pași ajutători ====+Configurați {{http://www.knowplace.org/pages/howtos/split_view_with_bind_9_howto.php|split-view DNS}} pentru a răspunde diferit pentru cererile venite din rețeaua {{{10.0.0.0/24}}}. Pentru cererile sosite din rețeaua {{{10.0.0.0/24}}} pentru domeniul {{{example.com}}} serverul va răspunde astfel: 
 +  *  serverul de nume pentru domeniul example.com este ns.example.com 
 +  *  ns.example.com are adresa 6.7.7.1 
 +  *  adresa de e-mail a administratorului pentru domeniul example.com este nsmaster.example.com 
 +  *  server de e-mail pentru domeniul example.com este mail.example.com 
 +  *  mail.example.com are adresa 10.0.0.2 
 +  *  gw.example.com are adresa 10.0.0.1 
 +  *  fw.example.com este alias la gw.example.com 
 +În view-ul asociat rețelei {{{10.0.0.0/24}}}, serverul va fi autoritar pe domeniul {{{0.0.10.in-addr.arpa}}} și va răspunde cu următoarele informații: 
 +  *  serverul de nume pentru domeniul example.com este ns.example.com 
 +  *  ns.example.com are adresa 6.7.7.1 
 +  *  adresa de e-mail a administratorului pentru domeniul example.com este nsmaster.example.com 
 +  *  adresa 10.0.0.1 corespunde numelui gw.example.com 
 +  *  adresa 10.0.0.2 corespunde numelui mail.example.com 
 + 
 +=== Pași ajutători === 
 + 
 +  *  Folosiți informațiile de la {{http://www.knowplace.org/pages/howtos/split_view_with_bind_9_howto.php|următorul link}}. 
 +  *  În cadrul fișierul {{{/etc/bind9/named.conf}}} creați două view-uri ("internal" și "external") pentru cele două tipuri de solicitări. 
 +  *  Folosiți directiva {{{match-clients}}} pentru a face selecția între cele două view-uri. 
 +  *  Creați directoarele {{{/etc/bind9/internal/}}}, respectiv {{{/etc/bind9/external/}}} în care realizați configurările de zonă: 
 +    *  fișierele {{{/etc/bind9/internal/db.example.com}}} și {{{/etc/bind9/internal/db.0.0.10.in-addr.arpa}}} pentru view-ul intern; 
 +    *  fișierele {{{/etc/bind9/external/db.example.com}}} și {{{/etc/bind9/internal/db.7.7.6.in-addr.arpa}}} pentru view-ul extern. 
 +  *  Reporniți serverul DNS. 
 +  *  Verificați fișierul de log {{{/var/log/daemon.log}}} pentru probleme legate de funcționarea serverului. 
 +  *  Testați folosind {{{host}}} de pe stația **E**, respectiv stația **L**. 
 + 
 +==== Configurarea e-mail ==== 
 + 
 +=== Enunț === 
 + 
 +  *  Instalați pe DMZ Postfix ca {{http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall|SMTP gateway}}. Toate mesajele primite vor fi livrate către {{{10.0.0.2}}}. 
 +  *  Instalați pe stația **L** Postfix ca server SMTP. Mesajele primite vor fi livrate către căsuțe poștale de tip {{{Maildir}}} ale utilizatorilor. 
 +  *  Creați utilizatorii {{{sorina}}} și {{{traian}}} pentru a testa livrarea mesajelor. 
 + 
 +=== Pași ajutători === 
 + 
 +  *  Instalați pachetul {{{postfix}}} pe DMZ și stația **L**. 
 +  *  Pe stația DMZ, Postfix trebuie configurat ca {{http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall|SMTP gateway}} pentru domeniul {{{example.com}}}. 
 +    *  Folosiți directiva {{http://www.postfix.org/transport.5.html|transport_maps}} pentru a configura ca next-hop pentru e-mail stația {{{10.0.0.2}}}. 
 +  *  Pe stația **L** configurați Postfix ca server SMTP pentru domeniul {{{example.com}}}. 
 +  *  Mesajele livrate către domeniul {{{example.com}}} vor fi stocate în directoarele {{{Maildir}}} din home-urile utilizatorilor. 
 +  *  Pe stația **L**, folosiți {{{adduser}}} pentru a adăuga utilizatorii {{{sorina}}} și {{{traian}}}. 
 +  *  De pe stația **E**, folosiți {{{mailx}}} pentru a transmite mesaje către {{{sorina@example.com}}}, respectiv {{{traian@example.com}}}. Verificați livrarea mesajelor în directoarele {{{Maildir}}} din home-urile utilizatorilor. 
 + 
 +==== Configurarea proxy ==== 
 + 
 +=== Enunț === 
 + 
 +  *  Configurați Squid pe DMZ (stația **D**) pentru a acționa ca {{http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html|proxy transparent}} pentru cererile web venite din rețeaua {{{10.0.0.0/24}}}. 
 +  *  Configurați firewall-ul pentru ca cererile web venite din rețeaua {{{10.0.0.0/24}}} să fie redirectate către portul implicit al Squid ({{{3128}}}) de pe DMZ. 
 + 
 +=== Pași ajutători === 
 + 
 +  *  Instalați pachetul {{{squid}}} pe DMZ. 
 +  *  Configurați Squid ca {{http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html|proxy transparent}} prin editarea fișierului {{{/etc/squid/squid.conf}}}. 
 +  *  Folosiți {{{iptables}}}, lanțul {{{PREROUTING}}} și regula {{{DNAT}}} pentru a redirecta cererile web (portul {{{80}}}) venite din rețeaua {{{10.0.0.0/24}}} către portul Squid ({{{3128}}}) de pe DMZ. 
 +  *  Pentru testare folosiți {{{wget}}} pe stația **L**. Inspectați jurnalul Squid ({{{/var/log/squid/access.log}}}).
school/rl/labs/recapitulare.1252754064.txt.gz · Last modified: 2009/09/12 14:14 by razvan