Sicherheit von Linux-Systemen

Ähnliche Dokumente
Sicherheit von Linux-Systemen

Installation von Linux-Systemen im NWZnet

Mac Firewall etc. Mark Heisterkamp 10. August Mark Heisterkamp, Mac Firewall etc., 10. August 2009 Seite 1/25

110.2 Einen Rechner absichern

Konfiguration einer Firewall mit FireHOL

Netzwerkinterface. Routing tcp-wrapper. Firewall. Nach Innen. libwrap tcpd-applikationen Konfiguration Einbindung in verschiedene Applikationen

Wolfgang Barth Das Firewall-Buch Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux SuSE PRESS

Analyse eines gehackten Webservers unter Linux IT-SecX Dipl.-Ing. (FH) Georg Höllrigl

Firewall - Techniken & Architekturen

Samba. Zinching Dang. 06. Juni 2014

8 TCP/IP-Dienste konfigurieren

LevelOne. Quick Installation Guide. EAP series Enterprise Access Point. Default Settings. IP Address

Switching. Übung 2 System Management. 2.1 Szenario

Oracle Applikation Server Enterprise Edition gehärtet und hoch verfügbar mit Open Source Methoden

Secure Linux Praxis. ein How-To Vortrag am Christoph Weinandt Systemadministrator / Security Officer ComBOTS AG, Karlsruhe

Klaus Gerhardt Linux Seiten

Intrusion Prevention mit IPTables. Secure Linux Administration Conference, 6. / 7. Dec Dr. Michael Schwartzkopff. iptables_recent, SLAC 2007 / 1

Netzwerkadministration unter SuSE Linux. Daniel Willmann. Stefan Schmidt. Begrüßung. Inhalt. Zeitplan

NTP Synchronisierung NTP Synchronizer

Vernetzung von Linux und Windows

Mac OS X Firewall. Mark Heisterkamp heisterkamp@rrzn.uni-hannover.de. 21. November Zentrale Services Informationstechnologie

Wie man Fehler findet.

Network-Attached Storage mit FreeNAS

2.Härten von UNIX-Systemen

Best Practices WPA2 Enterprise und Radius-SSO

Projekt: Web-Server. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2014

System- und Netzwerksicherheit (IPv4/IPv6) unter Linux

Quick Installation Guide

9. Härten der Netzwerkschnittstelle

mit Winzip oder anderem Programm auf PC entpacken => xxx.img-datei mit Win32Diskimager die xxx.img-datei auf Micro-SD-Card >= 4GB schreiben

Inhaltsübersicht. Vorwort I Installation RAID- und LVM-Grundlagen Ubuntu-Server-Installation Erste Schritte...

I Netzwerk Grundlagen 8

Firewalls mit Iptables

Packet Filters - iptables

Inhaltsübersicht. Vorwort 13. I Installation 15 1 RAID- und LVM-Grundlagen 17 2 Ubuntu-Server-Installation 37 3 Erste Schritte 57

Vorbereitung für LPI 102. Vorbereitung für LPI 102

In meinem Beitrag "Einrichten eines 6in4 static Tunnels mit SIXXS unter Linux" habe ich beschrieben, wie man einen IPv6 Tunnel einrichtet.

Kurs für Linux Online Kurs Verwalter des Linux System

Inhaltsverzeichnis I LPI

Unix/Linux Survival Guide

Firewall Implementierung unter Mac OS X

Mailserver Teil 2 Linux-Kurs der Unix-AG

Key-basierte SSH Login mit PuTTY

Anleitung: Verbindung mit der Datenbank

Erfahrungen im Bereich Netzwerke? Erfahrungen mit Linux? Erwartungen an dieses Seminar?

In diesem Beispiel verwende ich einen Raspberry Pi 3 (wg. Ethernetanschluss) mit einem MMDVM Hat Klon.

Firewalling. Michael Mayer IAV0608 Seite 1 von 6

IT Solutions. AnyConnect unter Linux (Ubuntu 14.04) Gültige VPN Accounts:

Die Überwachung lokaler Server Parameter durch den Local Check erfordert die Installation eines Monitoring Agents auf dem überwachten Server.

Installation eines Orgamax-Servers in Linux mit CentOS 7

Das Netzwerk von Docker. Java Stammtisch Goettingen

Mailserver Teil 1 Linux-Kurs der Unix-AG

3 Netzdienste im Internet. vs3 1

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Quick Reference Guide Schnellstart Anleitung

