Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: [iptable] Ports vom loggen ausschließen

  1. #1
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372

    [iptable] Ports vom loggen ausschließen

    hi

    wie kann ich bestimmte Ports vom Loggen ausschließen ?

    MFG
    xmarvel

  2. #2
    Premium Pils
    Registriert seit
    May 2001
    Ort
    Berlin
    Beiträge
    665
    ! Portnummer


    sollte funktionieren

    btw. Arbeitest Du mit multiports?

  3. #3
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    @ linuxhanz

    kannst du mal ein Beispiel machen ?
    und ich arbeite ohne multiports

  4. #4
    Premium Pils
    Registriert seit
    May 2001
    Ort
    Berlin
    Beiträge
    665
    klar!


    geklaut aus der CT:


    Code:
    iptables -N meineserver_tcp
    iptables -A meineserver_tcp -p tcp --tcp-flags ALL SYN -j LOG
    iptables -A meineserver_tcp -p tcp -j ACCEPT
    #bei vollem betrieb
    iptables -A INPUT -m multiport -p tcp --dport 21,25,1000,80,110,113,137,138,139,389,443,3128,20011 -j meineserver_tcp
    
    ## paranoia
    #iptables -A INPUT -m multiport -p tcp --dport 1000,80,20011 -j meineserver_tcp
    iptables -A meineserver_tcp -p tcp -j LOG
    iptables -N meineserver_udp
    iptables -A meineserver_udp -p udp  -j LOG
    iptables -A meineserver_udp -p udp -j ACCEPT
    iptables -A INPUT -m multiport -p udp --dport 123,3130,3401,4827 -j meineserver_udp
    
    
    Eine Regel aus einem IPCHAINS Skript mit ! :
    
    $IPC -A  output -i $EXT -s !$LOCALIP          -j REJECT
    Geändert von linuxhanz (28.02.03 um 15:53 Uhr)

  5. #5
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    ähm ich seh nichts wo er einzelne Ports ausschließt

  6. #6
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    @xmarvel

    es gibt mehrere möglichkeiten

    iptables -A MY_REJECT -p tcp --dport ! 4662 -j LOG --log-prefix "REJECT TCP "

    mit ! 4662 gibst du z.b. an, das alles was tcp ist, gelogt werden soll, ausgenommen hierbei port 4662. der nachteil hierbei, du kannst nicht multiport nutzen. es ist also nur ein port möglich

    in meinem script hab ich(besser gesagt Jinto) es etwas anders gelöst

    hier ein auszug

    #--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    # DROP & LOG CHAIN
    #--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    # MY_LOG
    #_______________

    $ipt -N MY_LOG
    $ipt -A MY_LOG -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
    $ipt -A MY_LOG -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
    $ipt -A MY_LOG -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "


    # MY_REJECT-Chain
    # MY_REJECT fuellen
    #------------------------

    $ipt -N MY_REJECT
    $ipt -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
    $ipt -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
    $ipt -A MY_REJECT -p icmp -j DROP
    $ipt -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
    $ipt -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

    # MY_LOGREJECT
    #------------------------

    $ipt -N MY_LOGREJECT
    $ipt -A MY_LOGREJECT -j MY_LOG
    $ipt -A MY_LOGREJECT -j MY_REJECT

    # vom loggen ausschließen
    #------------------------------

    $ipt -A INPUT -p TCP --dport 4661:4665 -j MY_REJECT # edonkey Anfragen vom Logging ausschliessen
    $ipt -A INPUT -p UDP --dport 4665 -j MY_REJECT # edonkey Anfragen vom Logging ausschliessen
    $ipt -A INPUT -p UDP --dport 137 -j MY_REJECT # Netbios nicht loggen
    $ipt -A INPUT -p UDP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
    $ipt -A INPUT -p TCP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
    $ipt -A INPUT -p UDP --dport 6970 -j MY_REJECT # udp vom realplayer nicht loggen


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  7. #7
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    @HangLoose

    da im Script auch noch andere Sachen drin hast. Versuch ich mal das rauszunehmen was gebraucht wird

    Code:
    iptables -N OWN_LOG
    iptables -A OWN_LOG -j LOG --log-prefix="unbekanntes Paket: "
    
    iptables -A INPUT -i ppp0 --dport 4000 -j OWN_LOG
    iptables -A INPUT -i ppp0 --dport 23 -j OWN_LOG
    So würde er 4000 und 23 nicht mitloggen (wenn nicht dann habe ich das falsch verstanden) ?
    Und noch eine Frage nach deiner (und meiner) Reihenfolge würde er doch zuerst alles loggen da ja die Regel:
    Code:
    iptables -A OWN_LOG -j LOG --log-prefix="unbekanntes Paket: "
    vor den nicht mitgeloggten Ports kommt

  8. #8
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    hi

    So würde er 4000 und 23 nicht mitloggen (wenn nicht dann habe ich das falsch verstanden) ?
    so würde er nur anfragen an die beiden ports loggen. wenn du sie auschließen willst, mußt du sie mit einem ! negieren.

    iptables -A INPUT -i ppp0 --dport !4000 -j OWN_LOG


    Und noch eine Frage nach deiner (und meiner) Reihenfolge würde er doch zuerst alles loggen da ja die Regel:
    mit dieser zeile, besser gesagt mit den beiden

    iptables -N OWN_LOG
    iptables -A OWN_LOG -j LOG --log-prefix="unbekanntes Paket: "

    *erzeugst* du eine userdefinierte regelkette, da wird noch nichts gelogt. erst mit der folgenden zeile

    iptables -A INPUT -i ppp0 --dport 4000 -j OWN_LOG

    wenn in der inputchain ein paket mit dport 4000 eintrifft, *schicke* dieses an die userdef. regelkette OWN_LOG (-j OWN_LOG). in der wird dann entschieden, was damit passieren soll. mämlich loggen mit prefix "unbekanntes paket"


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  9. #9
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    bei deinem Script ist doch auch nichts negiert ? Dann schließt das bei dir doch auch nichts aus

    und wenn ich den ersten Port negiere. Dann würde doch die zweite Regel nicht zutreffen da ja dann schon die erste Regel zutrifft.
    Ausser man macht es mit multiports

  10. #10
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    bei deinem Script ist doch auch nichts negiert ? Dann schließt das bei dir doch auch nichts aus
    bei mir wird das ganze ja auch an die regelkette MY_REJECT geschickt

    $ipt -A INPUT -p TCP --dport 4661:4665 -j MY_REJECT

    und in dieser kette wird nichts gelogt, sondern nur ein reject-with tcp-reset geschickt.

    $ipt -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset



    und wenn ich den ersten Port negiere. Dann würde doch die zweite Regel nicht zutreffen da ja dann schon die erste Regel zutrifft.
    da hast du recht, man müßte mit multiport arbeiten und genau das haut nicht hin. zumindest ging es bei mir nicht.


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  11. #11
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    und in dieser kette wird nichts gelogt, sondern nur ein reject-with tcp-reset geschickt.
    und warum steht bei dir unten Kazza nicht loggen, Netbios nicht loggen etc. ?

  12. #12
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    und warum steht bei dir unten Kazza nicht loggen, Netbios nicht loggen etc.
    bleiben wir mal bei kazaa

    $ipt -A INPUT -p TCP --dport 1214 -j MY_REJECT

    -j MY_REJECT bedeutet, das diese pakete an die regelkette MY_REJECT geschickt werden sollen, wenn es sich um tcp pakete mit zielport 1214 handelt. das heißt diese pakete werden an diese regel *geschickt*

    $ipt -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset

    das -j REJECT in dieser regel verhält sich fast so wie ein DROP. mit einem unterschied, das paket wird *fallengelassen* und es wird eine fehlernachricht an den sender geschickt. in diesem fall ein tcp-reset.

    wenn ich jetzt bei der kazaa regel das target(ziel) ändern würde

    $ipt -A INPUT -p TCP --dport 1214 -j MY_REJECT

    in

    $ipt -A INPUT -p TCP --dport 1214 -j MY_LOG

    dann würde das paket an diese regel *geschickt* werden

    $ipt -A MY_LOG -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "

    und damit auch in den logfiles auftauchen, siehe -j LOG


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  13. #13
    Registrierter Benutzer Avatar von xmarvel
    Registriert seit
    Mar 2001
    Ort
    Berlin
    Beiträge
    372
    ach jetzt verstehe ich weil du expliziert einige Ports gesperrt hast werden die natürlich nicht geloggt da sie schon davor eine Regel antrafen die sie sperrt.
    Ich glaub jetzt habe ich es verstanden.
    Danke für deine ausführliche Erklärung

    MFG
    xmarvel

  14. #14
    Registrierter Benutzer
    Registriert seit
    Dec 2001
    Ort
    Berlin
    Beiträge
    1.187

    Noch einen kleiner Tip

    Ich mache das in einer kleinen Schleife.
    Am Anfang des Scripts gibt es z.B. fuer tcp
    Code:
    TCP_PORTS="4662 1000 58 https ssh"
    und unten in den Regeln dann
    Code:
    for R1 in $TCP_PORTS; do
    iptables ...... --dport $R1 ........
    done
    Das ganze auch noch fuer udp.
    Finde ich einfach flexibler, man muss nicht so viel rumschreiben

    T;o)Mes

    P.S.: und bitte nicht fragen, warum gerade diese Ports. Das sind nur Beispiele
    Geändert von tomes (02.03.03 um 16:10 Uhr)
    You are registered as user #279055 with the Linux Counter
    ************************************************
    Man(n oder Frau) muss nicht alles wissen,
    Man(n oder Frau) muss nur wissen wo es steht !
    ************************************************
    www.sandtom.net

  15. #15
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    @tomes

    mit solchen *shellscript raffinessen* kann ich leider nicht dienen.


    ps:warum sperrst du denn https?


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •