PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : firewall



phatboy
17.04.2003, 23:47
hallo, ich möchte alle offenen ports meines servers stopfen da ich im Minutentakt riesige Datenmengen empfange obwohl der Server gerade mal einen Tag im Netz ist und die Test seite von Apache kann wohl kaum so viel Traffic verursachen.

Das einzige tool was mir da bekannt ist, ist iptables, da ich das aber noch nie benutzt habe wollt ich fragen obs vielleicht n admin tool dafür gibt oder ein tutorial. Oder kennt ihr vielleicht ein anderes, das ihr einem noob empfehlen würdet?

megamimi
17.04.2003, 23:53
hi...

Ein gutes HOWTO zu iptables gibts hier: http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO.html


cu mimi

phatboy
18.04.2003, 00:05
hmm danke, aber kann mir einfach ma einer sagen wie ich alle ports ausser 22, 80 und 10000 blocke? ich checks doch nich so.

megamimi
18.04.2003, 08:01
hi...



iptables -P INPUT DROP
iptables -A INPUT -m multiport --dport 22,80,10000 -j ACCEPT

blockt alle eingehenden verbindungen ausser die auf port 22,80 und 10000

cu mimi

phatboy
18.04.2003, 09:58
shit, jetzt hab ich das eigegeben und nach der ersten zeile hat gings nimmer weiter... weil da schon alle ports geblockt waren... komm ich da jetzt noch rein?

das hätte man wohl übers x direkt machen sollen... aber ich bin in münchen und der server in düsseldorf.

megamimi
18.04.2003, 10:04
hi...

*lol*
Du musst jetzt wohl oder übel direkt zum Server rübergehen und direkt dort den zweiten Befehl eingeben;)

cu mimi

phatboy
18.04.2003, 10:28
ja gut, ich nehme wenn ich den server neu starte, wird sich das problem beheben, habe ich recht?

Naja einen Neustart habe ich schon angeordnet... aber leider erst für Dienstag, wegen den Feiertagen.


Ich hatte mir dann gedacht wenn ich die zwei befehle cron zuweise und der das einmalig intern laufen lässt, muss ich das nich übers x machen oder?

Tarzipan
18.04.2003, 10:35
mach doch einfach ein script draus...
das kannst du auch in das netwerk-script einbetten, damit es bei start geladen wird.

megamimi
18.04.2003, 10:41
hi...

Ja, die iptables Befehle verfallen bei jedem Neustart.
Du kannst dir auch einfach ein shell-skript basteln, dann werden auf alle fälle alle deine befehle ausgeführt.
Ich würde aber trotzdem vorher das howto durchlesen, damit du weißt was du da eingibst...


cu mimi

EDIT: ups, das mitm skript hat wohl schon einer gesagt....;)

Andre
18.04.2003, 10:44
aber denk dran, das dich ein FW in der Regel nicht gegen den traffic schützt....
wenn der traffic an dem network-link gemessen wird, ist es meist egal, ob die packete verworfen werden oder nicht...es muss ja auf jeden fall durch die lankarte..
:(

phatboy
18.04.2003, 11:14
ich bins gewöhnt dass ich sachen eigeben kann die erst in kraft treten, wenn man den deamon neu startet. Das trifft ja nich wirklich bei iptables zu desswegen habe ich den fehler gemacht. Aber ich wusste schon was ich mit den befehlen mache... hab aber nicht im vorraus gedacht.

@andre: da haste wohl auch recht... dann schau ich mal nach wo genau der traffic herkommt und versuche die quelle zu stoppen.

phatboy
18.04.2003, 11:33
sacht mal wie siehts eigentlich aus mit packet sniffer?

wenn ich jetzt den packetsniffer benutze um den server bzw. die packet zu überwachen könnte ich doch jetzt schon herausfinden wo es herkommt und so vielleicht die quelle stoppen.

megamimi
18.04.2003, 12:31
hi...

Also um einen Sniffer zu installieren müsstest du ja Zugriff auf den Server haben, was du ja nicht hast...
Aber sobalt du wieder rein kannst, reicht ein
iptables -A INPUT -j LOG --log-level info --log-prefix "income: " vor der ACCEPT-Regel um alle ankommenden Pakete mitzuloggen.

phatboy
18.04.2003, 12:41
wo logt der die dann?


vor dem hier, seh ich das richtig?



iptables -P INPUT DROP
iptables -A INPUT -m multiport --dport 22,80,10000 -j ACCEPT

megamimi
18.04.2003, 12:51
hi...

Die wandern nach /var/log/messages....

Du musst die logrule zwischen die 2 anderen plazieren. Also erst die Policy auf DROP setzen, dann loggen, dann durchlassen;) . Es werden allerdings alle ports mitgeloggt, nicht nur 80,22 und 10000.....

cu mimi

BTW: heißt es loggen oder logen?;)

phatboy
18.04.2003, 12:56
ah ja, und wo wir grad dabei sind, wie würde denn so ein shell script aussehen... ich hab sowas ebenfalls noch nie gemacht :D

megamimi
18.04.2003, 13:04
hi...

einfach

#! /bin/bash
iptables blabla..

in eine datei schreiben, ein chmod +x drauf und fertig:D
cu mimi

phatboy
18.04.2003, 13:26
danke :D

megamimi
18.04.2003, 15:58
bitte:D

megamimi
18.04.2003, 18:02
hi...

kleiner Nachtrag noch: mach statt

iptables -A INPUT -m multiport --dport 22,80,10000 -j ACCEPT
lieber

iptables -A INPUT -p tcp -m multiport --dport 22,80,10000 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 22,80,10000 -j ACCEPT

, ich bin mir nämlich nicht sicher ob das Obere funktioniert; das Untere funzt aber auf jeden Fall.

cu mimi

phatboy
18.04.2003, 18:17
kann ich des auch logen lassen ohne was geblock zu haben?

ich hab jetzt beschlossen, dass es unklug is weiterhin mit iptables zu spielen...

also könnt ich einfach ma

iptables -A INPUT -j LOG --log-level info --log-prefix "income: "

machen und der logt drauf los?

megamimi
18.04.2003, 23:56
hi...

klar kannst des machen...ich würde später aber auf jeden fall den paketfilter nutzen, sonst ist dein server offen wie ein scheunentor....

cu mimi

phatboy
19.04.2003, 00:04
ja aber die anderen ports sind bei standartmässig zu... ich will ja dann noch des pop, smtp und ftp port öffnen. Dann hab ich bald alle die sowieso offen waren zusammen.

phatboy
30.04.2003, 13:24
gibts eigentlich einen befehl der die ganzen iptables chains und rules mit einem befehl oder mehreren ausräumt?

ich will n cron machn der diesen befehl durch führt nachdem ich wieder was mit iptables teste, damit ich mich nich wieder ausperre... also wie ich eigene chains lösche weiss ich aber wie geht das mit den standart teilen also input, output, forward?

megamimi
30.04.2003, 14:00
hi..

mit
iptables -t filter -F
iptabels -t filter -X

stellst du den Urzustand wieder her.

cu mimi

phatboy
30.04.2003, 14:29
also -t spricht den table den man ändern will an und -F löscht alle rules... und -X is dann einfach noch ma da um alle user chains zu löschen oder?

phatboy
30.04.2003, 14:58
also was ich jetzt gemacht habe is beides in ein shell script getan und eingestellt dass er den script jede stunde laufen lässt...

ich habs ma getestet:

hier is der script (/home/iptables.sh):
#! /bin/bash
iptables -t filter -F
iptables -t filter -X

im cron über webmin hab ich folgendes eigestellt:
command: /home/iptables.sh
execute as: root

aber wenn die Zeit gekommen is, läuft der des zwar:
Apr 30 15:53:00 isti603 /USR/SBIN/CRON[4376]: (root) CMD (/home/iptables.sh)

aber ich krieg ne mail mit folgendem inhalt:

Subject: Cron <root@isti603> /home/iptables.sh

/home/iptables.sh: line 2: iptables: command not found
/home/iptables.sh: line 3: iptables: command not found



wenn ich das normal übers shell mach gehts... was braucht cron da?

phatboy
01.05.2003, 15:40
ich habs mit dem cron hingekriegt...

