Anzeige:
Ergebnis 1 bis 9 von 9

Thema: probleme mit iptables-firewall!

  1. #1
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    90

    probleme mit iptables-firewall!

    hallo,

    ich habe mir meine eigene kleine firewall geschrieben, die aber leider nicht so will wie ich will. zum einen komme ich aus gründen die mir unerklärlich sind nicht auf ftp-server (http funktioniert ohne probleme). direkt vom router kann ich aber per wget dateien von ftpserver downloaden. und desweiteren bekomme ich bei emule eine lowid (glaubt mir ich habe jeden beitrag hier im forum darüber glesen, weitergebracht hat es mich aber nicht!

    hier nun die firewall

    echo Paketfilter wird gestartet...
    # module für den paketfilter
    echo module werden geladen...
    modprobe ip_tables
    modprobe ipt_ttl
    modprobe ipt_LOG
    modprobe iptable_nat
    modprobe ip_conntrack
    modprobe ip_conntrack_irc
    modprobe ip_conntrack_ftp
    # tables flushen
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
    # iptables -t mangle -F
    # iptables -t mangle -X
    # defaultpolicies auf drop setzen
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP
    #
    #############################
    # rules #
    #############################
    #
    # localhost
    iptables -A OUTPUT -o lo -j ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    # zugriff auf webserver zulassen
    iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    # zugriff auf DHCP-Server zulassen
    iptables -A OUTPUT -o eth1 -p tcp --dport 67:70 -j ACCEPT
    iptables -A INPUT -i eth1 -p tcp --dport 67:70 -j ACCEPT
    # samba zulassen und loggen
    iptables -A INPUT -i eth1 -p tcp --dport 137:139 -j ACCEPT
    iptables -A INPUT -i eth1 -p tcp --dport 137:139 -j LOG --log-prefix "SAMBA vom lan"
    # ssh zulassen und loggen
    iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -i eth1 -p tcp --dport 22 -j LOG --log-prefix "SSH vom lan"
    iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -i ppp0 -p tcp --dport 22 -j LOG --log-prefix "SSH vom internet"
    iptables -A OUTPUT -o ppp0 -p tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -o ppp0 -p tcp --dport 22 -j LOG --log-prefix "SSH vom router"
    # ssh2 zulassen und loggen
    iptables -A INPUT -i eth1 -p tcp --dport 24 -j ACCEPT
    iptables -A INPUT -i eth1 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom lan"
    iptables -A INPUT -i ppp0 -p tcp --dport 24 -j ACCEPT
    iptables -A INPUT -i ppp0 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom internet"
    iptables -A OUTPUT -o ppp0 -p tcp --dport 24 -j ACCEPT
    iptables -A OUTPUT -o ppp0 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom router"
    # REALPLAYER
    iptables -A OUTPUT -o ppp0 -p tcp --dport 554 -j ACCEPT
    iptables -A INPUT -i ppp0 -p tcp --dport 554 -j ACCEPT
    iptables -A OUTPUT -o ppp0 -p udp --dport 554 -j ACCEPT
    iptables -A INPUT -i ppp0 -p udp --dport 554 -j ACCEPT
    iptables -A FORWARD -p tcp --dport 554 -j ACCEPT
    iptables -A FORWARD -p udp --dport 554 -j ACCEPT
    # pakete die von internet kommen aber vorgeben vom lan zu seien verwerfen
    iptables -A INPUT -i ppp0 -s 192.168.0.0/24 -j DROP
    # pakete mit status INVALID verwerfen
    iptables -A INPUT -m state --state INVALID -j DROP
    iptables -A OUTPUT -m state --state INVALID -j DROP
    iptables -A FORWARD -m state --state INVALID -j DROP
    #
    # einige ports auf anfragen von außen schließen
    #
    # gjamer blocken und loggen
    iptables -A INPUT -p tcp --dport 12076 -j DROP
    iptables -A INPUT -p tcp --dport 12076 -j LOG --log-prefix "gjamer vom internet"
    # hack 99 keylogger blocken und loggen
    iptables -A INPUT -p tcp --dport 12223 -j DROP
    iptables -A INPUT -p tcp --dport 12223 -j LOG --log-prefix "keylogger vom internet"
    # girlfriend blocken und loggen
    iptables -A INPUT -p tcp --dport 21544 -j DROP
    iptables -A INPUT -p tcp --dport 21544 -j LOG --log-prefix "girlfriend vom internet"
    # prosiak blocken und loggen
    iptables -A INPUT -p tcp --dport 22222 -j DROP
    iptables -A INPUT -p tcp --dport 22222 -j LOG --log-prefix "prosiak vom internet"
    # masters paradise blocken und loggen
    iptables -A INPUT -p tcp --dport 40426 -j DROP
    iptables -A INPUT -p tcp --dport 40426 -j LOG --log-prefix "masters paradise vom inet"
    # delta source blocken und loggen
    iptables -A INPUT -p udp --dport 47262 -j DROP
    iptables -A INPUT -p udp --dport 47262 -j LOG --log-prefix "delta source vom internet"
    # sockets de troie blocken und loggen
    iptables -A INPUT -p tcp --dport 50505 -j DROP
    iptables -A INPUT -p tcp --dport 50505 -j LOG --log-prefix "sockets de troie vom inet"
    # school bus blocken und loggen
    iptables -A INPUT -p tcp --dport 54321 -j DROP
    iptables -A INPUT -p tcp --dport 54321 -j LOG --log-prefix "schoolbus vom internet"
    # subseven blocken und loggen
    iptables -A INPUT -p tcp --dport 6711:6713 -j DROP
    iptables -A INPUT -p tcp --dport 6711:6713 -j LOG --log-prefix "subseven vom internet"
    # netbus blocken und loggen
    iptables -A INPUT -p tcp --dport 12345:12346 -j DROP
    iptables -A INPUT -p tcp --dport 12345:12346 -j LOG --log-prefix "netbus vom internet"
    iptables -A INPUT -p tcp --dport 20034 -j DROP
    iptables -A INPUT -p tcp --dport 20034 -j LOG --log-prefix "netbus vom internet"
    # trojaner subseven blocken und loggen
    iptables -A INPUT -p tcp --dport 1243 -j DROP
    iptables -A INPUT -p tcp --dport 1243 -j LOG --log-prefix "TrojanerSubseven vom internet"
    # back orifice blocken un loggen
    iptables -A INPUT -p tcp --dport 31337 -j DROP
    iptables -A INPUT -p tcp --dport 31337 -j LOG --log-prefix "back orifice vom internet"
    # finger blocken und loggen
    iptables -A INPUT -p tcp --dport 79 -j DROP
    iptables -A INPUT -p tcp --dport 79 -j LOG --log-prefix "finger vom internet"
    # telnet blocken und loggen
    iptables -A INPUT -p tcp --dport 23 -j DROP
    iptables -A INPUT -p tcp --dport 23 -j LOG --log-prefix "telnet vom internet"
    # traceroute blocken und loggen
    iptables -A INPUT -p tcp --dport 30 -j DROP
    iptables -A INPUT -p tcp --dport 30 -j LOG --log-prefix "traceroute vom internet"
    # deepthroat blocken und loggen
    iptables -A INPUT -p tcp --dport 6670 -j DROP
    iptables -A INPUT -p tcp --dport 6670 -j LOG --log-prefix "deepthroat vom internet"
    # finger blocken und loggen
    iptables -A INPUT -p tcp --dport 79 -j DROP
    iptables -A INPUT -p tcp --dport 79 -j LOG --log-prefix "finger vom internet"
    #
    # trojaner die vom lan versuchen daten zusenden blocken und loggen
    #
    # gjamer blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 12076 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 12076 -j LOG --log-prefix "gjamer"
    # hack 99 keylogger blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 12223 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 12223 -j LOG --log-prefix "hack 99 keylogger"
    # girlfriend blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 21544 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 21544 -j LOG --log-prefix "girlfriend"
    # prosiak blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 22222 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 22222 -j LOG --log-prefix "prosiak"
    # masters paradise blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 40426 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 40426 -j LOG --log-prefix "masters paradise"
    # delta source blocken und loggen
    iptables -A FORWARD -i eth1 -p udp --dport 47262 -j DROP
    iptables -A FORWARD -i eth1 -p udp --dport 47262 -j LOG --log-prefix "delta source"
    # sockets de troie blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 50505 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 50505 -j LOG --log-prefix "sockets de troie"
    # school bus blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 54321 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 54321 -j LOG --log-prefix "schoolbus"
    # subseven blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 6711:6713 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 6711:6713 -j LOG --log-prefix "subseven"
    # netbus blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 12345:12346 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 12345:12346 -j LOG --log-prefix "netbus"
    iptables -A FORWARD -i eth1 -p tcp --dport 20034 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 20034 -j LOG --log-prefix "netbus 2 pro"
    # trojaner subseven blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 1243 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 1243 -j LOG --log-prefix "TrojanerSubseven"
    # back orifice blocken un loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 31337 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 31337 -j LOG --log-prefix "back orifice"
    # finger blocken und loggen
    iptables -A FORWARD -i eth1 -p tcp --dport 79 -j DROP
    iptables -A FORWARD -i eth1 -p tcp --dport 79 -j LOG --log-prefix "finger"
    # zugriff auf router vom netz zulassen
    iptables -A OUTPUT -o eth1 -s 192.168.0.0/24 -j ACCEPT
    iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
    # verkehr von innen nach außen zulassen -> connection-tracking
    iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    #
    #############################
    # portforwarding #
    #############################
    #
    # portforwarding + nat für emule
    iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.2
    iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4662 -j SNAT --to-source 192.168.0.0
    iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.0.2 --dport 4662 -j ACCEPT
    iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.0.2
    iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4672 -j SNAT --to-source 192.168.0.0
    iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.0.2 --dport 4672 -j ACCEPT
    #
    #############################
    # routing #
    #############################
    #
    # masquerading aktivieren
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    # routing aktivieren
    echo 1 > /proc/sys/net/ipv4/ip_forward
    #
    #############################
    # schutz gegen DoS-Attacken #
    #############################
    #
    # TCP-FIN-timeout setzen
    echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    # 5 antworten auf TCP-SYN
    echo 5 > /proc/sys/net/ipv4/tcp_retries1
    # TCP-pakete max. 15 mal wiederholen
    echo 15 > /proc/sys/net/ipv4/tcp_retries2
    # syn-cookies
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
    # bootp
    # echo
    # antworten auf ungültige fehlermeldungen unterbinden
    echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
    # antworten auf broadcasts unterbinden
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    # sourcegerouteten pakete ablehnen * evetl. durch ppp0 ersetzen
    echo 0 > /proc/sys/net/ipv4/conf/*/accept_source_route
    # reverse-path-filtering aktivieren * evetl. durch ppp0 ersetzen
    echo 1 > /proc/sys/net/ipv4/conf/*/rp_filter
    # speicherallozierung - und timing für IP-De/-Fragmentierung
    echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
    echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
    echo 30 > /proc/sys/net/ipv4/ipfrag_time
    echo fertig!


    habe mit emule auch schon einige andere varianten getestet (ports von 4660 bis 4680 für tcp und udp geöffnet) hat aber alles nichts gebracht.vielleicht noch zur erklärung:
    netzwerkid: 192.168.0.0
    emulepc: 192.168.0.2

    ich hoffe ihr könnt mir weiter helfen!

  2. #2
    Premium Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    2.483
    Schon klever bei den Forwarding Paketen, Quelle und Ziel des selben Pakets zu manipulieren

    PS: Ist dir eigentlich noch nicht aufgefallen, dass dein Script nicht das macht was deine Beschreibungen behaupten?
    Zweiblum versuchte es ihm zu erklären
    Rincewind versuchte es zu verstehen

    Wie man Fragen richtig stellt

  3. #3
    Nuckelpinne Avatar von againsttcpa
    Registriert seit
    Mar 2003
    Ort
    Brake/Unterweser
    Beiträge
    193
    Verwendet FTP nicht den Port 21 Falls ja, würde ich sagen der fehlt.

    Sven
    Mandrake 9.1, Kernel 2.4.21-rc?, XFree 4.3, KDE 3.1.4, Kylix 3 Pro (gepatched)
    -----------------------------------------------------------------------------------------
    Deutsches KylixForum: http://www.kylixforum.de

  4. #4
    Unregistrierter Benutzer Avatar von geco2
    Registriert seit
    Oct 2002
    Ort
    München
    Beiträge
    224
    Also ich bin ja nicht so der Firewaler aber solltest du nicht deine s- und d-ports nochmal überarbeiten?
    Klingt dumm, aber hast Du schonmal versucht zu verstehen was da steht?
    Denke mal das ist das wichtigste wenn Du ne brauchbare Firewall haben möchtest.

    Nicht bös gemeint!
    everything is a file and if not, it should be!


    LinuxUser: #334862

  5. #5
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    90
    @geco2: ja ich habe mich mit dem thema befasst und auch viele howto's darüber gelesen. bestimmte sachen funktionieren ja auch schon (routing, masquarding). zu spezielleren themen, wie z.b. snat und dnat finde ich im netz aber nicht so viele infos.
    @againsttcpa: wenn ich das richtig verstanden habe nehmen ftpserver anfragen auf port 21 an, die clinetanfragen gehen aber über highports.

    by the way: Jinto, ich würde sagen jeder hat mal angefangen und deshalb kann ich die arroganz, deines beitrages nicht ganz nachvollziehen!

  6. #6
    Unregistrierter Benutzer Avatar von geco2
    Registriert seit
    Oct 2002
    Ort
    München
    Beiträge
    224
    iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    So wie ich Dich verstanden habe moechtest Du damit erlauben das Deine Clients einen http Server ansprechen koennen.
    Soweit so gut, nur Antwortet der http-Server sicher nicht auf Port 80 sondern auf einem unprefiligierten Port also groesser 1024.
    So geht das durch Dein ganzes Script, oder moechtest Du die ganzen Dienste auf deinem Rechner tatsaechlich bereitstellen?
    everything is a file and if not, it should be!


    LinuxUser: #334862

  7. #7
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    90
    @geco2: hast recht die OUTPUTregeln sind wirklich schwachsinn. ich habe mein problem aber mitlerweile gelöst. nur habe ich jetzt festgestellt, dass ich auf manche webserver keinen zugriff habe (google, web-records.com). am dns liegts nicht den über die ip's klappts auch nicht. nun habe ich hier im forum gelesen, das man die mtu auf 1500 stellen muss um das problem zu fixen, auf der SuSE seite steht nun aber wieder das die MTU 1492 seien muss. weiß da jemand was genaueres drüber?

  8. #8
    Unregistrierter Benutzer Avatar von geco2
    Registriert seit
    Oct 2002
    Ort
    München
    Beiträge
    224
    Nö sorry hab auch SuSE laufen bei mir gibts solche Probleme nicht (SLES8, Prof. 8.2)
    everything is a file and if not, it should be!


    LinuxUser: #334862

  9. #9
    Registrierter Benutzer
    Registriert seit
    Aug 2001
    Ort
    Essen
    Beiträge
    285
    Für FTP aus dem internen Netz gibt es ein NAT_Modul das geladen werden muss, um ActiveFTP verwenden zu können. Wenn du dieses nicht lädst, kannst du immer noch in deinem FTP-Tool oder Webbrowser in den Einstellungen auf PassivesFTP umstellen. Dann funktioniert das auch.
    Mfg
    Tommy
    (reg. Linux-User #327928)
    http://counter.li.org

Lesezeichen

Berechtigungen

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