Tulemüüri labor: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Lvosandi (talk | contribs)
No edit summary
Taliiv (talk | contribs)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
=Legend=
=Legend=
Tuleb installeerida tulemüür kus tuleb lubada veebiserver, Open SSH ja Samba.
Tuleb installeerida tulemüür kus tuleb lubada veebiserver, Open SSH ja Samba.
Tulemüür peaks rakenduma arvuti alglaadimisel.
Tulemüür peaks rakenduma arvuti alglaadimisel. Labor/juhend töötab Linux Ubuntu versioonidega 10.04 ja 10.10.




=Installeerimine=
=Installeerimine=
Alguses minna juurkasutajaks  
Alguses minna juurkasutajaks  
<pre>
 
<source lang="bash">
sudo -i
sudo -i
</pre>
</source>
Veebiserveri lubamiseks:
Veebiserveri lubamiseks:


  iptables -I INPUT -p tcp --dport 80 -j ACCEPT
<source lang="bash">
 
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
</source>
Turvatud veebiserveri jaoks:
Turvatud veebiserveri jaoks:
  iptables -I INPUT -p tcp --dport 443 -j ACCEPT
<source lang="bash">
 
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
</source>
SSH lubamiseks:
SSH lubamiseks:
  iptables -I INPUT -p tcp --dport 22 -j ACCEPT
<source lang="bash">
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
</source>




Täpsemalt peab lubama järgnevad pordid Samba jaoks:


Täpsemalt peab lubama järgnevad pordid Samba jaoks:
<source lang="bash">
  iptables -I INPUT -p tcp --dport 445 -j ACCEPT // TCP 445
# TCP 445
  iptables -I INPUT -p tcp --dport 139 -j ACCEPT // TCP 139
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
  iptables -I INPUT -p udp --dport 138 -j ACCEPT // UDP 138
# TCP 139
  iptables -I INPUT -p udp --dport 137 -j ACCEPT // UDP 137
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
# UDP 138
iptables -I INPUT -p udp --dport 138 -j ACCEPT
# UDP 137
iptables -I INPUT -p udp --dport 137 -j ACCEPT
</source>


Keelatakse INPUTi liiklus, kui konkreetseid reegleid pole seatud
Keelatakse INPUTi liiklus, kui konkreetseid reegleid pole seatud
<source lang="bash">
iptables -P INPUT DROP
</source>
Selleks et väljaminevate ühenduste jaoks tagasi tulnud pakette ka lubataks peab tegema nii:
<source lang="bash">
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
</source>
Muidugi on alati tervislik lubada localhost õue:
<source lang="bash">
iptables -A OUTPUT -o lo -j ACCEPT
</source>
=Reeglite järjekord=
IPTABLES'i seadistamisel tuleb rangelt kinni pidada reeglite järjekorrast, reegleid loetakse ülevalt alla ning sobiva reegli leidmisel rohkem edasi ei kontrollita, näiteks, kui tulemüüriseadistuses on esimene rida mis lubab sisse kõiki ühendusi, ei hakata edasi üldse vaatama, ning kõik ühendused lubatakse olenemata võimalikest järgnevatest keelavatest reeglitest.
  iptables -I INPUT 1 -i lo -j ACCEPT
Seadistuste tegemisel on hea teada mida teevad -I ja -A võtmed iptables käsu järel.


  iptables -P INPUT DROP
*-A käsk lisatakse viimaseks reegliks


*-I käsk lisatakse kindlale kasutaja poolt määratud reale
  iptables -I INPUT 5 -i lo -j ACCEPT
Lisab käsu INPUT CHAIN'i 5. reegliks, ehk kui enne 5. reeglit pole ühtegi keelavat reeglit, on kõik sissetulevad ühendused lubatud.
Kui jätta määramata reegli rea number, pannakse reegel esimeseks.
=Teenuse portide leidmine=
NB! Suvalise teenuse pordid saad kindlaks teha netstat abil:
NB! Suvalise teenuse pordid saad kindlaks teha netstat abil:


  sudo /etc/init.d/samba stop && \
<source lang="bash">
  netstat -lnut > /tmp/before && \
sudo /etc/init.d/smbd stop && \
  sudo /etc/init.d/samba start && \
netstat -lnut > /tmp/before && \
  netstat -lnut > /tmp/after && \
sudo /etc/init.d/smbd start && \
  diff -u /tmp/before /tmp/after
netstat -lnut > /tmp/after && \
diff -u /tmp/before /tmp/after
</source>


  * Stopping Samba daemons    [ OK ]
  * Stopping Samba daemons    [ OK ]
Line 103: Line 144:


Testimiseks tee reboot ja vaata järmise käsuga kas reeglid on olemas : <pre>iptables -L </pre>  
Testimiseks tee reboot ja vaata järmise käsuga kas reeglid on olemas : <pre>iptables -L </pre>  
==Iptables resettimine==
Selleks, et resettida iptables algsätedele
<pre>
iptables --policy INPUT  ACCEPT
iptables --policy OUTPUT  ACCEPT
iptables --policy FORWARD ACCEPT
iptables -Z
iptables -F
iptables -X
</pre>


=Edasijõudnutele=
=Edasijõudnutele=
Siin leiab veel huvitavaid ridu:
Siin leiab veel huvitavaid ridu:


http://v6sa.itcollege.ee/shared/puv/cn2k9/#point6
http://ubuntuforums.org/showthread.php?t=159661 - väga põhjalik juhend [Beginners edition]
 
http://enos.itcollege.ee/~mernits/infrastruktuur/loeng07%20-%20iptables.pdf - tulemüüri loengumaterjal
 
https://help.ubuntu.com/community/IptablesHowTo - ametlik juhend


http://ubuntuforums.org/showthread.php?t=668148 - pisut huvitavamate reeglite tegemiseks [Advanced user only]
[[Category:IT infrastruktuuri teenused]]
[[Category:IT infrastruktuuri teenused]]

Latest revision as of 15:08, 27 February 2012

Legend

Tuleb installeerida tulemüür kus tuleb lubada veebiserver, Open SSH ja Samba. Tulemüür peaks rakenduma arvuti alglaadimisel. Labor/juhend töötab Linux Ubuntu versioonidega 10.04 ja 10.10.


Installeerimine

Alguses minna juurkasutajaks

sudo -i

Veebiserveri lubamiseks:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Turvatud veebiserveri jaoks:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT

SSH lubamiseks:

iptables -I INPUT -p tcp --dport 22 -j ACCEPT


Täpsemalt peab lubama järgnevad pordid Samba jaoks:

# TCP 445
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
# TCP 139
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
# UDP 138
iptables -I INPUT -p udp --dport 138 -j ACCEPT
# UDP 137
iptables -I INPUT -p udp --dport 137 -j ACCEPT

Keelatakse INPUTi liiklus, kui konkreetseid reegleid pole seatud

iptables -P INPUT DROP

Selleks et väljaminevate ühenduste jaoks tagasi tulnud pakette ka lubataks peab tegema nii:

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

Muidugi on alati tervislik lubada localhost õue:

iptables -A OUTPUT -o lo -j ACCEPT

Reeglite järjekord

IPTABLES'i seadistamisel tuleb rangelt kinni pidada reeglite järjekorrast, reegleid loetakse ülevalt alla ning sobiva reegli leidmisel rohkem edasi ei kontrollita, näiteks, kui tulemüüriseadistuses on esimene rida mis lubab sisse kõiki ühendusi, ei hakata edasi üldse vaatama, ning kõik ühendused lubatakse olenemata võimalikest järgnevatest keelavatest reeglitest.

 iptables -I INPUT 1 -i lo -j ACCEPT

Seadistuste tegemisel on hea teada mida teevad -I ja -A võtmed iptables käsu järel.

  • -A käsk lisatakse viimaseks reegliks
  • -I käsk lisatakse kindlale kasutaja poolt määratud reale
 iptables -I INPUT 5 -i lo -j ACCEPT

Lisab käsu INPUT CHAIN'i 5. reegliks, ehk kui enne 5. reeglit pole ühtegi keelavat reeglit, on kõik sissetulevad ühendused lubatud.

Kui jätta määramata reegli rea number, pannakse reegel esimeseks.



Teenuse portide leidmine

NB! Suvalise teenuse pordid saad kindlaks teha netstat abil:

sudo /etc/init.d/smbd stop && \
netstat -lnut > /tmp/before && \
sudo /etc/init.d/smbd start && \
netstat -lnut > /tmp/after && \
diff -u /tmp/before /tmp/after
* Stopping Samba daemons     [ OK ]
* Starting Samba daemons     [ OK ]
 --- /tmp/before 2009-10-26 14:34:08.461610086 +0200
 +++ /tmp/after  2009-10-26 14:34:08.533616024 +0200
 @@ -1,7 +1,13 @@
  Aktiivsed internetiühendused (ainult serverid)
  Proto  VvJrk SaatJrk Kohalik aadress        Väline aadress          Olek
  tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
 +tcp6       0      0 :::445                  :::*                    LISTEN
 +tcp6       0      0 :::139                  :::*                    LISTEN
  tcp6       0      0 ::1:631                 :::*                    LISTEN
  udp        0      0 0.0.0.0:5353            0.0.0.0:*
 +udp        0      0 192.168.1.165:137       0.0.0.0:*
 +udp        0      0 0.0.0.0:137             0.0.0.0:*
 +udp        0      0 192.168.1.165:138       0.0.0.0:*
 +udp        0      0 0.0.0.0:138             0.0.0.0:*
  udp        0      0 0.0.0.0:57873           0.0.0.0:*
  udp        0      0 0.0.0.0:68              0.0.0.0:*

Kus plussiga on märgitud pordid mis lisandusid.

IPTABLES reeglite salvestamine ja taastamine

Salvestamine

Selleks, et reegleid salvestada, tuleb alguses luua koht kuhu neid reegleid salvestada

Näiteks:

 mkdir /etc/iptables

Salvestamiseks endaks tuleb sisestada käsk :

iptables-save > /etc/iptables/iptables.conf

Fail kuhu reeglid salvestadakse ei pea olema iptables.conf

Taastamine

Taastamiseks (failist mis sa varem oled salvestanud) tuleb siestada järgmine käsk:

iptables-restore < /etc/iptables/iptables.conf

Taastamine alglaadmisel

Selleks, et taastada iptables reeglis alglaadimisel, tuleb muuta /etc/network/interfaces faili

Ava fail

nano /etc/network/interfaces 

ning lisa faili lõppu järgmine rida :

pre-up iptables-restore < /etc/iptables/iptables.conf

Testimiseks tee reboot ja vaata järmise käsuga kas reeglid on olemas :

iptables -L 

Iptables resettimine

Selleks, et resettida iptables algsätedele

iptables --policy INPUT   ACCEPT
iptables --policy OUTPUT  ACCEPT
iptables --policy FORWARD ACCEPT

iptables -Z
iptables -F
iptables -X

Edasijõudnutele

Siin leiab veel huvitavaid ridu:

http://ubuntuforums.org/showthread.php?t=159661 - väga põhjalik juhend [Beginners edition]

http://enos.itcollege.ee/~mernits/infrastruktuur/loeng07%20-%20iptables.pdf - tulemüüri loengumaterjal

https://help.ubuntu.com/community/IptablesHowTo - ametlik juhend

http://ubuntuforums.org/showthread.php?t=668148 - pisut huvitavamate reeglite tegemiseks [Advanced user only]