Erarbeitung eines Firewall-Konzepts

Aus Winfwiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis



Titelblatt


Fachhochschule für Oekonomie & Management Berlin

Berufsbegleitender Studiengang zum

Diplom-Wirtschaftsinformatik (FH)

6. Semester

Fallstudie

Thema:

Erarbeitung eines Firewall – Konzepts


Betreuer:

Prof. Dr. Ralf Hötling
Autoren: Witte, Rico
Matrikel-Nr.: 191991
Adresse: Wikingerufer 5a
  10555 Berlin

Inhaltsverzeichnis

Abkürzungsverzeichnis

PPP   Point to Point Protocol
TCP/IP   Transmission Control Protocol / Internet Protocol
DNS   Domain Name System
FTP   File Tranfer Protocol
http   Hyper-Text Transfer Protocol
https   Hyper-Text Transfer Protocol Secure/Security
ssh   Secure Shell
DMZ   De-Militarised Zone
NAT   Network Address Translation
SNAT   Source Network Address Translation  
DNAT   Dynamic Network Address Translation  
SNMP   Simple Network Management Protocol
VLAN   Virtuell Local Area Network
CDP   Cisco Discovery Protocol
ICMP   Internet Control Message Protocol

Abbildungsverzeichnis


1 Einleitung

Durch die Globalisierung der Unternehmen und der wirtschaftliche Trend internationale Absatzmärkte zu erschließen, vergrößern sich auch die Informationen und die dadurch resultiert das diese Informationen und Daten geschützt werden müssen.

Die Daten sind vor Zugriff von außen zu schützen.

Diese Fallstudie befasst sich mit der Möglichkeit Realisierung eines Firewall Projektes.

Zum Schluss wird eine Umsetzungsmöglichkeit herausgearbeitet, die dem Unternehmensmanagement zur Entscheidung vorgelegt werden soll.

1 Vorstellung des Unternehmens

Das in dieser Seminararbeit betrachtete Unternehmensgruppe ist weltweit tätig. Es handelt sich um eine Investmentfirma mit Hauptsitz in Berlin. Das Unternehmen hat mehrere Tochterunternehmen mit Sitz in Zug (CH) und Atlanta (USA).

Die Firma entwickelt und vertreibt geschlossene Fonds, die in kapitalmarktunabhängige Assetklassen investieren. Der Fokus der Investitionen liegt in den Wachstumsmärkten US-Policen und US-Infrastruktur.

Ebenso gehört ein international operierendes Filmunternehmen zur Unternehmensgruppe. Von Deutschland aus produziert, vertreibt und vermarktet es qualitativ hochwertige Kino- und Fernsehfilme, die für die ganze Familie geeignet sind. Der Schwerpunkt liegt dabei auf der Etablierung von Medienformaten im Unterhaltungsbereich, die durch ihren starken Markenwert ein weltweites Publikum erreichen.

In dieser Seminararbeit wird nur der Standort Berlin betrachte.

Abbildung 1: Unternehmensstruktur

2 Ausgangslage

2.1 Aufgabenstellung

Zur Unterstützung der Geschäftsprozesse möchte das Unternehmen das Internet nutzen. Es soll folgendes möglich sein:

  • Informationsgewinnung für die Tätigkeit von Arbeitsplätzen
  • Informationsgewinnung für technische Informationen zu EDV und Technik von Arbeitsplätzen
  • Schneller Austausch von Dokumenten und Nachrichten mit externen Partnern von Arbeitsplätzen
  • Online Präsentation des Unternehmens im Web für neueste Recherchen und Informationen
  • ggf. Erweiterung des Angebotes um Internetpräsentation etc.

Dazu ist die Infrastruktur ständig verfügbar zu halten und das Internat sind geheim zu halten.

Für die Internetanbindung wurde ein Provider bereits ausgewählt zu dem über PPP eine Verbindung hergestellt werden soll.

2.2 Minimalanforderung

Anschluss des Unternehmens über einen Provider mittels PPP ans Internet

  • kleines Firmennetz sowie einen Providerserver auf der Basis von LINUX mit TCP/IP
  • Firmennetz über (Null-)Modemverbindung an den Provider
  • Realisierung des Internetzuganges über Provider, realisiert durch das Firmennetz xxx.xxx.xxx.xxx 0/24

Öffentliche und innere Dienste

  • DomainNameServer zur Auflösung der Rechnernamen in IP-Adressen und umgekehrt
  • öffentlicher DNS ans Intranet
  • Zugang aller Client per http, https und ftp ans Internet
  • FTP - Server für öffentlich Kunden

Schutz des lokalen Systems und des Firmennetzes - Firewalls sowie Administration der Systeme und des Netzes

  • Nutzungs- und Sicherheitsregeln für alle Rechner, deren Benutzer und des Firmennetzes
  • Realisierung eines Syslog - Host
  • Zeitsynchronisation im Netzwerk (NetworkTimeProtocol)
  • Netzwerk Remote Zugriff auf einzelne Rechner ausschließlich mit ssh
  • Authentication vom Intranet auf / über die Adminkonsole

3 Sollplanung Firewall-Projekt

3.1 Sicherheitsrichtlinien

Sicherheitsrichtlinien werden innerhalb des Projektes nur für die bereitgestellten Dienste ausgeführt und verwirklicht. Weitergehende Betrachtung von nicht implementierten Diensten erfolgt ggf. durch die Formulierung von verbalen Richtlinien (Grundkonzept).

3.2 Technische Realisierung

Das interne Firmennetz wird über einen MHG vom Extranet / DMZ getrennt (Packetfilterung). Dieser verhindert direkte Zugriffe auf das interne Netz und stellt die Verbindung mit den angebotenen Services im Extranet / DMZ her. Im Intranet ist ein interner DNS-Server für das Intranet verfügbar.

Im Extranet werden die verfügbaren Dienste für das Intranet und das Internet zur Verfügung gestellt. Innerhalb des Projektes werden ein Apache Webserver sowie ein FTP-Server als Dienste bereitgestellt. Auf dem FTP werden außerdem der DNS Server für externe Anfragen, ein Zeitserver sowie ein Proxy (FTP/WWW) und eine Contentfilterung / Virenprüfung realisiert. Innerhalb des Extranet sind außerdem eine Adminkonsole und ein Log-Server zur Auswertung und Erfassung der relevanten Sicherheitsmeldungen

Alle Zugriffe aus dem Intranet auf das Internet sind ausschließlich .gepuffert" über das Extranet möglich.

Der Zugriff auf das Internet erfolgt über einen vor geschalteten Cisco „Screening-Router". Hier werden mit Paketfiltern unerwünschte Anfragen (Flags, IP-Adressen, etc.) gefiltert. Der Router repräsentiert die öffentliche IP-Adresse der Firma und stellt über NAT / SNAT / DNAT die Umsetzung interner Adressen in die öffentliche Firmen-IP und umgekehrt sicher.

