Vraag IPTables staan ​​alleen localhost-toegang toe


Ik heb in de loop der jaren moeite gehad om een ​​goed begrip te krijgen van iptables. Elke keer als ik probeer de manpagina's te lezen, beginnen mijn ogen te glazuren.

Ik heb een service die ik alleen wil toestaan ​​dat de localhost toegang heeft.

Welke termen (of configuratie, als iemand genereus is) moet ik Google toestaan ​​om alleen localhost-host toegang te geven tot een bepaalde poort?


48
2018-03-14 14:37


oorsprong


Op welke poort wordt deze service uitgevoerd? - Bart De Vos
44344, het is een interne service - iptablessuck
Ik wil mijn nick tijdelijk veranderen voor 'iptablesrules', maar dat kan ik niet - Art Shayderov
@Art, ze zuigen alleen omdat ik ze niet begrijp :) - iptablessuck
@iptablessuck eigenlijk lijkt het erop dat ik het kan. Maar ik zal niet veroorzaken dat ik niet zeker weet of ik het terug kan veranderen :) - Art Shayderov


antwoorden:


Als u bij service een specifieke poort bedoelt, zouden de volgende twee regels moeten werken. Verander de "25" in welke poort u probeert te beperken.

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

57
2018-03-14 14:47



"Alles afkomstig van localhost naar poort 25, accepteer" en de tweede regel zegt "Laat alles wat in poort 25 komt vallen". De eerste regel wordt eerst verwerkt, waardoor localhost mogelijk is en al het andere wordt door de tweede regel verwijderd. Ja? - iptablessuck
Dat is correct! - Hyppy
@Hyppy, hoe zou je dit "ongedaan maken"? - tester
@tester typ die commando's opnieuw, maar vervang ze -A met -D - pepoluan
@Astronaut type 'sudo service iptables save' om de wijzigingen op te slaan. start vervolgens opnieuw op. je kunt controleren of wijzigingen zijn opgeslagen door 'sudo iptables -L' te typen - Vinayak


Ik zou aanbevelen:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

Omdat zelf-geadresseerde pakketten niet noodzakelijk 127.0.0.1 als bron hebben, maar ze allemaal 'binnenkomen' vanuit de lo interface.

Nu, als u werkelijk wil begrijpen iptables het eerste dat u zou moeten doen, is goede diagrammen downloaden en afdrukken met uitleg over de relaties van de netfilter tafels. Hier zijn twee geweldige:

Eindelijk, lees veel iptables HOWTO's. De praktische voorbeelden zouden u helpen om echt snel op de hoogte te zijn :)


26
2018-03-14 16:43



ty! lo verschijnt voor mij na het gebruik van deze commando's met de laatste opdracht van deze link cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules  iptables -L -v -n --line-numbers
@ Gracchus Ik vind het veel gemakkelijker om te gebruiken iptables-save , sla de uitvoer op in een bestand, bewerk deze met vim of emacsen importeer het bewerkte bestand opnieuw met iptables-apply - pepoluan
Ik denk dat, afhankelijk van het gebruik, de tweede regel expliciet moet worden afgewezen in plaats van stil te laten vallen. Is het stil gelaten als best practice? Is REJECT veilig om te gebruiken? - Mr. Doomsbuster
@ tech-pro Ja, REJECT is veilig in gebruik. Het hangt af van wat u probeert te bereiken en of u hoffelijk wilt zijn tegenover mensen die de poort proberen te gebruiken. REJECT zal een TCP RST-pakket terugsturen dat de klant vertelt dat de machine in de lucht is maar de poort is gesloten. Als je een poort sluit waarvan mensen mogen verwachten dat ze ze gebruiken, is REJECT goed. Als u alleen poortscanners verwacht, is DROP beter. - Law29
Ik had een webserver die op de poort draaide en die ik alleen via een lokale host wil kunnen gebruiken. In een ander om iemand onmiddellijk te ontkennen via de browser, dacht ik dat REJECT misschien beter zou zijn. Als de browser is verwijderd, blijft de browser hangen totdat de time-out optreedt. Is verwerpen zinvol in deze use case? - Mr. Doomsbuster