Hallo@all,
ich habe mich mit iptables aueinandergesetzt, allerdings steige ich noch nicht ganz durch.
Also ich will erstmal alles denien:
ipchains -P input DENY
ipchains -P output DENY
ipchains -P forward DENY
Und dann eben nur die Dienste zulassen, die ich brauche.
Die "forward" brauch ich eigentlich eh nicht (glaube ich).
Nun, alles, was ich zulassen will ist:
mail, http (kein server, nur surfen), icq (kxicq) und DNS müssen funktioinieren. Ansonsten soll der Rechner "unsichbar" sein.
Hat jemand sinnvolle Regeln für sowas parat? Ein script kann ich daraus basteln, das sollte kein Problem sein. Eventuell dokumentierte Regeln wären auch nicht schlecht.
Bis denne
poly
Linux 15.036 Themen, 107.107 Beiträge
Hallo, Poly
Erst einmal: Was willst du nehmen? Im Titel schreibst du iptables und im Text ipchains!
Hast du das Packet-Filtering-HOWTO gelesen und die Manpage von iptables? Hast du einen eigenen DNS am laufen? Soll der von aussen erreichbar sein? Was hast du bis jetzt schon?
Hast du alles als Module drin oder fest einkompiliert?
Willst du auch die Sachen von /proc.... im Script haben?
Was meinst du mit unsichtbar? So etwas geht nicht? Man kann seinen Rechner nicht unsichtbar machen, auch wenn die sogenannten Personal Firewalls das immer versprechen. Du solltest dein Script RFC-Conform machen, also icmp beantworten. Das hilt dir und auch anderen (Sysadmins).
Willst du es lieber selbst aufbauen (empfehlenswert, da du dadurch lernst) oder soll ich dir ein fertiges Script schicken? (Werde ich nicht tun (-; )
Dokumentierte Regeln findest du im HOWTO.
Bye, Klaus
Hi Klaus,
nein ich meinte schon iptables. Bin aber etwas verwirrt gewesen, von allen möglichen Anleitungen.
P-F-Howto: Ja, aber das fand ich extrem kurz und hat mich nicht wirklich weitergebracht. man iptables schon eher.
Eigener DNS nein. Aber die beiden in unserem Netzwerk. Ich möchte aber nicht einfach alles von diesen zulassen.
die ganzen iptables sachen sind fest drin und funktionieren auch, soweit ich das feststellen kann (testweise icmp geblockt und mal ein script aus dem Netz probiert).
/proc????
Das verstehe ich nicht :( muss ich überlesen haben. Worum gehts dabei?
Mit 'unsichtbar' meinte ich, dass so ziemlich alles geblockt wird (auch ICMP) ausser dem, was ich benötige (http smtp, icq etc). Ehm. Unser Netzwerk ist relativ offen, daher will ich zunächs auch icmp blocken; mir egal, was unsere Sysadmins dazu sagen (sie werden gar nichts sagen, es wird ihnen nicht auffallen?).
Ich will mir das selber bauen, suche aber noch tipps, wie man am besten rangeht, denn alles was ich beim googlen gefunden habe, waren fertige scripten, oder ziemlich marginale Beschreibungen, wie die, wie ich sie geliefert hab ;) [blocke alles, lasse dann alles zu, was Du brauchst]. Ich hatte mir auch fast gedacht, dass Du mir kein fertiges script schickst =). Wo wär denn da die Pädagogik *g*.
> Dokumentierte Regeln findest du im HOWTO
Ja, genau! In welchem denn?
Danke für die Tipps
poly
Erklaere erst mal dein Netzwerk. Hast du in der Firma ein Netzwerk, das offen ist und du willst das ganze Netzwerk abdichten oder nur einen Rechner.
Wie ich schon geschrieben habe wird ICMP *nicht* geblockt. So etwas tut man nicht.
Mit den HOWO meinte ich das von Rusty Russel:
Klick.
Wie sollen wir das machen? Per E-Mail oder hier ueber die Liste? Uber Nickles dauert es natuerlich laenger.
Mit dem /proc meinte ich, da kann man jede Menge einstellen, um etwas abzusichern.
Ausserdem schreib einmal die Ausgabe von:
netstat -pantu
Bye, Klaus
Ok, habe verstanden.
Russels Howto hat mich nicht wirklich weitergebracht, da er zwar die Grundlagen erklärt (die aich auch denke ich soweit verstanden habe) aber eben nicht so ins Detail geht.
Ich schick Dir bei Gelegenheit ne mail, über mein Netzwerk und wie das alles hier funktioniert.
Gibt es denn einen verbünftigen Grund ICMP nicht zu blocken.
bzgl /proc:
achso du meintest Regeln, die in
/proc/sys/net/ipv4/conf/all...
usw liegen?
Ja, auch nutzen. Scheint mir recht einfach zu sein, da das immer nur Textfiles sind., in denen halt 0 oder 1 steht.
# netstat -pantu
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 195/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 188/cupsd
tcp 0 0 meine.ip:32815 205.188.9.60:5190 VERBUNDEN 401/kxicq
tcp 0 meine.ip:32814 64.12.200.89:5190 TIME_WAIT -
Wobei kxicq ja nur aktiv ist, wenn ich es anhabe, ist ja klar.
Naja, ich schicke Dir ne mail, heute oder morgen, denn hier ist grade n bisschen was zu tun.
Bis denne
poly
>Gibt es denn einen verbünftigen Grund ICMP nicht zu blocken.
Natuerlich: Die RFC's. Damit alles richtig funktioniert, muss ICMP auch funktionieren. Schau mal:
Wenn ich ein Ping verschicke und bekomme als Antwort ein Echo-Request,
weiss ich, alles in Ordnung, der Rechner ist an.
Wenn ich ein Ping verschicke und bekomme anstatt des Echo-Request ein
Destination-Unreachable, weiss ich, da ist kein Rechner, der letzte Router
hat mir das gemeldet.
Wenn ich ein Ping verschicke und bekomme gar nichts, sind entweder alle
Anfragen in den Weiten des Netzes verschwunden (sehr unwahrscheinlich)
oder der Empfaenger will sich hinter einer Firewall verstecken.
Der letzte Router hat ja in seiner Routing-Tabelle deinen Rechner drin,
also kuemmert er sich nicht darum, ob du Antwortest oder nicht, dass ist
ja deine Sache. Ist dein Rechner nicht mehr dort aufgefuehrt, antwortet
er, eben mit einem Destination-Unreachable.
Lese die RFC's, fange mit rfc792 an (ICMP).
Das ist wie bei einem kleinen Kind, dass meint, wenn es sich die Augen zuhaelt, kann man es nicht sehen. Das funktioniert nicht. Blocke mal alles ab und mache eine FTP-Verbindung nach einem Server im Internet: Du wirst sehen, das es lange dauert, bis der deine Anfrage annimmt. Schaltest du jetzt z.B. den ident-port (113) frei, bekommst du sofort eine Verbindung.
Zusaetzlich provozierst du viel Traffic, da manche Rechner nicht nach 4 Versuchen aufgeben, sondern immer weiter Anfragen machen. Gib ihm eine Antwort und er gibt Ruhe.
Uebrigens, wenn der sshd nicht von aussen (Internet) ansprechbar sein soll, bind ihn auf deine Netzwerkkarte, also nicht auf 0.0.0.0, sondern die Ip, die dein Rechner hat. Das geht in der sshd_config.
ICQ ist natuerlich schlecht, das ist per se ein Sicherheitsloch.
Klaus
Hi!
evtl suchst du genau das ...
(wobei der zweite artikel IMHO geeigneter ist)
- LinuxMagazin 06/2000: Firewall in Linux-2.4 mit iptables konfigurieren
- LinuxUser 05/2002: Firewall
cu robsn
Ja, vielen Dank, sieht nicht schlecht aus.
Bis denne
poly