Erarbeitung eines Firewall-Konzepts
Aus Winfwiki
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