3.3 Notfallkonzept

Im Rahmen des Projkektes nicht realisiert.

3.4 Datenschutz und Datesicherheit

Es muss ein geeignetes Datensicherungskonzept erarbeiten werden. Ist aber nicht Inhalt dieser Fallstudie (nicht realisiert).

3.5 Netzwerkschutz

  • Sicherheitsrelevante Einrichtungen (Server) sind räumlich getrennt einzurichten
  • Zugangsregelung und -kontrolle definieren
  • Datensicherungskonzept definieren und umsetzen (nicht realisiert)
  • Server werden nur mit minimal erforderlichen Betriebsystemkomponenten installiert
  • Aktuelle Sicherheitspatches sind einzuspielen
  • Interne Clients können über Proxy/Server auf folgende Dienste zugreifen: www (intern / extern), ftp (intern / extern) DNS intern
  • Extern kann auf die Dienste www und ftp zugegriffen werden
  • Administration der Server erfolgt ausschließlich über eine Admin-Konsole, die gegebenenfalls über eine autorisierte ssh Verbindung aus dem internen Netz aufgebaut werden kann.
  • Systemmeldungen werden zentral auf einen Log-Server im Admin Netz gesammelt und
    ausgewertet.
  • Eventuell ist SNMP als Netzwerkmanagement ersetzbar(snmp_v3)

3.6 DNS Dienste

  • Interne Clients richten Ihre Anfragen ausschließlich an den internen DNS Server
  • Der interne DNS macht forwarding auf den DNS im Extranet um auch auf Inhalte im Internet / Extranet zugreifen zu können
  • Im Extranet ist der DNS innerhalb des Extranet zuständig
  • Eingehende DNS anfragen werden ausschließlich vom DNS im Extranet verarbeitet

3.7 www/ftp Dienste

  • vom Intranet werden WWW/FTP Anfragen ausschließlich über den FTP-Proxy im Extranet verarbeitet
  • vom Internet aus kann ausschließlich der WWW/FTP-Server im Extranet erreicht werden

3.8 ssh Verbindungen

  • zu den Servern nur über die Admin-Konsole zulässig
  • von außen sind keinerlei ssh Zugriffe
  • vom Intranet kann nur zur Admin-konsole eine ssh-Verbindung hergestellt werden (optional)

3.9 Admin-Konsole

Die Admin-Konsole dient der Administration aller Server und Router.

Über die Konsole kann auf alle Ressourcen im Extranet zugegriffen werden.

3.10 Log-Server

Es sammelt zentral alle Systemmeldungen der Server / Router. Auf ihm werden alle Meldungen ausgewertet. Weiterhin stellt er einen Zeitkonfiguration der Server / Clients zur Verfügung und definiert Aktionen / Reaktionen / Admin-Meldungen bei Auffälligkeiten.

3.11 Contentfilterung / Virenprüfung

Es werden ein-und ausgehende Daten auf Viren und unerwünschte Inhalte überprüft.

3.12 Netzplan

Abbildung 2: Netzplan

4 Gerätekonfiguration

4.1 Adminkonsole

Netz: 192.168.2.0/24

IP: 192.168.2.1

Name: admiral

BS: linux minimal, SuSE 11.2

Fkt: Administration der Server

Rechte: Zugriff auf die Server, internes Netz, Router, MHG (ssh-Verbindung)

4.2 Log - Server

Netz: 192.168.2.0/24

IP: 192.168.2.2

Name: adjutant

BS: linux minimal, SuSE 11.2

Fkt: Log-Files sammeln und Auswerten

Rechte: „passiv" als Empfänger der Log-Messages

4.3 Cisco Router

Netz: 192.168.4.0/24

IP: 192.168.4.254

PPP: Provider-IP (serial)

Name: defender

Fkt: Router, Packetfiller

Rechte: Funktions gebundenes Routing / Filtern

4.4 MHG

Netz 1:192.168.1.0/24 Intranet

IP: 192.168.1.254

Netz 2:192.168.2.0/24 Adminnet

IP: 192.168.2.254

Netz 3: 192.168.3.0/24 Extranet

IP: 192.168.3.254

Netz 4: 192.168.4.0/24 CISCOnet (Verbindung zum Provider)

IP: 192.168.4.253

Name: trapper

BS: linux minimal, SuSE 11.2

Fkt: router, Paketfilter

Rechte: Funktionsgebundenes Routing / Filtern

4.5 Webserver

Netz: 192.168.30/24

IP: 192.168.3.10

Name: webber

BS: linux minimal, SuSE 11.2

Fkt: Apache Webserver Version...

Rechte: passiv -> nur auf Anfragen reagieren

aktiv -> Messages an Log-Server senden / Zeitsynchronisation

4.6 DNS / FTP / Proxy / Time

Netz: 192.168.3.0/24

IP: 192.168.3.20

Name: proxy

BS: linux minimal, SuSE 11.2

Fkt:

  • squid Proxyserver Version....
  • ntp Timeserver, Version....
  • bind DNS, Version....
  • Virenprüfung
  • Contentfilter Rechte: passiv  nur auf Anfragen reagieren
  • aktiv  Messages an Log-Server senden /Zeitsynchronisation

4.7 Linux Client

Netz: 192.168.1.0/24

IP: 192.168.1.1

Name: user

BS: Linux, grafisch KDE

Fkt: Client-Rechner / DNS

Rechte:

  • Zugriff auf Server im Extranet: www, ftp, Zeitserver
  • DNS intern anfragen
  • Anfragen im internen Netz (Fileserver, etc.)
  • Zugriff auf Internet über Proxyserver

4.8 Windows Client

Netz: 10.17.26.0/24

IP: 10.17.26.5

Fkt: unabhängig, Internetzugang / Recherche

später evtl. Windows Client im intemen Netz Rechte: nicht definiert

4.9 Aufgaben

DNS Intranet: beantwortet anfragen der internen Clients, Forwarding auf DNS im Extranet DNS Extranet: Annahme / Weiterleitung von Intranetanfragen an Internet, Forwarding zum DNS des „Providers"

MHG:

  • Routet Intranet ins Extranet
  • Routet Intranet ins Internet über den Proxy im Extranet
  • Routet Adminnet in Extranet und Intranet
  • NAT/SNAT/DNAT, Paketfilterung

Cisco:

  • ppp zum Provider
  • Paketfilter vom Internet ins Extranet (TCP-Flags, Angriffe)
  • NAT/SNAT/DNAT
  • äußere öffentliche IP-Adresse der Firma
  • Weiterleitung gültiger Anfragen an Extranet(MHG)

5 Realisierung / Umsetzung

Es wurden zuerst alle Dienste konfiguriert und auf Ihre Funktion getestet: VLAN, DNS, NTP, SSH, HTTP, HTTPS, FTP. Proxy.

Die funktionierende Konfiguration wurde dann schrittweise um die Firewallregeln erweitert und getestet.

5.1 VLAN – Konfiguration

Zur Umsetzung der Aufgabe war die Einrichtung von V-Lans erforderlich. Dazu wurde an dem 3Com-Switch die erforderliche Konfiguration vorgenommen. Es wurden insgesamt vier Netze definiert:

INTRANET: Internes Netz für die Anwender / Clients
EXTRANET: DM2 / Netz für die Webserver, Ftp etc.
ADMINNET: Netz für die Adminkonsole und den Logserver
CISCONET: Netz für die Verbindung mit dem Internet über den Cisco Router

(Auflistung der Konfiguration siehe Übersicht folgende Seite)

VLAN Übersichtstabelle:


5.2 Routing / MHG / Cisco-Konfiguration

Am Routing sind in der Unternehmensumgebung 2 Komponenten beteiligt:

Der CISCO-Router 1605 R:

Er stellt über ppp eine Verbindung zum Provider her. Der Router ist das Default-Gateway auf der IP192.168.4.253 und routet in das Intranetz über 192.168.0.0/16

(Konfigurationsausdruck folgt)

Multihost-Gateway (MHG):

  • Über eth0 mit dem Adminnetz verbunden. IP: 192.168.2.254
  • Über eth1 mit dem Intranet verbunden. IP: 192.168.1.254
  • Über eth2 mit dem Cisco-Net verbunden. IP: 192.168.4.253
  • Über eth3 mit dem Extranet verbunden. IP: 192.168.3.254
  • Der CISCO-Router ist als Default Gateway konfiguriert
  • Die Routen zu den anderen Netzen sind standardmäßig vorhanden
  • Forwarding ist aktiviert: echo 1 > /proc/sys/neMpv4/ip_forward

Aus den gewählten IP-Adressbereichen ergeben sich folgende Einstellungen:


Routing Tabelle (MHG):




5.2.1 Konfiguration Cisco Router 1605

Konfigurationsausdruck:
Router#sh ru

Building configuration...

Current configuration:

!
! Last configuration change at 13:00:34 CEST Mon Nov 16 2009
! NVRAM config last updated at 17:02:16 CEST Mon Nov 16 2009
!

version 12.0

service tirctestamps debug uptime

service timestamps log uptime

no service password-encryption
!
hostname Router
!
no logging console

enable secret 5 Sl$Jcx8$Oh31SYQEKX7s54IvRWleG0

enable password ....

!
ip subnet-zero
no ip finger 
clock timezone CEST 2 
!
!
!
interface Ethernet0

no ip address

no ip directed-broadcast

shutdown
!
interface Ethernet1

ip address 192.166.4.254 255.255.255.0

ip access-group 1 in

no ip directed-broadcast

ip nat inside
!
interface Serial0

ip address 223.200.100.10 255.255.255.252

no ip directed-broadcast

ip nat outside

encapsulation ppp
!
ip nat pool reihel 223.200.100.10 223.200.100.10 netmask 255.255.255.252

ip nat inside source list 1 pool reihe1 overload

ip nat inside source static tcp 192.168.3.10 443 interface Serial0 443

ip nat inside source static udp 192.168.3.20 53 interface Serial0 53

ip nat inside source static tcp 192.168.3.21 21 interface Serial0 21

ip nat inside source static tcp 192.168.3.10 80 interface Serial0 80

ip classless

ip route 0.0.0.0 0.0.0.0 223.200.100.9

ip route 192.168.0.0 255.255.0.0 192.168.4.253
!
logging 192.168.2.2

access-list 1 permit 192.160.0.0 0.0.255.255

access-list 2 permit 192.168.2.1 

no cdp run

snmp-server Community public RO
snmp-server Community admin RW
!
line con 0
 exec-timeout 0 0
 password ...
 login
 transport input none
line vty 0 4
 access-class 2 in
 password ...

 login

!
sntp server 192.168.3.20

end

5.3 DNS Konfiguration

Planung/Soll:

im Intranet wird der Rechner user (192.168.1.1) als DNS-Server eingesetzt. Er soll alle Adressen im Intra und Extranet (DMZ) auflösen. Er hat als forwarder den externen DNS Server proxy.xxxx.net (192.168.3.20) eingetragen.

proxy.xxxx.net (192.168.3.20) dient nur für die Anfragen aus dem Internet.

Er kann nur folgende Namen auflösen:
ns 223.200.100.10 223.200.100.10

ftp 223.200.100.10 223.200.100.10

proxy hat als forwarder den Provider DNS, hier die 147.54.76.225, eingetragen. Die anderen werden durch den eigens geschaffenen RootServer 10.17.26.100 dem DNS Server bekannt gemacht.

IST:

Zur Namensauflösung intern und für die DMZ werden jeweils ein DNS-Server eingerichtet. Der interne DNS-Server läuft auf dem Client user, der ausnahmsweise dazu benutzt wurde, da es sich hier nicht lohnt ein extra Server dafür aufzusetzen. Er ist für die Anfragen aus dem internen Netz und des AdminNetzes zuständig und kennt natürlich auch die DMZ. Er forwarded seine Anfragen, die ihm nicht bekannt sind, an den DNS in der DMZ weiter.Der DNS-Server in der DMZ läuft auf dem Server proxy.xxxx.net und ist für die Anfragen der DMZ und Anfragen von aussen zuständig. Er forwarded Anfragen, die ihm nicht bekannt sind, an das Unternehmes-DNS weiter.

Im internen Netz zuständig: Rechner user.xxxx.ag/IP: 192.168.1.1

Auszug der Konfigurationsdatei /etc/named.conf:

 
options {
directcry "/var/iib/named";
dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
forwarders {192.168.3.20;};
notify no;
}:
logging {
channel query_logging {
file „/var/log/named_querylog"
versions 3 size 100M;
print-time yes; 	
}:

channel syslog_errors {
syslog user;
severity error;
};
category default { syslog_errors; };

category lame-servers {null;};
};
zone"." in {
type hint;
file "root.hint";
};

zone "localhost" in {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
type master;
file"127.0.0.zone";
};

zone "xxxx" in {
type master;
file "xxxx.ag.zone";
};

zone "1.168.192.in-addr.arpa" in {
type master;
fi!e-19Z168.1.zone";
};

5.4 NTP Zeitkonfiguration

Planung/SOLL Der Rechner proxy (192.168.3.20) soll im Firmennetz als Zeitserver dienen. Alle anderen Rechner können ihre Zeit nur mit ihm abgleichen. proxy selbst gleicht seine Zeit tristan.tcberlin.lsts.de ab. IST Zeitserver für alle Subnetze ist proxy {192.168.3.20) in der DMZ. Dazu wurde das Paket XNTP der Version 4.1.1 installiert. XNTP ist ein Service der ständig die Zeit des Rechners mit einem Zeitserver abgleicht. Dies geht aber nur in kleinen Schritten. Ist der Zeitabstand zu gross, kann er sie selber nicht stellen, sondern ist darauf angewiesen, dass sie manuell gesetzt wird.

Der Konfigurationsdatei /etc/ntp.conf:

 
Server 127.127.1.0			
fudge 127.127.1.0 stratum 10 
Server 147.54.76.223			
driftfile /var/lib/ntp/drift/ntp.drift 	
logfile /var/log/ntp        		
logconfig = all

Der Server wird mit /etc/init.d/xntpd Start gestartet und ist in den Runlevel 3 integriert. Wenn alles funktioniert, sollte mit ntpq -p die Zeile:

 
Remote        refid    st t when pol! reach delay offset jitter
--------------------------------------------------------------------------------------------
LOCAL(0)     LOCAL(O)       101   30   64 377    0.000   0.000  0.008
*tristaatcberli rdwork2.mchp.si 4u  58 128 377   11.775 -2.386 0.008

ausgegeben werden.


Beim Client: wie beim Server muss auch auf dem Client das XNTP Paket installiert sein. Die Konfigurationsdatei sieht hier wie folgt aus:
Datei /etc/ntp.conf:

 
Server 192.168.3.20			
driftfile /var/lib/ntp/drift/ntp.drift 	
logfile /var/log/ntp        		
logconfig =syncstatus + sysevents

Unter Windows kann der Zeitserver mit dem Kommando: net time /setntp: IP_Serv eingestellt werden. Dann Synchronisieren mit dem Kommando: net stop w32time w32tm -once net start w32time Danach sollte w32tm als Task zu den geplanten Tasks hinzugefügt werden, um die Zeit in regelnlässigen Abständen abzugleichen.

5.5 ssh Konfiguration

Planung / SOLL Konzept Remote Shell Zugriffe werden im Netz nur über SSH erlaubt. Der Zugriff auf den AdminHost admiral {192.168.2.1) darf nur über eine RSA-verschlüsseite Verbindung per .private Key* auf Diskette realisiert werden. Nur von ihm aus sind alle Server in der DMZ und per SSH zu administrieren. Der Zugriff per ssh ist nicht für den User root gestattet. Dies macht der User kaepten der überall eingerichtet wurde. Sobald kaepten auf der jeweiligen Maschine angemeldet ist, kann per su – zu root gewechselt werden Das MHG kann nur über die Schnittstelle zum AdminNetz per ssh administriert werden.

Realisierung SSH mit RSA-Authentlflzferung Installiert wurden die aktuelle Version von SuSe mit allen letzten Sicherheitspatches. Diese wurden auf allen Maschinen installiert. Die Runlevels wurden unter /etc/init.d/rc3.d bzw. auf dem Client /etc/init.d/rc5.d so angepasst, dass SSHD beim Starten der Rechner automatisch lauft. Für einen Systemübergreifend eingerichteten User namens „kaepten" wurde auf der Client-Maschine mit dem Kommando ssh-keygen -b 2048 -t rsa ein RSA-Schlüsselpaar (id_rsa, id_ras.pub) mit einer Länge von 2048 bit und einer Passphrase in seinem Homeverzeichnis -/.ssh erstellt. Dieser User soll sich mit der Adminkonsole und den Servern in der DMZ verbinden können, da root-Zugriff per ssh nicht ertaubt sein soll. Der Public-Key wurde auf der Adminkonsole in das .ssh Verzeichnis des Users kaepten kopiert und dort umbenannt in authorized_keys Der private Schlüsselteil (id_rsa) wird auf eine Diskette verschoben. In der sshd_config der Adminkonsole wurde der Pfad zum Schlüssel gesetzt: IdentityRIe /media/floppy/id/id_rsa bzw. /media/sda1/id/id_rsa


Die Konfig-Datei /etc/ssh/sshd_config auf den Servern wie folgt:

 
Protocol 2

ListenAddress 0.0.0.0

HostKey /etc/ssh/ssh host_rsa_key

HostKey /etc/ssh/sshlhost_dsa_key

KeyRegenerationlnterval 1h

SyslogFacilityAUTH

LogLevel INFO

LoginGraceTime 2m

PermitRootLogin no

PasswordAuthentication yes

PermitEmptyPasswords no

XHForwardingyes

UsePrivilegeSeparation no

Subsystem      sftp   /usr/lib/ssrvsftp-server

<u>sshd_config auf der AdminKonsole :</u>

Port 22

Protocol 2

ListenAddress 0.0.0.0

ListenAddress::

HostKey/etc/ssh/ssh host rsa_key

HostKey /etc/ssh/ssh_host_dsa_key

KeyRegenerationlnterval 1h

SyslogFacilityAUTH

LogLeve) INFO

LoginGraceTime 2m

PermitRootLogin no

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFüe     .ssh/authorized_keys

PasswordAuthentication no

PermitEmptyPasswords no

AllowTcpForwarding yes

XHForwardingyes

UsePrivilegeSeparation no

Compression yes

Subsystem      sflp   /usr/lib/sstVsftp-server

5.6 http / https Webserver Konfiguration

Web-Server

Name: webber.xxxx.net
IP: 192.168.3.10


SSL unter apache 2.0.47 gescheitert.

Installation apache 1.3.28 + mod_ss!

Laufende Dienste:

network apache 1.3.28 Xntpd Syslog sshd

Zugriff auf http://www.xxxx.net von allen Rechnern im Netz möglich. Über SSL Zugriff auf https://secure.xxxx .net „Test-Zertifikat unter /etc/httpd/ssl.crt/ssrver.crt Schlüssel dazu - unter /etc/httpd/ssl.key/server.key

Wichtigste Einträge In der fetc/httpd/httpd.conf:

 
ServerType standalone

SetverRoot VsrvAwww"

LockFile/var/lock/subsys/httpd/httpd.accept.lock

PidFile /var/run/httpd.pid

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 1

MaxSpareServers 1

StartServers 1

MaxCIients 150

MaxRequestsPerChild 0

LoadModule ssl_module       /usr/lib/apache/libssl.so

Include /etc/httpd/suseloadmodule.conf

AddModule mod_ssl.c

Port 80

Listen 80

Listen 443

User wwwrun

Group www

HostnameLookups Off

ServerAdmin admin@xxxx.net

ServerName webber.xxxx.net

DocumentRoot /srv/www/htdocs"

Directoryindex index.htm

<Directory />

:AuthUserFile /etc/httpd/passwd

:AuthGroupFile /etc/httpd/group

:Options -FollowSymLinks +Multiviews

:AllowOverride None

</Directory>

<Directory 7srvAvww/htdocs">

:Options Indexes -FollowSymLinks +lncludes MultiViews

:AllowOverride None

:Order allow.deny

:Allowfromall

</Directory>

AccessFileName .htaccess

ErrorLog /var/iog/httpd/error_log

LogLevel warn

LogFormat "%h %l %u %t V%r\" %>& %b\"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFomiat "%h %! %u %t \"%rt" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

CustomLog /var/log/httpd/access_log common

<Location /server-status>

SetHandler server-status Order

deny.allow Deny from all

Allowfrom localhost </Location>

<Location /server-info>

SetHandler server-info Order

deny.allow Deny from all

Allow from localhost </Location>

<VirtualHost _default_:443>

DocumentRoot /srv/www/htdocs/secure"

ServerName secure.xxxx.net

ServerAdmin admin@xxxx.net

Directoryindex index.html tndex.htm

ErrorLog /var/log/httpd/error_SSLJog

TransferLog /var/iog/httpd/access_SSL_log

SSLEngine on

SSLCipherSuileALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile/etc/httpd/ssl.crt/server.crt

SSLCertificateKeyFile/etc/httpd/ssl.key/server.key

5.7 FTP Konfiguration

Der proxy.xxxx.net stellt den ftp-Service bereit. Es darf nur anonymous im read-only Modus auf das Ftp-pub Verzeichnis zugreifen und registrierte User mit Usernamen und Passwort auf ihr Homeverzeichnis und das Ftp-pub Verzeichnis schreibend. Die Arbeitsweise des FTP-Servers ist passiv.

Extern ist er über die Adresse ftp.xxxx.net oder 223.200.100.10, Port 21 erreichbar

Intern ist er auch über dieAdresseftp.xxxx.net oder die 192.168.3.21, Port 21 erreichbar

Auf FTP-Server im Internet soll niuur über den Proxyserver zugegriffen werden.

Der Server eignet sich auch sicherheitsrelevante sowie administrative Funktionen bietet.

Gestartet wird er über ein kleines Start/Stop-Script unter /etc/init.d/.

Der FTP-Server wurde so konfiguriert, dass ClientUser aus dem FirmenNetz einen Zugang mit Usernamen und Passwort bekommen. Dazu wurde auch ein kleines Script namens ftpuseradd.sh im Ordner /etc zum Anlegen der User geschrieben.

Script /etc/addftpuser.sh:

 
#!/bin/bash

echo -n "Bitte Benutzernamen eingeben:"

read username

echo "Erstelle Benutzer $username..."

useradd -d /home/$username -g ftpgroup -s /bin/false $username

echo "Erstelle Heimatverzeichnis..."

mkdir /home/$username

echo "Setze Benutzerberechtigungen..."

chown $username:ftpgroup /home/$username

chmod 1770/home/$username

echo "Erlaube Benutzer den FTP-Zugriff..."

echo "Setze Passwort für neuen Benutzer..."

passwd $username

#-----ENDE---

Für die registrierten User steht ein Homeverzeichnis zur Verfügung, aber keine Shell auf dem Server. Weiterhin können die registrierten User in das PublicVerzeichnis des FTP-Servers wechseln und dort Dateien ablegen, die ein anonymous User per ftp abholen kann. Anonymous User haben keinerlei Berechtigung zum Schreiben.

Der FTP-Server läuft in einer chroot-Umgebung, daher können anonymous User nur Verzeichniswechsel unterhalb des pub-Verzeichnisses durchführen. Registrierten Usern ist es erlaubt, das Verzeichnis zu wechseln. Sie können aber nur auf ihr Homeverzeichnis und dem pub-Verzeichnis schreibend zugreifen.

5.8 Konfiguration des MHG & Proxy

Installiert wurde ein Grundsystem als minimale Konfiguration ohne grafische Oberfläche. Zusätzlich wurden vorübergehende folgende Dienste/Programme installiert:

Make erforderlich zu Installation von z.B. squid
gcc erforderlich zu Installation von z.B. squid
kemel-source erforderlich zu Installation von z.B. squid
squid 2.5STABLE5 proxy-server

Zunächst wurde versucht den Proxy als transparenten Proxy einzurichten. Aufgrund der auftretenden Probleme bei der Konfiguration waren nur direkte Zugriffe auf den FTP Server und den internen HTTP/HTTPS Server möglich. Aus diesem Grund wurde der Proxy Server als .normaler" Proxy eingerichtet. Anfragen aus dem INTRANET laufen jetzt immer über den Proxy. Zugriffe aus dem Internet auf den eigenen Webserver und den eigenen FTP-Server werden direkt an die entsprechenden Server weitergeleitet. Aufgrund der Positionierung des Proxy auf dem MHG wurde von einer Konfiguration der Zugriffe aus dem Internet über den Proxy abgesehen.

Squid starten

 
/usr/local/squid/sbin/squid -D -s -f/usr/local/squid/etc/squid.conf

squid-Konfigurationsdatei unter /usr/local/squid/etc/squid.conf

http_port 3128

oache_peer 147.54.76.225 parent 9999 0 proxy-only no-query

cache_peer_domain 147.54.76.225 !.xxxx.net !.ls !10.17.26.100 l.xxxx.fbi

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

cache_access_log /usr/local/squid/var/logs/access.log

cache_Xog /usr/local/squid/var/logs/cache.log

debug_options ALL,1

ftp_user Squid@xxxx.net

ftp_list_width 64

ftp_passive on

ftp_telnet_protocol on

auth_param basic children 5

auth_param basic realm Squid proxy-caching web Server

auth_param basic credentialsttl 2 hours

refresh_pattern "ftp:       1440 20%  10080

refresh_pattern "gopher:     1440 0%   1440

refresh_pattern .     0    20%  4320

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563

acl Safe_ports port 80      # http

acl Safe_ports port 21      # ftp

acl Safe_ports port 443 563  S https, snews

acl CONNECT method CONNECT

acl local-clients src 192.168.1.0/24

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access deny to_localhost

http_access allow local-clients

http_access deny all

http_reply_access allow all

icp_access allow all

acl FTP proto FTP

acl ftp_serv dst 192.168.3.21

acl ftp_serv dst 10.17.26.100

always_direct allow FTP ftp_serv

acl web_servers dst 192.168.3.10

acl web_servers dst 10.17.26.100

acl web dstdomain .radio.fbi

never_direct allow all !web_servers Iweb

coredurap_dir /usr/local/squid/var/cache

5.9 Firewall Konfiguration

Für die Umsetzung der Firewall werden folgende Dienste berücksichtigt:

ssh     vom Intranet auf die Adminkonsole
      von der Adminkonsole zu den Servern und zu den Rechnern im Intranet
      von der Adminkonsole auf den MHG (trapper)
ntp     interner Zeitserver(proxy)
      Intranet zum internen Zeitserver
      Adminnet zum internen Zeitserver
      Trapper zum internen Zeitserver
icmp     ping von der Adminkonsole zu den Servern
      ping von der Adminkonsole in das Intranet
dns     interner DNS (useme) zum Extranet DNS (proxy)
      Extranet DNS (proxy) in das Internet
      Internet DNS zum DNS im Extranet (proxy)
http/https     Internet auf den internen Webserver (port 80 / port 443)
      Intranet auf den proxy (port 3128)
      Proxy an Internet (port 9999)
      Proxy an Internet (port 80 / port 443)
      Proxy an internen Webserver (port 80 / port 443)

Bei der Umsetzung der Firewall wurde eine Log-Chain eingerichtet, die alle von keiner anderen Regel erfassten Pakete mit protokolliert. In einer weiteren Anpassung müssen, um ein „überlaufen" der Logs zu verhindern, weitere Regeln eingeführt werden die „erwartete Ereignisse" erfassen und deren Aufzeichnung in der Log-Chain verhindern.

Für Start und Stop der Firewall wurde ein Skript erstellt. Optionen: Start / stop / list.

Start startet die Firewall
Stop beendet die Firewall
List zeigt die aktuell geladenen Einstellungen der Firewall an.

Außerdem wurde ein Skript zum stoppen der (aufgerufen vom Start/Stop Skript) erstellt, mit dem alle Eintragungen zurückgesetzt werden.

Firewall-, Start / Stop- und Löschscript siehe Anlage!!

5.10 Sicherheitsrichtlinien

Nachfolgende Sicherheitsrichtlinien sind vorgeschrieben für:

Server / Administratoren

  • Server werden gegen unbefugten Zugriff in gesonderten Räumlichkeiten betrieben
  • Nur berechtigte Personen haben Zutritt zu Serverräumen
  • Passwörter sind ausnahmslos nicht schriftlich abzulegen
  • Für Notfälle sind die aktuell gültigen Administratorkennworte in einem geschlossenen Umschlag im Panzerschrank der Geschäftsführung zu hinterlegen
  • Passwörter sind spätestens nach 3 Monaten zu ändern
  • Passwörter sind mindestens 8 Zeichen lang und müssen Ziffern Grossbuchstaben, Zahlen und Sonderzeichen enthalten
  • Zum Schutz der Server sind geeignete Maßnahmen zu treffen, dies zielt insbesondere auf die Konfiguration der notwendigen Dienste / Services und der notwendigen Programme für den Betrieb der jeweiligen Funktion zu

Clients/User

  • Client-Rechner sind durch Benutzerpasswörter zu schützen
  • Passwörter sind alle 3 Monate zu wechseln
  • Passwörter müssen mindestens 8 Zeichen lang sein und Ziffern und Sonderzeichen enthalten
  • Die Weitergabe von Passwörtern sowie deren schriftliche Aufzeichnung ist untersagt,
    mittelfristig ist eine Lösung ohne Passwörtem (z.B. Smartcard) einzuführen
  • Auch bei kurzzeitigem Verfassen des Arbeitsplatzes ist der Rechner zu sperren. Ein
    zeitverzögert aktivierter passwortgeschützer Bildschirmschoner wird als nicht ausreichend angesehen!
  • Daten des Unternehmens sind immer als vertraulich zu behandeln und dürfen weder in
    gedruckter noch in elektronischer Form zu privaten oder nicht autorisierten Zwecken
    vervielfältigt werden.
  • Installierte Programme sind Firmeneigentum und dürfen zu keinem Zeitpunkt Vervielfältigt und zu privaten oder nicht autorisierten Zwecken genutzt werden
  • Das Installieren von nicht autorisierter Software auf Firmen - PC ist strikt untersagt. Dies gilt auch für die Anwendung von selbst erstellten Programmen oder Skripten, die nicht im Rahmen des Arbeitsbetriebes zur Bewältigung von Projektaufgaben erstellt werden.
  • Das Anschließen/Einbauen von privater Hardware an Firmen - PC oder Firmen-Hardware ist strikt untersagt.
  • Das Einbinden privater und nicht autorisierter Rechner in das Finnennetzwerk ist strikt
    untersagt
  • Das Email-System der Firma dient ausschließlich dem Versand und Empfang von Firmen Emails. Private Emails sind nicht zulässig!
  • Email Anhänge werden vom Mailsystem auf unerwünschte Inhalte / Anhänge und Viren
    überprüft. (Emails von unbekannten Absendern sowie die Anhänge dieser Mails sollen nicht, oder ggf. erst nach Rücksprache mit XXX geöffnet werden)

6 Literaturverzeichnis

7 Quellenverzeichnis

Gesetze

Internet:

o.V. (o.J.): Abkürzungen auf der Seite URL: http://www.abkuerzungen.org/suche.php, Stand: 25.02.2010

8 Anlage

8.1 Firewallscript

 
#!/bin/bash

#

# Firewall-Skript MHG

# erstellt: 16-11-2009

# geändert: 19-11-2009

# Ersteller: rw

clear

echo

echo ---------------------------------------------

echo " FIREWALL STARTING…."

echo ---------------------------------------------

# ---------------------------------------------

# Variablen-Daklaration

# ---------------------------------------------

IPT="’which iptables*"

INSMOD-"’which insmod’"

ANYPORT="1024:"

# ---------------------------------------------

echo " DEFINE NETWORKS "

# ---------------------------------------------

INTRANET="192.168.1.0/24"

ADMINNET="192.168.2.0/24"

EXTRANET="192.168.3.0/24"

CISCONET="192.168. 4. 0/24"

# ---------------------------------------------

echo " DEFINE SERVERS "

# ---------------------------------------------

ADMIN="192.168.2.1"

LOGSRV="192.168.2.2"

PROXY="192.168.3.20"

WEBBER="192.168.3.10"

USEME="192.168.1.1"

FTPSRV="192.168.3.21"

CISCO="192.168.4.254"

# ---------------------------------------------

echo " DEFINE INTERFACES "

# ---------------------------------------------

IF_ADMIN="eth0"

IF_INTRA="ethl"

IF_CISCO-"eth2"

IF_EXTRA="eth3"

# ---------------------------------------------

echo "LOADING MODULES"

# ---------------------------------------------

${INSMOD} ip_tables i> /dev/null

${ INSMOD} ip_conntrack i> /dev/null

${INSMOD} ip_conntrack_ftp i> /dev/null

${INSMOD} ipt_state i> /dev/null

$ {INSMOD} iptables_nat i> /dev/null

${INSMOD} ipt_REJECT i> /dev/null

${INSMOD} ipt_tcpms i> /dev/null

# ---------------------------------------------

echo " FORWARDING OFF "

# ---------------------------------------------

echo 0 > /proc/sys/net/ipv4/ip_forword

# ---------------------------------------------

echo " RESET RULES "

# ---------------------------------------------

${IPT} -F

StIPT} -t nat -F

${lFT} -t nat -F

${IPT}

# ---------------------------------------------

echo " DEFINE DEFAULT FOLICY"

# ---------------------------------------------

S{IPT} -P INPUT DROP

${IPT} -P OUTPUT DROP

${IPT} -P FORSARD DROP

# ---------------------------------------------

#Deckelregeln zum Schutz wahrend der Aktivierung

# ---------------------------------------------

${IPT} -A INPUT -j REJECT

${IPT} -A OUTPUT -j REJECT

${IPT} -A FORWARD -j REJECT

# ---------------------------------------------

# Filterregeln für lo-device setzen

# ---------------------------------------------

${IPT} -A INPUT -i lo -j ACCEPT

${IPT} -A OUTPUT -o 10 -j ACCEPT

# ---------------------------------------------

# Definition der Regeln zum Schutz nach Aussen

# ---------------------------------------------

# spoofing verhindern

# ---------------------------------------------

${IPT} -A INPOT -i ${IF_CISCO} -s ${INTRANET} -j REJECT

${IPT} -A INPUT -i ${IF_CISCO} -s ${ADMINNET} -j REJECT

${IPT} -A INPUT -i ${IF CISCO} -s ${EXTRANET} -j REJECT

${IPT} -A FORWARD -i ${IF_CISCO) -s ${INTRANET} -j REJECT

${IPT} -A FORWARD -i ${IF_CISCO} -s ${ADMINNET} -j REJECT

${IPT} -A FORWARD -i $(IF_CISCO} -s ${EXTRANET} -j REJECT

# ---------------------------------------------

$ XfAS block

# ---------------------------------------------

${IPT} -A INPUT -p tcp --tcp-flags ALL ALL -j REJECT

${IPT} -A FORWARD -p tcp --tcp-flags ALL ALL -j REJECT

# ---------------------------------------------
$ NULL-Pakete blockieren
# ---------------------------------------------
${IPT} -A INPUT -p tcp --tcp-flags ALL NONE -j REJECT
$(IPT} -A FORHARD -p tcp --tcp-flags ALL NONE -j REJECT


# ---------------------------------------------
#sys-flood block
# ---------------------------------------------		
${IPT} -A INPUT -p tcp --syn -m limit --limit l/s -j ACCEPT
${IPT} -A FORWARD -p tcp --syn -m limit --limit l/s -j ACCEPT

# ---------------------------------------------
# Portscans blocken
# ---------------------------------------------	
${IPT} -A INPUT -p tcp --tcp-flags SYN.ACK,FIN,RST RST -m limit --limit l/s -j ACCEPT
$(IPT} -A FORWARD -p tcp --tcp-flags SYN,RCK, FIN, RST RST -m limit --limit l/s -j ACCEPT

