LarsM Skrevet 14. november 2005 Del Skrevet 14. november 2005 Hei! Etter å ha lest flere sample scripts, og skummet noen guider, har jeg skrevet mitt eget ganske enkle script for bruk sammen med iptables. Problemet er at det tilsynelatende er for strengt og lar ikke tilkoblinger via SSH utenfra slippe gjennom. Noen idé angående hva dette skyldes? #!/bin/sh # Setting variables echo " Setting variables... " IPTABLES=/sbin/iptables EXTIF=eth1 INTIF=eth0 INTRNG=192.168.1.0/24 UNIVERSE=0/0 # Delete existing rules echo " Deleting existing rules... " $IPTABLES -X # Configure default policies echo " Setting default policies... " $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT ACCEPT # Flush all rules echo " Flushing all rules... " $IPTABLES -F INPUT $IPTABLES -F FORWARD $IPTABLES -F OUTPUT $IPTABLES -F -t nat # Rules # Forward packets from INTIF to EXTIF echo " Setting specified rules... " $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT # Forward packets that are a part of an existing or related connection $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT # Permit packages to the firewall that are existing or related $IPTABLES -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow inputs to the firewall from all internal network interfaces $IPTABLES -A INPUT -i $INTIF -s $UNIVERSE -d $UNIVERSE -j ACCEPT $IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT # Enable masquerading $IPTABLES -A POSTROUTING -t nat -o $EXTIF -j MASQUERADE # Catch ip spoofers $IPTABLES -A INPUT -i $EXTIF -s $INTRNG -j DROP $IPTABLES -A INPUT -i $EXTIF -s 127.0.0.1/8 -j DROP # Accept tcp packets on desired ports $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT # Answer to ping queries $IPTABLES -A INPUT -p icmp -j ACCEPT # DHCP server $IPTABLES -A INPUT -i $INTIF -p tcp --sport 68 --dport 67 -j ACCEPT $IPTABLES -A INPUT -i $INTIF -p udp --sport 68 --dport 67 -j ACCEPT # Deny everything we haven't specified $IPTABLES -A INPUT -s $UNIVERSE -d $UNIVERSE -p udp -j DROP $IPTABLES -A INPUT -s $UNIVERSE -d $UNIVERSE -p tcp -j DROP echo " Done loading firewall rules... " eth0 er interfacet mot det lokale nettet, samt der DHCP-tjeneren kjøres, mens eth1 er eksponert ut og innehaver av IP-en SSH-tilkoblingen skal skje mot. I tillegg kan jeg nevne at boksen min heller ikke svarer på ping requests utenfra, noe jeg også ikke er helt sikker på hvorfor den ikke gjør. Lenke til kommentar
Bøb Skrevet 14. november 2005 Del Skrevet 14. november 2005 Enkelt forklart (er trøtt og bør legge meg), så har du reglene i feil rekkefølge. Alt som kommer inn blir, per det scriptet, droppet med mindre det hører til en connection du allerede har laget, og vil ikke bli evaluert i takt med dine etterfølgende regler (for å tillate ICMP og ssh). Du må sette alt du har lyst til å la slippe igjennom over linjen over denne: $IPTABLES -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT Forøvrig er det ikke noe vits i å sette alt til DROP på bunnen der, du har satt det som default policy for INPUT Lenke til kommentar
LarsM Skrevet 15. november 2005 Forfatter Del Skrevet 15. november 2005 Enkelt forklart (er trøtt og bør legge meg), så har du reglene i feil rekkefølge. Alt som kommer inn blir, per det scriptet, droppet med mindre det hører til en connection du allerede har laget, og vil ikke bli evaluert i takt med dine etterfølgende regler (for å tillate ICMP og ssh).Du må sette alt du har lyst til å la slippe igjennom over linjen over denne: $IPTABLES -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT Forøvrig er det ikke noe vits i å sette alt til DROP på bunnen der, du har satt det som default policy for INPUT 5155812[/snapback] Dessverre, men situasjonen er den samme. Bare som en test, så satte jeg nå POLICY på INPUT til ACCEPT, men uten hell. Det later til at det ikke er iptables som sperrer for tilkoblinger. Kan det være routeren mellom Internett og tjeneren? Sistnevnte er satt som DMZ og mottar den offentlige IP-en som den stod rett ut mot nettet. Routeren er levert av NGT og av typen Speedtouch 516. Lenke til kommentar
Bøb Skrevet 15. november 2005 Del Skrevet 15. november 2005 Slik du forklarer det så regner jeg med at du ikke trenger å styre med NAT og portforwarding på routern, men du er nødt til å åpne for ssh i filtersettet - det er egentlig like greit å åpne for alt annet enn 23 (eller nå hvilken port som blir brukt til konfigurasjon av routern). Som siste utvei kan du se hva iptables -L sier, og prøve firewallen med en side som portscanner. Shields Up! pleier å virke Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå