Gå til innhold

Problem med vsftpd og iptables...


Anbefalte innlegg

Hei.

Jeg driver her å setter opp en ftp-server her...

Det har fungerte helt topp helt til jeg skulle sette opp noen enkle iptables-regler for boksen.

Da får jeg plutselig ikke opp filnavnene når jeg kobler til servern.

Dette er iptables reglene jeg bruker:

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p udp --dport 20 -j ACCEPT

Når jeg tar nmap localhost på serveren så får jeg dette outputet:

Interesting ports on localhost (127.0.0.1):
(The 1664 ports scanned but not shown below are in state: filtered)
PORT    STATE  SERVICE
20/tcp  closed ftp-data
21/tcp  open   ftp
80/tcp  open   http

Kan egentlig ikke skjønne at 20 er stengt, siden jeg har spesifikkt åpnet for den...

Jeg har også modprobet ip_conntrack_ftp modulet, men det hjelper heller ikke...

 

Noen som har vært borti noe av det samme?

Lenke til kommentar
Videoannonse
Annonse

Med drop som INPUT policy vil ikke systemet godta svar på egne oppkoblinger. Det vil si, pakken du sender til port 21 blir godtatt, men svaret (som kommer tilbake på en annen port) blir bare droppet.

 

Legg til følgende:

 

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

 

For å kunne feilsøke sånne ting lettere bør du ha dette som siste regel i INPUT:

 

iptables -A INPUT -j LOG --log-prefix 'ikke-tillatt-input-trafikk ' --log-tcp-sequence --log-tcp-options --log-ip-options

 

Da kan du lett se i loggen din når noe ikke blir akseptert.

Endret av arokh
Lenke til kommentar

arokh: jeg kan ikke se at din forklaring er relatert til det han rapporterer - det vil rikgit nok bøte på hans framtidige problem med ftp, men en pakke som droppes vil f.eks aldri gi "closed", hans pakke blir rejected, mao er port 20 åpen. det er bare ikke noe som lytter.

 

det han observerer, er at det ingenting lytter på port 20, og det er aldeles riktig, det vil ikke komme noe her, før en active ftp-oppkobling skal ha data sendt til seg, da vil port 20 på serveren stå å ta i mot tcp ack.

 

EDIT: Jorek, kontrollspørsmål til deg; hvis du fjerner iptables setningen som åpner port 20, vil du se at ftp fungerer likevel, forstår du hvorfor?

Endret av Torbjørn
Lenke til kommentar

Fordi da har jeg allerede lagt til regelen:

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

Som gjør at all trafikk som er relatert med den som allerede er etablert, aksepteres.

Så når jeg starter en FTP session på port 21, så vil automatisk port 20 åpnes når det skal overføres data siden oveføringen av data på port 20 er relatert til FTP sessionen på port 21, kanskje? :hmm:

Lenke til kommentar
arokh: jeg kan ikke se at din forklaring er relatert til det han rapporterer - det vil rikgit nok bøte på hans framtidige problem med ftp, men en pakke som droppes vil f.eks aldri gi "closed", hans pakke blir rejected, mao er port 20 åpen. det er bare ikke noe som lytter.

 

Stemmer det. Leste ikke engang igjennom posten hans, men som du sier så hadde han fått andre problemer med de reglene uansett.

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å
×
×
  • Opprett ny...