FireHOL Konfiguration

Rund um die Sicherheit des Systems und die Applikationen
snd303
Posts: 10
Joined: 2007-01-18 00:26

FireHOL Konfiguration

Post by snd303 » 2007-01-19 08:46

Ich habe mit Hilfe einer Vorlage in der vieles schon umschrieben war folgende Einträge in der firehol.conf gemacht:

Code: Select all

# Durch "version 5" weiß FireHOL, welche Konfigurations-Syntax benutzt wird.
	version 5


# Anlegen einer Konfiguration für das Device "eth0" mit dem Namen "INTERNET".
# Der Name "INTERNET" wird später in den Log-Dateien erscheinen.
	interface	eth0		INTERNET


# "policy" definiert das Standard-Vorgehen, wenn keine der Regeln für dieses Interface zutrifft.
# Pakete verwerfen "drop", ablehnen "reject", annehmen "accept"
	policy		drop


# Mit "protection" können verschiedene Schutzmechanismen aktiviert werden.
# Syntax: "protection" ["reverse"] <"type"> ["requests/sec" ["burst"]]
# "reverse" gibt an, dass der Schutzmechanismus von "innen nach außen" funktioniert.

# "strong", oder "full", oder "all" aktiviert alle verfügbaren Schutzmechanismen. (außer "invalid")
	protection	strong				10/sec 10

# "invalid" verbietet ungültige Pakete
	protection	reverse invalid
	protection	invalid

# "fragments" verbietet Paket-Fragmente
#	protection	reverse fragments
#	protection	fragments

# "syn-floods" schützt vor Attacken mit Syn-Cookies
#	protection	reverse syn-floods
#	protection	syn-floods

# "icmp-floods" schützt vor Attacken über ICMP
#	protection	reverse icmp-floods		30/min 20
#	protection	icmp-floods			30/min 20

# "malformed-xmas" verbietet Pakete, die alle TCP-Flags verwenden
#	protection	reverse
#	protection	malformed-xmas

# "malformed-null" verbietet Pakete, die keine TCP-Flags verwenden
#	protection	reverse malformed-null
#	protection	malformed-null

# "malformed-bad" verbietet Pakete, mit einer ungültigen Kombinationen aus mehreren TCP-Flags
#	protection	reverse malformed-bad
#	protection	malformed-bad


# Konfiguration von Server und Client-Diensten.
# Dienste verwerfen "drop", ablehnen "reject", annehmen "accept"

# "server" dient zur Konfiguration eines Server-Dienstes.
	server		http		accept
	server		ssh		accept

# "client" gibt an, das der Server als Client für den in der Regel spezifizierten Dienst agiert.
# "all" ist ein spezieller Dienst der alle Ports ohne Beschränkung freigibt.
#	client		all		accept

# Zugriff auf externe "http" oder "ftp"-Server zulassen. (nur Benutzer "root")
# Dies verhindert z.B. auch, dass Kunden mit PHP andere http oder ftp-Server abfragen.
	client		http		accept		user	"root"
	client		ftp		accept		user	"root"

# "dns"-Abfragen erlauben (jedem Benutzer)
#	client		dns		accept

# "smtp"-Verbindungen zu externen Servern zulassen. (nur Benutzer "postfix")
#	client 	smtp		accept		user	"postfix"


# "webmin" erlauben
#	server		webmin		accept
Ich habe die Vorlage noch etwas ergänzt und ausgearbeitet. Was fällt euch beim drüber schauen auf was ich noch an Sicherheit optimieren kann.

Einige der Auskommentierten Zeilen sind jetzt schon hinzugefügt, falls ich später noch weitere Dienste einrichte.

Die vielen Kommentare deshalb, um später nicht mehr all zu viel in der FireHOL Dokumentation nachsehen zu müssen. Sind eurer Meinung nach alle Punkte richtig beschrieben worden?
Bin dankbar für jeden Verbesserungsvorschlag. :)

Wenn "protection strong" verwendet wird das wie ich gelesen habe alle Schutzfunktionen aktiviert, kann ich dann auf die individuell Konfiguration wie z.B. "fragments" oder "syn-floods" verzichten?

..

elch_mg
Posts: 302
Joined: 2006-01-23 19:14
Location: 41063

Re: FireHOL Konfiguration

Post by elch_mg » 2007-01-19 13:03

snd303 wrote:# Zugriff auf externe "http" oder "ftp"-Server zulassen. (nur Benutzer "root")
# Dies verhindert z.B. auch, dass Kunden mit PHP andere http oder ftp-Server abfragen.
client http accept user "root"
client ftp accept user "root"
Das ist Käse. Wenn, dann solltest du diesen Zugriff für den Benutzer root verbieten und das surfen, downloaden mit wget o.ä. nur für einen anderen Benutzer - sinnvollerweise den, mit dem du dich immer einloggst - erlauben.
Ich hoffe, dass mein Schluss "Erlaubt http/ftp nur für root" -> "Arbeitet immer als root" falsch ist in deinem Falle.

snd303
Posts: 10
Joined: 2007-01-18 00:26

Re: FireHOL Konfiguration

Post by snd303 » 2007-01-19 14:52

Erwischt, ich bin noch befallen vom Windows-Syndrom immer mit Administrator zu arbeiten. :?

Genauso wie die Anzahl meiner Posts hier, sind auch die Tage mit denen ich mich jetzt mit Debian beschäftige. (na ja vielleicht ein paar Tage mehr)

Aber ist gut wenn mir da so früh wie möglich jemand auf die Finger klopft! :wink:

Ist gut, dass es anscheinend nicht noch mehr offensichtliche Fehler in dem Script gibt. Werde mir gleich mal einen neuen Benutzer anlegen.

..

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: FireHOL Konfiguration

Post by daemotron » 2007-01-19 14:57

Hmm, die meisten Paket-Managementtools wie Yast und apt benötigen root-Rechte, um Paket-Updates installieren zu können. Und diese Tools benötigen eben auch die Möglichkeit, via http oder ftp auf die Update-Server zuzugreifen. Es sei denn, man legt sich lokal ein Paket-Repository an, das von einem entrechteten User regelmäßig auf Stand gebracht wird (oder nutzt eine Distribution, bei der Download, configure und make unter einem extra User per sudo laufen - Gentoo rulez 8))

Wichtig ist v. a. in dem o. g. Szenario des OP, dass User, unter denen der httpd bzw. FastCGI-Prozesse ausgeführt werden, möglichst nicht in der Lage sind, "nach Hause zu telefonieren". Man könnte den Web-Zugriff von root natürlich noch auf die Updateserver der Distribution einschränken.

adana
Posts: 3
Joined: 2007-02-08 18:28

Re: FireHOL Konfiguration

Post by adana » 2007-02-08 20:19

Hallo Leute!

Sorry, wenn ich mich hier jetzt mal einklinke, aber ich bin durch die Suche in der Suchmaschine auf Euer Forum, bzw. diesen Thread aufmerksam geworden.

Zu meine Frage: ich habe bei mir zu hause einen kleinen Server laufen, auf dem das Debian 3.1 Sarge am laufen ist.
Der Server dient zum einen Als Internetzugang (DSL) und Router, sowie als Samba-Server. In Zukunft soll darauf auch noch ein E-Mail-Server (Citadel) eingerichtet werden, aber das spielt grad keine Rolle.

Des weiteren habe ich im Tarif nun auch eine Telefon-Flat für Internet-telefonie, als Hardware dient dazu die Fritzbox.

da mein Internetzugang ja schon kompltt eingerichtet ist, habe ich die Box also hinter dem Router (also den Debian-Server) angeschloßen, und auch entsprechend eingerichtet.

Des öfteren habe ich daß Problem, das die Internettelefonie einfach nicht klappt. Nun gibt es in der Konfiguration der Fritzbox auch die Möglichkeit, die SIP-Pakete (die anderen heißen, glaube ich, RTP-Pakete) zu signieren, damit der Router, bzw. die Firewall (in meinem Fall Firehol) diese Pakete bevorzugt behandelt.

Port-Forwarding ist für die Box nicht eingerichtet, die Box hält sich selbst den Port frei, und bezieht ihre Infos von einem STUN-Server.

Nun zu meiner eigentliche Frage: Unterstützt Firehol das bevorzugte behandeln von signierten Paketen? Und wenn ja, wie richte ich das in Firehol ein?

Noch eine Frage am Rande: Gibt es auch eine deutschsprachige Dokumentation zu Firehole? (Englisch ist nicht gerade meine Stärke)

Ok, ich hoffe, Ihr verzeit mir, daß ich mich hier in diesem Thread eingeklinkt habe, und wäre dankbar, wenn Ihr mir meine Frage beantworten könnt.

Gruß,

Adana

timeless2
Posts: 416
Joined: 2005-03-04 14:45
Location: Paris

Re: FireHOL Konfiguration

Post by timeless2 » 2007-02-08 21:03

Warum setzt du deinen Server nicht hinter die Fritzbox? Wenn die Telefonie-Pakete noch zusätzlich durch deinen Server laufen, wird die Laufzeit der Pakete höher und dein Server hat zusätzlich die Last, die Pakete durchzuschleusen.

adana
Posts: 3
Joined: 2007-02-08 18:28

Re: FireHOL Konfiguration

Post by adana » 2007-02-08 21:17

Hi!
timeless2 wrote:Warum setzt du deinen Server nicht hinter die Fritzbox? Wenn die Telefonie-Pakete noch zusätzlich durch deinen Server laufen, wird die Laufzeit der Pakete höher und dein Server hat zusätzlich die Last, die Pakete durchzuschleusen.
Weil ich dann möglicherweise wieder das Problem habe, daß ich keinen ssh-Zugang von außen auf meinem Server bekomme. damit hatte ich in der Anfangsphase echt zu kämpfen. Erst mit einem einfachen DSL-Modem, den Server als Router (und natürlich die Zugangssoftware, Modem stellt ausschließlich die hardware dar) hat es geklappt. ich möchte nicht, das mühsam erarbeitete wieder umstricken...

ich kann Deine namerkung durchaus nachvollziehen, so ist das nicht. Aber wenn es irgendwie machbar ist, das Firehol das bevorzugen von Signierten pakete unterstützt, dann würde ich gerne diesen Weg gehen.

Gruß,

Adana

codc
Posts: 97
Joined: 2004-01-08 02:55
Location: Tübingen

Re: FireHOL Konfiguration

Post by codc » 2007-02-09 20:46

Adana wrote:Weil ich dann möglicherweise wieder das Problem habe, daß ich keinen ssh-Zugang von außen auf meinem Server bekomme. damit hatte ich in der Anfangsphase echt zu kämpfen.
Bei NAT nennt sich das Zauberwort Portforwarding - schau mal in der Bedienungsanleitung von deinem Router nach und wenn du TCP Port 22 auf deinen Server weiterleitest dann klappts auch mit dem SSH.

adana
Posts: 3
Joined: 2007-02-08 18:28

Re: FireHOL Konfiguration

Post by adana » 2007-02-09 21:21

Hi!
codc wrote: Bei NAT nennt sich das Zauberwort Portforwarding - schau mal in der Bedienungsanleitung von deinem Router nach und wenn du TCP Port 22 auf deinen Server weiterleitest dann klappts auch mit dem SSH.
Jo, da gebe ich Dir durchaus recht. Nur, daß ich das schon alles, mit Hilfe eines Spezies, der da echt was von kennt, schon alles probiert habe, seinerzeit. Er war echt am verzweifeln, und ich nur am staunen. Wenn der entsprechende Router da nicht mitspielt, auch wenn er es eigentlich sollte, dann kann noch so sehr darauf bestehen, das es funktionieren muß - wenn es nicht klappt, dann klappt es einfach nicht. Und wir haben es mit verschiedenen geräten versucht. Nur mit dem Debian-Server als router, da funktioniert es - so wie es auch sein soll.

Gruß,

Adana