Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

Enkle(?) iptables utføringer


Anbefalte innlegg

Hei!

 

Har skumlest diverse guider på iptables, blant annet denne. Men allikevel så synes jeg ikke jeg har blitt veldig kompetent med iptables, så spør derfor om enkel utføringer her.

 

*) Hvordan åpner jeg en enkel port inn? F.eks 21 eller 27015.

Slik jeg tror: iptables -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT

 

*) Hvordan stenger jeg en enkel port inn?

Slik jeg tror: iptables -A INPUT -p tcp --dport 25 -j REJECT

 

Men hvordan blir det når jeg skal åpne portere ut fra lokalnettet?

 

Takk for all hjelp. :)

Lenke til kommentar
Videoannonse
Annonse

merk at det er i hovedsak to filosofier:

 

du kan enten blokkeer alt og tillate spesifik trafikk

 

eller

 

du kan tillate alt og blokkere spesifik trafikk

 

 

hvis du blokkerer alt og tillater spesifik trafikk, gir det ikke mening å blokkere visse porter, de er allerede blokkert.

 

til dette bruker man som regel chain policy, man iptables, let opp -P switchen.

 

EDIT: denne posten bør vel fort som svindt over i linuxforumet ;)

Endret av Torbjørn
Lenke til kommentar
merk at det er i hovedsak to filosofier:

 

du kan enten blokkeer alt og tillate spesifik trafikk

 

eller

 

du kan tillate alt og blokkere spesifik trafikk

 

 

hvis du blokkerer alt og tillater spesifik trafikk, gir det ikke mening å blokkere visse porter, de er allerede blokkert.

 

til dette bruker man som regel chain policy, man iptables, let opp -P switchen.

 

EDIT: denne posten bør vel fort som svindt over i linuxforumet ;)

Det å sperre alt blir vel kanskje noe slikt:

 

iptalbes -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

iptables -F -t nat

iptables -F -t filter

iptables -X

Lenke til kommentar
jepp, du er inne på det.

 

etter de linjene kan du begynne å åpne opp for det du ønsker å tillate.

 

husk at du også må tillate tcp forbindelser som er ESTABLISHED eller RELATED,

Ok - men web er oppe vel? Jeg blir ikke helt sperret inne så jeg ikke får tilgang til informasjon og slikt?

 

Hva mente du med det siste du sa? ESTABLISHED eller RELATED ? Kan du gi et eksempel?

Lenke til kommentar

de linjene du pastet sperre for all form for nettrafikk, både ut og inn.

 

det er vanlig å legge accept på OUTPUT med riktig destinasjonsnett

 

er din boks en ruter?

 

for å åpne for web må du åpne opp port 80, slik:

 

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

 

det vil akseptere nye forbindelser på port 80.

 

hvis man er hakket mer paranoid, sjekker man tilstanden til forbindelsen, dvs state.

 

da kommer ESTABLISEH og RELATED inn i bildet.

 

du kan da begrense deg til kun å åpne for trafikk som allerede er initert på korrekt vis. i form av en tcp syn pakke.

Lenke til kommentar
de linjene du pastet sperre for all form for nettrafikk, både ut og inn.

 

det er vanlig å legge accept på OUTPUT med riktig destinasjonsnett

 

er din boks en ruter?

 

for å åpne for web må du åpne opp port 80, slik:

 

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

 

det vil akseptere nye forbindelser på port 80.

 

hvis man er hakket mer paranoid, sjekker man tilstanden til forbindelsen, dvs state.

 

da kommer ESTABLISEH og RELATED inn i bildet.

 

du kan da begrense deg til kun å åpne for trafikk som allerede er initert på korrekt vis. i form av en tcp syn pakke.

Ok, da begynner jeg å fatte det.

 

Min boks er en ruter ja - blir det mye anderledes da?

Lenke til kommentar

ja, du vil gjerne ikke sperre for de anre maskinene som skal ut.

 

du kan f.eks åpne FORWARD chain slik jeg anbefalte, dvs åpne for alt som kommer inn på lokalt interface og som går på forward chain

 

videre trenger du muligens NAT, litt avhengig av hvordan nettet ser ut

Endret av Torbjørn
Lenke til kommentar
de linjene du pastet sperre for all form for nettrafikk, både ut og inn.

 

det er vanlig å legge accept på OUTPUT med riktig destinasjonsnett

 

er din boks en ruter?

 

for å åpne for web må du åpne opp port 80, slik:

 

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

 

det vil akseptere nye forbindelser på port 80.

 

hvis man er hakket mer paranoid, sjekker man tilstanden til forbindelsen, dvs state.

 

da kommer ESTABLISEH og RELATED inn i bildet.

 

du kan da begrense deg til kun å åpne for trafikk som allerede er initert på korrekt vis. i form av en tcp syn pakke.

Et spørsmål på denne. Når jeg skal åpne opp for HTTP inn, hvorfor blir det

iptables -A INPUT -p tcp --dport 80 -j ACCEPT og ikke iptables -I INPUT -p tcp --dport 80 -j ACCEPT ?

Lenke til kommentar

Det er ganske innlysende... gjør du i det hele tatt noe med de manualreferansene jeg foreslår for deg?

 

fra man iptables:

       -A, --append chain rule-specification
             Append one or more rules to the end of the selected chain.  When
             the source and/or destination names resolve  to  more  than  one
             address, a rule will be added for each possible address combina-
             tion.

             [...]

      -I, --insert chain [rulenum] rule-specification
             Insert one or more rules in the selected chain as the given rule
             number.  So, if the rule number is 1,  the  rule  or  rules  are
             inserted  at the head of the chain.  This is also the default if
             no rule number is specified.


Lenke til kommentar
Det er ganske innlysende... gjør du i det hele tatt noe med de manualreferansene jeg foreslår for deg?

 

fra man iptables:

       -A, --append chain rule-specification
             Append one or more rules to the end of the selected chain.  When
             the source and/or destination names resolve  to  more  than  one
             address, a rule will be added for each possible address combina-
             tion.

             [...]

      -I, --insert chain [rulenum] rule-specification
             Insert one or more rules in the selected chain as the given rule
             number.  So, if the rule number is 1,  the  rule  or  rules  are
             inserted  at the head of the chain.  This is also the default if
             no rule number is specified.


Jo, jeg har lest igjennom den - men jeg skjønner ikke helt forskjellen på -A og -I.

Hva menes egentlig med Append?

Lenke til kommentar
ok,

 

"append" er "legge til på slutten",

 

"insert" er "sette inn på angitt plass, default 1"

 

dvs, iptables -I INPUT ... vil overskrive hva enn som ligger som regel nr 1

Ok, takk!

 

Men da spiller det vel forsåvidt ingen rolle om jeg bruker -A hele tiden?

 

Er dette en begynnelse?

 

#!/bin/sh

 

# klargjor

iptables -F

iptables -F -t nat

 

# gi andre maskiner tilgang

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

 

# sperr alt inngaende

iptables -P INPUT DROP

 

# aapne for alt utgaende

iptables -P OUTPUT ACCEPT

 

# aapne for denne maskinen

iptables -A INPUT -i eth0 -j ACCEPT

iptables -A INPUT -i eth1 -j ACCEPT

iptables -A INPUT -i ppp0 -j ACCEPT

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

 

# ssh

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

Lenke til kommentar

et par kommentarer:

 

du setter din ruter vidåpen for alle, ønsker du det?

iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i ppp0 -j ACCEPT

 

du ser ikke ut til å ha gjort nor med FORWARD chain, det er vel greit å gjøre siden du har en ruter her?

 

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

denne overskriver det du allerede har som første linje i din INPUT chain, ønsker du det? vet du hva det er du allerede har der?

 

her har du et eksempel på en firewall jeg har satt opp for en mindre bedrift. Litt spesielt siden den allerede står bak en ruter, men linux ruteren er satt som default server for alt fra utsiden.

 

http://torbjorn.dyndns.org/rc.firewall.html

 

den har også et åpent trådløst nett for gjester som skjermes fra lokalnettet, dette skjer via nett 192.168.2.0 og eth2, det kan du se bort fra.

Lenke til kommentar

Jaok, jeg ante egentlig det, at jeg åpnet for alt - men hvis jeg ikke gjør det så får ikke ruteren kontakt med noen fra seg selv. Men er ikke det litt rart når jeg har satt iptables -P OUTPUT ACCEPT ?

 

Er det noe annet jeg må kjøre for at også ruteren skal "være på nett" ?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...