Netzwerk Teil 1 Linux-Kurs der Unix-AG

Vorlesung Linux Praktikum

HP JetAdvantage Security Manager

Zehn SSH Tricks. Julius Plen z

Sicherheit unter Linux Workshop

Installation Guide/ Installationsanleitung. Spring 16 Release

Bibliografische Informationen digitalisiert durch

HowTo OpenVPN Client mit öffentlich erreichbaren Feste IP Adressen

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

check_multi Matthias Flacke Nagios Workshop 26. Juni 2007

Inhalt. Was ist Nagios? Installation Konfiguration Demo

Customer Support Info PP 80x

7 TCP/IP-Dienste konfigurieren

VPN-Client Apple macos El Capitan (10.11)

C A L D E R A G R A P H I C S

Thomas Bechtold Peer Heinlein. Snort, Acid 8t Co. Einbruchserkennung mit Linux

VPN-Client Apple macos El Capitan (10.11)

Konfigurationsanleitung L2TP Verbindung zwischen 2 Gateways Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Dirk Becker. OpenVPN. Das Praxisbuch. Galileo Press

FreeIPA. Eine Einführung. Robert M. Albrecht. Presented by. Fedora Ambassador CC-BY-SA. Freitag, 20. Juli 12

Rechnernetze. 6. Übung

yasxtouch Firmware Update

W. Diffie: Information security: 50 years behind, 50 years ahead Comm. of the ACM, January 2008, p. 55

Grundinstallation Apache Webserver

- Installation. Systemvoraussetzungen für Red Hat. conversations installieren conversations wird als TGZ-Archiv mit dem Namen

Benutzer und Rechte Teil 1, Paketverwaltung

Betriebssysteme I: Klassische UNIX Exploits

Mindbreeze InSpire. Management Center ... Support : Tel.:

Live Hacking: : So brechen Hacker in Ihre Netze ein

Linux for Beginners 2005

Erste Schritte mit dem RaspberryPi

iid software tools QuickStartGuide iid USB base driver installation

Netzwerk Teil 1 Linux-Kurs der Unix-AG

Sicherheits-Richtlinien

Linux-Netzwerke. Aufbau, Administration, Sicherung. Dr. Stefan Fischer, Ulrich Walther. SuSE PRESS

Sie möchten als Hochschulangehöriger das Internet sowie spezielle Angebote der Fachhochschule Köln nutzen?

Hacker-Contest WS16/17. Anmeldungsaufgabe

ZPN Zentrale Projektgruppe Netze am Ministerium für Kultus, Jugend und Sport Baden-Württemberg