# ---------------------------------------------
#	ping von Admin-Konsole erlauben<br># ---------------------------------------------
# 	auf Extranet und Intranet
${IPT1 -A FORWARD -i ${IF_ADMIN} -p icmp -s ${ADMIN} -j ACCEPT
#	auf trapper
${IPT}  -A INPUT -i  ${IF_ACMIN}   -p ioap -s ${ADMIN}   -j ACCEPT

# ---------------------------------------------	
#	t- ping of death
# ---------------------------------------------	
${IPT}  -A INPUT -p icmp –icmp-type echo-request -m limit --limit  l/s -j ACCEPT
${IPT}   -A FORWARD -p icmp --icmp-type echo-request -in limit  --limit  l/s -j ACCEPT

# ---------------------------------------------	
#	DNS - KONFIGURATION
# ---------------------------------------------
#	DNS: dns zulassen INTRANET zu EXTRANET
${IPT} -A FORWARD -p udp -s ${USEME} -d ${PROXY} --dport  53 -m State --state
NEW -j ACCEPT
${IPT} -A FORWARD -p tcp -s ${USEME} -d ${PROXY} --dport  53 -m State --state NEW -j ACCEPT

# dns zulassen EXTRANET zu INTERNET
$(IPT} -A FORWARD -p udp -s ${PROXY} --dport  53 -m State --state NEW -j ACCEPT ${IPT} -A FORWARD -p tcp -s ${PROXY} --dport  53 -m State --state NEW -j ACCEPT

# dns vom INTERNET zum EXTRANET zulassen
${IPT} -A FORWARD -p udp -d ${PROXY} --dport  53 -m State --state NEW -j ACCEPT ${IPT} -A FORWARD -p tcp -d ${PROXY} --dport  53 -m State --state NE» -j ACCEPT

#Testeintrag alle Port 53 Anfragen offen
${IPT} -A FORWARD -p udp --dport  53 -j ACCEPT
${IPT} -A FORWARD -p tcp --dport  53 -j ACCEPT

# dns zulassen für trapper
${IPT} -A OUTPUT -p udp --dport 53 -m State --state NEW -j ACCEPT
${lPT} -A OUTPUT -p tcp --dport  53 -m State --state NEW -j ACCEPT

# dns von adminnet zulassen
${IPT} -A FORWARD -p udp -s 192.168.2.0/24 --dport 53 -m State --state NEW
-j ACCEPT
${IPT} -h FORWARD -p tcp -s 192.168.2.0/24 --dport  53 -m State --State NEW

# ---------------------------------------------
# NTP: Zeitsynchronisation zulassen
# ---------------------------------------------

${IPT} -A FORWARD -p udp — dport 123 -3 ${PROXY} -d 147.54.76.223/32 -m state
:--state NEW -j ACCEPT
${IPT} -A FORWARD -p udp --dport 123 -s 192.168.1.0/24 -d ${PROXY} -m state
:--state NEW -j ACCEPT
${IPT} -A FORWARD -p udp --dport 123 -s 192.168.2.0/24 -d $(PROXY} -m state
:--state NEW -j ACCEPT
${IPT} -A INPUT -p udp --dport  123 -s 192.168.3.254 -d ${PROXY} -m state --state
:NEW -j ACCEPT
${IPT} -A OUTPUT -p udp --dport  123 -s 192.168.3.254 -d ${PROXY} -m state --state
:NEW -j ACCEPT
# ---------------------------------------------	
# HTTP/HTTPS Zugriffe auf Internet und Webserver vom INTRANET<br># ---------------------------------------------	
# Anfragen aus dem intranet am proxy akzeptieren
${IPT} -A INPUT -p tcp --dport  312B -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

# Anfragen des Proxy an das Internet zulassen (Forwarder)
${IPT} -A OUTPUT -p tcp --dport  9999 -s 192.168.4.253 -d 0.0.0.0/0 -m state --state NEW -j ACCEPT

# Anfragen des Proxy an Webserver zulassen
${IPT} -A OUTPUT -p tcp --dport  80 -s 192.168.4.253 -d 0.0.0.0/0 -m state
:--state NEW -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport  443 -s 192.168.4.253 -d 0.0.0.0/0 -m state
:--state NEW -j ACCEPT

# Anfragen des Proxy an den internen Webserver akzeptieren
${IPT} -A OUTPUT -p tcp --dport  80 -s 192.168.3.254 -d 192.168.3.10 -m state
:--state NEW -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport  443 -s 192.168.3.254 -d 192.168.3.10 -m state
:--state NEW -j ACCEPT

# ---------------------------------------------
#	HTTP/HTTPS auf Webber von Aussen zulassen
# ---------------------------------------------
${IPT} -A FORWARD -p tcp --dport  80 -i  ${IF_CISCO}   -d ${WEBBER}  -m state
:--state NEW -j  ACCEPT
${IPT} -A FORWARD -p tcp --dport  443 -i ${IF CISCO}  -d ${WEBBER}  -m state
:--state NEW -j ACCEPT

# ---------------------------------------------	
#	ssh vom INTRANET auf Adminkonsole zulassen
# ---------------------------------------------		
${IPT} -A FORWARD -p tcp -s ${INTRANET} -d ${ADMIN} --dport 22 -m state
:--state NEW -j ACCEPT

# ---------------------------------------------
#	ssh von Adminkonsole auf Extranet
# ---------------------------------------------
${IPT} -A FORWARD -p tcp -s ${INTRANET}-d ${ADMIN} --dport 22 -m state
:--state NEW -j ACCEPT
<br># ---------------------------------------------			
#	ssh auf trapper zulassen von Adminkonsole
# ---------------------------------------------				
${IPT} -A INPUT -p top -s ${ADMIN}   -d 192.166.2.254  --dport  22 -m state
:--state NEW -j  ACCEPT

# ---------------------------------------------
#	FTP - KONFIGURATION
# ---------------------------------------------	
${IPT} -A FORWARD -p tcp -s ${INTRANET} -d ${FTPSRV} --dport 21 m state
:--state NEW -j ACCEPT
${IPT} -A FORWARD -p tcp -i ${IF_CISCO> -d ${FTPSRV} --dport 21 -m State
:--state NEW -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport 21 -m State --state NEW -j ACCEPT

# ---------------------------------------------	
#	 LOG-SERVICES zulassen
# ---------------------------------------------	
${IPT} -A FORWARD -p udp --dport   514   -m state  --state NEW -j ACCEPT
${IPT} -A OUTPUT -p udp --dport   514   -d ${LOGSRV}  -m State --state NEW  -j ACCEPT

# ---------------------------------------------	
# ATFTP von ADMIN-KONSOLE zum CISCO-ROUTER zulassen (bei Bedarf aktivieren!)
# ---------------------------------------------	
#${IPT} -A FORVIARD -p tcp --dport  69  -m state --state NEW -j ACCEPT
#${IPT} -A FORWARD -p udp --dport 69 -m state --state NEW -j ACCEPT

# ---------------------------------------------	
#	 Related packages durchlassen
# ---------------------------------------------	
${IPT} -A INPUT -m State --state ESTABLISHED, RELATED -j ACCEPT
${IPT} -A OUTPUT -m State --state ESTABLISHED,RELATED -j ACCEPT
${IPT} -A FORWARD -m State --state ESTABLISHED,RELATED -j ACCEPT

# ---------------------------------------------	
#	Forwarding wieder einschalten
# ---------------------------------------------	
echo 1 > /proc/sys/net/ipv4/ip_forward

# ---------------------------------------------
# LOG-CHAIN einrichten / Alle verworfenen Ereignisse protokolliere
# ---------------------------------------------
${IPT}	-A MYLOGGING	
${IPT}	-A MYLOGGING -p tcp -j LOG --log-prefix " TCP_REJECT "
${IPT}	-A MYLOGGING -p udp -j LOG --log-prefix " UDP_REJECT "
${IPT}	-A MYLOGGING -p icmp -j LOG --log-prefix " ICMP_REJECT "
${IPT}	-A MYLOGGING -j REJECT
${IPT}	-A OUTPUT -j MYLOGGING
${IPT}	-A INPUT -j MYLOGGING

# ---------------------------------------------	
#	Firewall  scharf machen
# ---------------------------------------------	
${IPT} -D INPUT 1
${IPT} -D OUTPUT 1
${IPT} -D FORWARD 1

echo  ---------------------------------------------	
echo " FIREWALL ACTIVE "
echo  ---------------------------------------------	

8.2 Start / Stop Script

#!/bin/bash
# Start/Stop Script fuer die Firewall
# Ersteller:    rw
# Erstellt: 20-11-2009
# Geaendert:
# Pfad:         /.....

IPT="`which iptables`"
case $1 in
:start)
:  /etc/FwMHG/fire.sh
:;;
:stop)
:  /etc/FwMHG/killFW.sh
:;;
:list)
:  clear
         	   ${IPT} -t nat -nvL
	   echo
	   $(IPT} -nvL
	;;
	echo " Startoptionen für $0 : [startlstopllist]’
	;;
esac

8.3 Script zum Löschen der Einstellungen

#!bin/bash
#
# Loeschen aller Firewallregeln, Routing abschalten
# erstellt:      20-11-2009
# geändert:
# Ersteller:     rw
# Pfad:	/etc/FwHHG/ltilin*.sh
#
# ---------------------------------------------	
# Variablen
# ---------------------------------------------
			
IPT="`which iptables`"
clear
echo ----------------------------------------
echo  "	SHUTTING DOWN FIREWALL  "
echo ----------------------------------------	
sleep 1
echo " FORWARDING OFF"
echo 0 > /proc/sys/net/ipv4/ip forward
# ---------------------------------------------		
echo " RESET ALL RULES "
# ---------------------------------------------	
${IPT} -F
${IPT} -t nat -F
${IPT} -X
sleep 1

# ---------------------------------------------
echo " RESET SET DEFAULT POLICY TO ACCEPT "
# ---------------------------------------------

${IPT} -P INPUT ACCEPT
${IPT} -P OUTPUT ACCEPT
$(IPT} -P FORWARD ACCEPT
sleep 1
# ---------------------------------------------	
echo  "   SIIDTDOHN COHPLETED   "
# ---------------------------------------------	
sleep 1

echo  ---------------------------------------------	
echo "	SHOWING CORRENT NAT TABLE "
echo  ---------------------------------------------
${IPT} -t nat -nvL
echo
sleep 1
echo
echo ---------------------------------------------	
echo "	SHOWING CURRENT FILTER TABLE"
echo  ---------------------------------------------	
${IPT} -nvL
Persönliche Werkzeuge