also mach ich n script mit dem was du mir gegeben hast und offenbar hats des auch wunderbar übernommen, da ich das noch mal über webmin gecheckt habe (siehe attachment). Ich habe davor eine leere rule hinzugefügt und konnte sie auch sehen mit iptables -L und dann hab ich den script der alles löschen soll übers cron ausgeführt, also war die dummy rule verschwunden. Gut denk ich mir also machen wir das mal im grossen stil, ich erstelle die rules die man im attachment sieht und komme gar nicht zur nächsten seite denn wieder is mein server vollkommen zugeblockt trotz der allow regeln die mit sicherheit auch eigegeben wurden... naja ich hab auf den cron job gewartet er müsste eigentlich schon durchgeführt worden sein, aber is immer noch alles dicht :(

firewalls sind dumm wenn man sie von 300km entfernung konfigurieren muss!

phatboy
01.05.2003, 16:22
is ja klasse und dies mal darf ich das geld für den reset zahlen... scheiss 23.20 EUR... son kack, warum bitte ging der cron job nich nachdem die firewall des drop an war...

des is doch echt nich mehr lustig... es ging alles 10 mal davor als ich getestet hab!!!!

ziczac
01.05.2003, 16:50
Hm, ich dachte ich hätte das Prinzip verstanden...

Ich dachte die Tables werden von oben nach unten abgearbeitet.
Und wenn ich ein Paket droppe (verwerfe) kann ich es dennoch danach durchlassen? Hm...also, wenn ich die Regeln so aufbauen müsste würde ich (durch das was ich bisher so gesehen habe) erstmal mal das durchlassen was durch soll und dann alles droppen was nicht den Regeln darüber entspricht?!

Zum Cron kann ich leider nichts sagen... Find das aber schon merkwürdig.

mfg
zz

phatboy
01.05.2003, 17:31
ich hab mittlerweile das gefühl dass

iptables -t filter -F
iptables -t filter -X

dem "iptables -P INPUT DROP" nichts antut. So wurden die accepts gelöscht aber das haupt drop nicht. So erklär ich mir es dass es am anfang dann funktioniert hat bis zum cron (es funktionierte am anfang bis zum cron bei meinem anderen server). Ja nachdem ich den ersten dicht gemacht hat, wollte ich aus meinen fehlern lernen bin das noch ma ruhig und logisch angegangen an meinen zweiten server, eigentlich der hauptserver, mein erster. Nunja, der is nun auch zu und weils so schön is steht der auch 300km von mir weg. Also bin ich jetzt bei 46,40 EUR dass ein Techniker zwei knöpfe drücken darf. Nun ja... eine teuere erfahrung, aber jede erfahrung ist wertvoll.

megamimi
01.05.2003, 20:42
hi...

Ist ja klar das die zwei Befehle der policy nichts antun, das sind ja auch vollkommen verschiedene Dinge, die zwei rules löschen nur alle regeln die vorhanden sind.Wenn dann die policy auf DROP ist, ist die Kacke am Dampfen...um die policy wieder auf accept zu setzen musst du einfach
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
eingeben...tut mir leid das du jetzt den server neu starten musst, aber ich dachte du denkst auch ein bischen mit;)

cu mimi

PS: eigentlich hätte ich auch ein bischen mitdenken sollen, aber ich dachte du willst nur wissen wie man regeln löscht...sorry

phatboy
01.05.2003, 21:27
ich hab schon mitgedacht aber ich wusste nich dass es policies und rules gibt... bzw dass da ein unterschied is :D

naja ich hab connections zu einem der im rechenzentrum arbeitet, der kann mir vielleicht nen reset zu realisitischen preisen beschaffen... kein grosser verlust, weder zeitlich noch finanziell. Ich wollt mir jetzt eh noch nen mp3 server für zuhause kaufen, da pack ich dann gleich linux drauf und dann hab ich wieder n test server.

mei, bin halt noch noob... ich kenn das, wenn ich versuche einem noob was in meinem fachgebiet zu erklären gibts auch immer wieder missverständnisse.

megamimi
01.05.2003, 22:04
hi...

Na wenns nicht so schlimm ist hab ich ja noch mal Glück gehabt. Ich habe schon Schadensersatzforderungen kommen sehen;)

cu mimi

phatboy
02.05.2003, 13:45
nene... wär ja noch dümmer wenn ich dich jetzt beschuldigen würde... du hast mir immer die richtígen antworten gegeben in so fern trifft dich sowieso keine schuld.

aber wär ma nett gewesen wenn sich manch anderer den ich ausm chat kenn hier beteiligen würde, denn im chat sachten die meisten die hätten was anderes benutzt und so... das hätten die mir auch unglaublicherweise früher sagen können.

phatboy
02.05.2003, 17:05
also, im endeffekt hats mich bloss 11,60EUR extra gezahlt für den zweiten server den ich dann anschliessend ja aus überzeugung von mir selber zugesperrt hab... da hat ich die connections... der andere server, da is so dass mein cousin aus leverkusen nach düsseldorf gefahren is um aufn knopf zu drücken... also ich probier firewall sachen nur noch local... und ich mach nen cron job der den server im falle eines sperrens neustartet... das is das letzte mal dass mir das passiert :D


ah ja... und

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

hab ich zu dem einen script hinzugefügt...