p^db=`oj===pìééçêíáåñçêã~íáçå=

Samba Linux-Kurs der Unix-AG

- LEAP 15 als Server installieren (Auswahl im Install-Menü damit SAMBA-Pakete gleich mit installiert werden)

Linux-Camp: Remote-Zugriff

Transkript:

Sicherheit von Linux-Systemen Konfiguration von SuSE Linux Professional 9.3 Christian Mück-Lichtenfeld Organisch-Chemisches Institut July 11, 2005

Überblick Ziele: Gefahren erkennen System sicher konfigurieren Angriffe erkennen (bzw. verhindern) Zielgruppe: Linux-Einsteiger, Admins mit Linux als Ausnahmefall Beispiel: SuSE Professional 9.3 keine Themen: WLAN, Authentifizierung, Samba

Part I Bedrohungen

Bedrohungsanalyse Potentielle Angriffswege Lokaler Angriff Angemeldeter Benutzer nutzt Schwachstellen aus und führt unerwünschte Aktivitäten aus Ziel: (root-) Privilegien erlangen, die einem normalen Benutzer nicht zustehen DOS-Angriff (denial of service) Verteilte gehäufte Abfrage von Diensten führt zu Überlastung des Rechners Netzattacken Angriff über einen unsicheren Netz-Zugang zum System auf einen Dienst, der nicht laufen müsste oder der Sicherheitslücken hat. spoofing ( man-in-the-middle ) Angreifer gibt vor, ein (autorisiertes) System im Netz zu sein z.b. arp-spoofing, SSH-Angriff In allen Fällen werden Sicherheitslücken ausgenutzt ( exploits)

Bedrohungsanalyse Angriffswege Viele Wege führen zum Ziel des Hackers (Privilegierte Bereiche/Programme) SPOOFING (MAN IN THE MIDDLE) KERNELSPACE PRIV Service Port root USERSPACE Application LOKALER ANGRIFF DOS NETZANGRIFF

Bedrohungsanalyse Angriffsszenarien Spionage (Passwörter, Daten allgemein) Missbrauch des Rechners (Filesharing, Spam-Mailer, Angriff auf weitere Rechner) Zerstörung von Daten

Part II

Sicherheitslücken kennen Mailinglisten suse-security-announce-subscribe@suse.com Advisories (zur Sicherheit) bei www.linux-community.de Literatur z.b. Linux-Magazin (www.linux-magazin.de) linux hacker s guide (Markt & Technik) Linux Security Cookbook (O Reilly) Eigenen Rechner überprüfen verdächtige Prozesse, Dateien, Ports

Logfiles analysieren Überwachung der Logfiles syslogd erzeugt Ausgabe in /var/log/messages Befehl z.b. grep -i connect /var/log/messages Jun 16 16:17:44 nwztux portmap[22117]: connect from 128.176.245.69 to getport(mountd): request from unauthorized host Jun 16 16:17:44 nwztux portmap[22118]: connect from 128.176.245.69 to getport(mountd): request from unauthorized host Jun 16 16:18:23 nwztux sshd[22119]: refused connect from ::ffff:128.176.245.69 (::ffff:128.176.245.69) Jun 18 02:13:33 nwztux sshd[25380]: refused connect from ::ffff:60.28.0.162 (::ffff:60.28.0.162) Jun 18 03:09:41 nwztux sshd[25459]: refused connect from ::ffff:221.251.21.162 (::ffff:221.251.21.162) Jun 18 18:54:07 nwztux sshd[26780]: refused connect from ::ffff:65.166.159.14 (::ffff:65.166.159.14) Jun 18 23:10:25 nwztux sshd[27099]: refused connect from ::ffff:200.68.112.137 (::ffff:200.68.112.137) Jun 18 23:18:59 nwztux sshd[27119]: refused connect from ::ffff:200.68.112.137 (::ffff:200.68.112.137) Jun 19 11:42:58 nwztux sshd[28326]: refused connect from ::ffff:211.202.3.150 (::ffff:211.202.3.150) Jun 20 20:25:47 nwztux sshd[31388]: refused connect from ::ffff:211.202.3.150 (::ffff:211.202.3.150) Tools zur Logfile-Überwachung: Analog (http://www.analog.cx/) Swatch (http://swatch.sourceforge.net/) LogSurfer

Prozesse überwachen Überwachung der Prozesse Befehl ps -ef grep Username zeigt die Prozesse des Users an iltis:~ # ps -ef grep nobody nobody 7189 1 0 08:25? 00:00:00 /sbin/portmap nobody 7198 1 0 08:25? 00:00:00 /usr/sbin/mdnsd -f /etc/rendezvous.conf -b root 12610 8377 0 10:38 pts/7 00:00:00 grep nobody Befehl strace -p PID verfolgt die Systemaufrufe des Prozesses Analyse der Aktivität eines verdächtigen Prozesses iltis:~ # strace -p 7198 Process 7198 attached - interrupt to quit select(7, [3 4 5 6], NULL, NULL, 1, 446000) = 0 (Timeout) rt sigprocmask(sig BLOCK, [HUP INT USR1 PIPE TERM], NULL, 8) = 0 rt sigprocmask(sig UNBLOCK, [HUP INT USR1 PIPE TERM], NULL, 8) = 0 gettimeofday({1119429587, 826316}, NULL) = 0 gettimeofday({1119429587, 826367}, NULL) = 0 gettimeofday({1119429587, 826410}, NULL) = 0 gettimeofday({1119429587, 826453}, NULL) = 0 gettimeofday({1119429587, 826496}, NULL) = 0 select(7, [3 4 5 6], NULL, NULL, 5, 0) = 0 (Timeout)

Netzwerkverbindungen überwachen Überwachung der Netzverbindungen des lokalen Rechners Befehl z.b. lsof -i -n -P iltis:/usr/sbin lsof -i -n -P COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME dhcpcd 6625 root 4u IPv4 18524 UDP *:68 portmap 7210 nobody 3u IPv4 19793 UDP *:111 portmap 7210 nobody 4u IPv4 19806 TCP *:111 (LISTEN) mysqld-ma 7430 mysql 3u IPv4 21059 TCP *:3306 (LISTEN) master 7561 root 11u IPv4 21266 TCP 127.0.0.1:25 (LISTEN) master 7561 root 12u IPv6 21267 TCP [::1]:25 (LISTEN) sshd 7746 root 3u IPv6 22081 TCP *:22 (LISTEN) ssh 8226 meier 3u IPv4 23577 TCP 127.0.0.1:12051->127.0.0.1:22 (ESTABLISHED) sshd 8230 root 3u IPv6 23578 TCP 127.0.0.1:22->127.0.0.1:12051 (ESTABLISHED) sshd 8230 root 6u IPv4 23632 TCP 127.0.0.1:6010 (LISTEN) sshd 8230 root 7u IPv6 23633 TCP [::1]:6010 (LISTEN) sshd 8230 root 11u IPv4 69274 TCP 127.0.0.1:6010->127.0.0.1:11316 (ESTABLISHED) cupsd 10373 lp 0u IPv4 28016 TCP *:631 (LISTEN) cupsd 10373 lp 2u IPv4 28017 UDP *:631 fwbuilder 18895 root 3u IPv4 69273 TCP 127.0.0.1:11316->127.0.0.1:6010 (ESTABLISHED) firefox-b 19302 meier 26u IPv4 70013 TCP 128.176.245.32:26706->128.176.188.115:80 (ESTABLISHED) oder netstat -t (TCP) (-u (UDP)) iltis:~ # netstat -t Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 ILTIS.UNI-MUENSTER:9097 DOEDEL.UNI-MUENSTER:ssh ESTABLISHED tcp 0 0 localhost:21838 localhost:ssh ESTABLISHED tcp 0 0 localhost:44216 localhost:filenet-tms ESTABLISHED tcp 0 0 localhost:filenet-tms localhost:44216 ESTABLISHED tcp 0 0 localhost:ssh localhost:21838 ESTABLISHED tcp 0 0 ILTIS.UNI-MUENSTER.:ssh MRBEAN.UNI-MUENST:33521 ESTABLISHED

Dateisystem überwachen Überwachung des Dateisystems (Intrusion detection) z.b. tripwire (http://sourceforge.net/projects/tripwire/) erzeugt Fingerabdrücke der wichtigen Systemdateien speichert die Daten in einer Datenbank findet Abweichungen vom gespeicherten Snapshot Dateisystemüberwachung simpel: rpm-datenbank iltis:/usr/sbin # rpm -V samba-3.0.13-1.1 S.5...T /usr/sbin/smbd iltis:/usr/sbin # Überprüfung / Suche nach rootkits: chkrootkit (http://www.chkrootkit.org/) (z.zt. 57 rootkits/würmer) Stinger von McAffee

Useraktivitäten beobachten Überwachung der Useraktivität Befehl lastlog iltis:~ # lastlog Username Port From Latest root pts/7 localhost Wed Jun 22 09:00:45 +0200 2005 bin **Never logged in** daemon **Never logged in** lp **Never logged in** mail **Never logged in** news **Never logged in** uucp **Never logged in** games **Never logged in** man **Never logged in** at **Never logged in** wwwrun pts/8 iltis.uni-muenst Wed Jun 22 09:01:10 +0200 2005 ftp **Never logged in** named **Never logged in** postfix **Never logged in** mysql **Never logged in** sshd **Never logged in** ntp **Never logged in** messagebus **Never logged in** haldaemon **Never logged in** gsc **Never logged in** meier :0 console Wed Jun 22 08:35:46 +0200 2005

Abwehr eines lokalen Angriffs Abwehr eines lokalen Angriffs nur vertrauenswürdige Benutzer zulassen keine anonymen Accounts Server nicht physikalisch öffentlich zugänglich machen Server nicht für normale User zum Login öffnen keine Root-Shells offenlassen z.b. in der bash mit export TMOUT=180 logout nach 3 Minuten Inaktivität regelmässige Systemupdates durchführen sichere Grundeinstellungen (yast2)

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit Local Security Configuration yast2 security

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit Passwort-Einstellungen

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit Reboot durch User verhindern Rechner sollte auch physikalisch unzugänglich sein!

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit Login Einstellungen Delay verhindert Passwort-Rateversuche

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit User ID und Group ID

SuSE Grundeinstellungen zur Sicherheit Yast2 Sicherheit Dateirechte und Pfade

Systemupdates Manueller Systemupdate Start des manuellen Systemupdates (YOU = Yast Online Update) yast2 online update, Auswahl des Servers

Systemupdates Manueller Systemupdate Auswahl der Patches (Sicherheitsrelevant: rot)

Systemupdates Manueller Systemupdate Installation

Systemupdates Automatischer Systemupdate Konfiguration des Updatezeitpunktes:

Konfiguration von Netzwerkdiensten Netzwerkdienste kontrollieren normalerweise muss für jeden Dienst ein Dämon laufen. z.b. httpd als Webserver, in.ftpd als ftp-server inetd (Internet-Dämon) kontrolliert, welches Programm (Dämon) gestartet wird, wenn bestimmer Dienst angefordert wird heute: xinetd hat den inetd abgelöst Konfiguration: /etc/xinet.d/ xinetd ist mit libwrap (TCP-Wrapper) Support compiliert Konfiguration über die Dateien /etc/hosts.deny und /etc/hosts.allow

Konfiguration von Netzwerkdiensten Services konfigurieren (xinetd) Start mit yast2 inetd

Konfiguration von Netzwerkdiensten xinted Konfiguration Datei /etc/xinetd.d/service (eine Datei pro Dienst) hier: telnet # default: off # description: Telnet is the old login server which is INSECURE and should \ # therefore not be used. Use secure shell (openssh). # If you need telnetd not to "keep-alives" (e.g. if it runs over a ISDN \ # uplink), add "-n". See man telnetd for more details. service telnet { socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/in.telnetd disable = yes } was fehlt noch? Zugriffskontrolle per Rechner

Konfiguration von Netzwerkdiensten TCP-Wrapper Konfiguration Datei /etc/hosts.deny (Zugriff verweigern) # /etc/hosts.deny # See man tcpd and man 5 hosts_access as well as /etc/hosts.allow # for a detailed description. all: ALL Datei /etc/hosts.allow (Zugriff auf die definierten Services) # /etc/hosts.allow # See man tcpd and man 5 hosts_access for a detailed description # of /etc/hosts.allow and /etc/hosts.deny. # ALL: 127.0.0.1 127.0.0.2 \ 128.176.216.17 128.176.124.24 \ 128.176.233.0/255.255.255.0 sshd: 134.194.20.10 in.ftpd: 64.20.10.2

Konfiguration von Netzwerkdiensten Andere Applikationen mit TCP-Wrapper Support # package name daemon path token # ---------------------------------------------------------------------------- # ssh, openssh /usr/sbin/sshd sshd, sshd-fwd-x11, sshd-fwd-<port> # quota /usr/sbin/rpc.rquotad rquotad # tftpd /usr/sbin/in.tftpd in.tftpd # portmap /sbin/portmap portmap # The portmapper does not verify against hostnames # to prevent hangs. It only checks non-local addresses. # # (kernel nfs server) # nfs-utils /usr/sbin/rpc.mountd mountd # nfs-utils /sbin/rpc.statd statd # # (unfsd, userspace nfs server) # nfs-server /usr/sbin/rpc.mountd rpc.mountd # nfs-server /usr/sbin/rpc.ugidd rpc.ugidd # # (printing services) # lprng /usr/sbin/lpd lpd # cups /usr/sbin/cupsd cupsd # The cupsd server daemon reports to the cups # error logs, not to the syslog(3) facility. # # (Uniterrupted Power Supply Software) # apcupsd /sbin/apcupsd apcupsd # apcupsd /sbin/apcnisd apcnisd

Konfiguration von Netzwerkdiensten Runlevel konfigurieren Start mit yast2 runlevel (Runlevel 3 und 5: mit Netzwerk)

Konfiguration von Netzwerkdiensten Runlevel konfigurieren Dienste nur im echten Bedarfsfall (Server) installieren, z.b.: apache2 (Webserver) cups (Printerqueues) mysql (Datenbank) nfsserver Postfix MTA (Mail) rsyncd (remote Backup/Replikation)

Konfiguration von Netzwerkdiensten Apache Konfiguration Datei /etc/apache2/httpd.conf (kein TCP-Wrapper support)... # forbid access to the entire filesystem by default <Directory /> Options None AllowOverride None Order deny,allow Deny from all Allow from localhost Allow from 128.176.216.147 Allow from 128.176.0.0/255.255.0.0 </Directory>...

Konfiguration von Netzwerkdiensten Konfiguration des SSH-Dienstes Zahlreiche Konfigurationsoptionen mit Hilfe der Datei /etc/ssh/sshd config: UsePAM yes: benutzt PAM- statt ssh-einstellungen PermitRootLogin no: root darf nicht! PasswordAuthentication no: verhindert getunnelte Klartextpassworte usw. usw.

Überwachung von aussen Überwachung der Ports von aussen Portscanner testet die TCP/UDP-Ports eines Rechners testet die Verfügbarkeit der Dienste eines Rechners Sollte (darf!) man nur an den eigenen Rechnern einsetzen! ist im Prinzip ein Hacker-Tool... gibt es in vielen Varianten, z.t. mit GUI (SAINT, ISS, Nessus) einfaches Kommandozeilen-Tool: nmap

Überwachung von aussen nmap Beispiel Windows-Rechner: iltis:~ # nmap billgates Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-06-21 13:15 CEST Interesting ports on BILLGATES.UNI-MUENSTER.DE (128.176.216.248): (The 1660 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds MAC Address: 00:0D:7D:4E:42:9A (Hewlett Packard) Nmap finished: 1 IP address (1 host up) scanned in 0.544 seconds Linux-Rechner: iltis:~ # nmap thorwald Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-06-21 13:18 CEST \ Interesting ports on THORWALD.UNI-MUENSTER.DE (128.176.216.199):\ (The 1657 ports scanned but not shown below are in state: closed)\ PORT STATE SERVICE\ 22/tcp open ssh\ 37/tcp open time\ 111/tcp open rpcbind\ 631/tcp open ipp 3052/tcp open PowerChute 6000/tcp open X11 MAC Address: 00:1f:a6:f2:dc:a4 (Micro-star International CO.) Nmap finished: 1 IP address (1 host up) scanned in 0.511 seconds

Firewall Konzept der Firewall Netz komponente, die IP-Pakete bewertet (Paketanalyse / Paketfilter) IP-Pakete oder Protokolle können blockiert werden Adressen können maskiert werden (NAT) Eine Firewall ist Bestandteil des Kernels (iptables Modul). SuSEFirewall ist ein Konfigurationstool dafür

Firewall

Firewall Konfiguration von iptables Kommandozeilenbefehl: iptables options Auszug aus einen FW-Skript:... for element in ${BANNED IP[@]} do iptables -A banned -p all -s $element -j DROP done for element in ${FULLACCESS IP[@]} do iptables -A knownhosts -p tcp -s $element -j allowed iptables -A knownhosts -p all -s $element -j ACCEPT done for element in ${INTERMEDIATE IP[@]} do iptables -A knownhosts -p all -s $element -j intermediate done... etwas komplexe Syntax Anleitung: http://iptables-tutorial.frozentux.net und Literatur (z.b. iptables kurz & gut, O Reilly)

Firewall SuSEFirewall Start mit yast2 firewall (1) Zuordnung der Interfaces (external / internal / DMZ)

Firewall SuSEFirewall (2) Auswahl der erlaubten Dienste

Firewall SuSEFirewall (3) Auswahl der erlaubten Ports

Firewall SuSEFirewall (4) Abschliessen und Anwenden

Firewall Besseres Firewallinterface SuSEFirewall: geringe Granularität (keine Def. von Netzen, Hosts) besser: Spezielle GUIs zur Konfiguration der Firewall (auch pf, PIX, ipfilter): fwbuilder http://www.fwbuilder.org Grafische Erstellung der Filterregeln Remote Administration verschiedener Firewalls (ssh) vordefinierte Dienste und IP-Ranges Gruppierung von Objekten (Hosts, Netze und Services)

Firewall DEMO fwbuilder und nmap 1 Erstellen einer Policy 2 nmap Demonstration: Schutz durch Firewall

Part III Message

Message Take-Home-Message 1 Systempflege! Jeder Rechner muss Software-Updates erleben (oft vernachlässigt: Messrechner) 2 Systemanalyse wissen, was läuft - verdächtige Aktivitäten müssen erkannt werden 3 Nur Ressourcen vergügbar machen, die benötigt werden jeder Dienst ist ein potentieller Angriffpunkt 4 Sichere Konfiguration der Dienste IP-Bereiche definieren (TCP-Wrapper) Firewall möglichst zielgenau konfigurieren 5 Benutzer-Policy Nur authentifizierte Benutzer (möglichst Domänen-Accounts) zulassen