Webcast zum Thema System i Security 25.04.2007 Wolfgang Greulich (Dipl. Ing. (FH), IBM Certified Technical Specialist System i, System p, Total Storage, Citrix CCA)) WS Datenservice Hauptstr. 20 73326 Deggingen Tel. +49 7334 92198 11 Fax +49 7334 92198 98 [email protected] Webcast zum Thema System i Security Agenda : 10:00 Soundcheck 10:15 Computersicherheit – einige wenige Basics 10:25 System i Security - Basics und Neuerungen in V5R4 10:45 Wie können Sicherheitslücken zuverlässig geschlossen werden (am Beispiel von Bsafe) 11:15 Ende System i Security : ISO 17799 Die wohl weltweit bedeutenste ISO für Sicherheits-Standard ist die ISO 17799. In dieser ISO ist wie in einem Handbuch für Security geregelt, wie und mit welchen Hilfsmitteln ein Unternehmen einen sinnvollen Sicherheitsstatus erreicht. Sie ist unterteilt in 11 Security Domains System i Security : Basel II Basel II ist ein komplexes Regelwerk für die Kreditvergabe von Banken. Kreditinstitute müssen umso mehr Geld vorhalten, je riskanter das Projekt ist, das sie finanzieren wollen „….Es geht um die Eigenkapitalquote, aber auch um die Unternehmensstrategie, die Marktposition, den technischen Stand der Unternehmens-IT oder Maßnahmen zur ITSicherheit….“ In den USA findet bereits ein regelmäßiges Auditing für Security statt: Externe Experten vergeben ein Zertifikat, mit dem das Unternehmen der Bank bestätigen kann, dass alle Unternehmensdaten sicher sind. Ähnliches könnte mit Basel II auch in Europa üblich werden. „…. das auch zu günstigeren Krediten im Basel II-Verfahren führen….“ System i Security : Sarbanes Oxley Akt von 2002 Als Folge einer Serie von massiven Missbräuchen (ENRON Krise, Worldcom Skandal…) im Börsenbereich wurde in den USA der Sarbanes-Oxley Akt definiert und verabschiedet. 36 Sektionen Punkte definieren eindeutig die Vorgehensweise eines Unternehmens zur Erzeugung einer besseren Kontrolle. Einige Punkte stehen im direkten Zusammenhang zur Unternehmens-IT. Für einen iSeries IT Manager lässt sich sehr einfach zusammenfassen, dass Daten umfassend gegen ungesetzliche Veränderungen oder Löschungen geschützt werden müssen und dass Datenänderungen protokolliert und jederzeit für Audis vorhanden sein müssen. Seitens IT Management muss alles getan werden, um 1. Daten gegen ungesetzliche Veränderung und vor Missbrauch zu schützen 2. Änderungen an den Daten müssen geloggt und für Security Audits zur Verfügung gestellt werden Computersicherheit Wenn wir von Computersicherheit reden, so beinhaltet dies viele unterschiedliche Definitionen, generell ist damit die Implementierung von Maßnahmen zur Abwehr von vielfältigen Gefahren gemeint Zur Implementierung von Sicherheit bedarf es einer Reihe von Maßnahmen, dazu müssen existente Risiken analysiert werden, die notwendigen Maßnahmen definiert, eingeführt und umgesetzt werden, kurz : ein Sicherheitsprogramm muss implementiert werden Hiervon ist niemand ausgeschlossen, nicht das Management, nicht der User, „es geht jeden was an“, die Rollen müssen definiert werden, die Zuständigkeiten klar geregelt sein Am wichtigsten ist die Definition, wie welches System und welche Daten geschützt werden müssen Sicherheitskontrollen Sicherheitskontrollen sind notwendig, um das Benutzen einer Ressource zu erlauben oder zu verbieten : Es gibt unterschiedlichen Arten von Kontrollen : 1. Physische Kontrollen (Personal, Kameras, Schlösser, Überwachungssysteme, unterbrechungsfreie Stromversorgungen…) 2. Technische Kontrollen (Objektberechtigungen, Datenberechtigungen, Verschlüsselungsmechanismen…) 3. Administrative Kontrollen (Sicherheitsrichtlinien, Sicherheitsanleitungen, Sicherheitstrainings…) Sicherheitsprogramm Optimal ist die schichtweise Entwicklung eines Sicherheitsprogrammes : Üblicherweise definiert man 5 Schichten : - Schutz der Anwendung : z.Bsp. HTTP mit SSL, System EXIT Programme Schutz des Systems : integriert im System i vorhanden (alle User werden auf Systemebene identifiziert und authentifiziert) Schutz des Netzwerkes : sollte Teil des Netzwerkdesignes sein, Firewalls, VPN´s, Gateways… Schutz der physikalischen Objekte : z.Bsp. Schutz der Hardware vor zufälligen oder absichtlichen Beschädigungen, Schutz des gesamten Unternehmens : beinhaltet alle unternehmensweiten Maßnahmen zur Schaffung einer Sicherheit, vom Training bis zum Notfallplan Ziele des Sicherheitsprogramm - - Vertraulichkeit : nur authorisierte Personen haben Zugriff auf Daten, (Datenverschlüsselung im Netzwerk, Zugriff auf das Netzwerk) Integrität der Daten : Daten sind nur authorisiert, auf vorgegebenen Wegen veränderbar Verfügbarkeit der Daten : wird meistens als wichtigstes Ziel behandelt Authentifizierung : der User ist auch, wer er vorgibt zu sein, SSO Strategien Autorisierung : gibt einem User die Berechtigung auf Objekte Auditing / Logging : Monitoring des Systems, Entdecken der Diskrepanzen System i Security - hat von jeher den Ruf eines sicheren Systems - i5/OS bietet bereits nach der Installation einen Basislevel Security - die objektorientierte Architektur bietet nur systemvorgegebene Wege, das Objekt zu verwenden, dies bietet einen hohen Systemintegritäts- und Sicherheitslevel - durch integrierte Securityfunktionen wie digitale Zertifikate, Security Audit Journale, Exitprogramme, Kerberos Funktionalität, DB2 Universal Database Verschlüsselung, Anwendungsadministration, Virenscanner werden die Ziele des Securityprogrammes erreicht System i Security : allgemeine Einstellungen Systemwerte „Sicherheit“ : in Gruppen unterteilt - Allgemeine Systemwerte - Systemwerte zum Handling von Passwörtern - Systemwerte zum Handling von Protokollierungen wrksysval (*sec) zeigt alle securitybezogenen Systemwerte Netzwerkattribute : definiert wie das System am Netzwerk teilnimmt, CHGNETA oder DSPNETA - DDMACC : definiert den Zugriff von Remotesystemen auf Dateien - PCSACC : definiert den Zugriff von Client Workstations - etc. - wichtige Systemsicherheitswerte können im SST gesperrt werden - viele Dinge können per Work Management gehandhabt werden (wie kommen Jobs in das System) - Drucken der aktuellen Systemsicherheitswerte mit PRTSYSSECA System i Security : Generelle Einstellungen Das System bietet 5 verschiedene Levels : Level 10 : ohne jegliche Security, auch kein Passwortschutz (seit V4R3 nicht mehr möglich) Level 20 : User benötigt Passwort zum Login, alle Benutzer haben *allobj Berechtigung Level 30 : wie Level 20, per Default haben die Benutzer keine Berechtigung, muss also explizit gegeben werden (Resource Security) Level 40 : zusätzlich zur Resource Security schlägt die Ausführung von Programmen fehl, wenn der Benutzer über nicht unterstützte Schnittstellen auf Objekte zugreift Level 50 : der Zugriff über definierte Schnittstellen lässt sich zusätzlich parametrisieren Per Default kommen die Systeme mit Level 40, wichtig : Wechsel auf 30 oder höher sollten vorbereitet werden, denn da beginnt der Objektschutz System i Security : Resource Security Resource Security definiert, welcher Benutzer wie welche Objekte verwenden darf. Das Ziel ist, jedem Benutzer genügend Berechtigungen zu geben, um ihre Arbeiten zu erfüllen. Jedoch sollte kein Browsen des Systems und es sollten auch keine Änderungen am System möglich sein. Objektberechtigungen definieren, was ein User mit einem Objekt darf Berechtigungen für Dateien, Programme, Bibliotheken, Ordner und Directories sind die gebräuchlichsten Berechtigungen. Generell können Berechtigungen aber auf jedes indivudelle Objekt gesetzt werden System i Security : Zugriff auf OS/400 Programmfunktionen wird verwendet, wenn es keine dedizierten Objekte zum Setzen von Berechtigungen gibt. diese Berechtigungen können über den iSeries Navigator gesetzt werden, entweder über die Berechtigung auf eine Applikation oder über die Benutzerkonfiguration. (Reiter Applikationen) System i Security : Sicherheits Audits Es gibt verschiedene Gründe Sicherheitsaudits durchzuführen : - interne und externe Prüfung und Kontrolle des Sicherheitsplanes - Kontrolle des Sicherheitsplanes auf Vollständigkeit - Vorbereitung auf kommende Ereignisse z.Bsp. Installation einer neuen Anwendung, Wechsel der Systemsicherheitsstufe oder Änderungen am Netzwerk Zur Benutzung der zugehörigen Befehle benötigt das Benutzerprofil die *audit Berechtigung. Ausgewertet wird das QAUDJRN Journal mit DSPJRN, Auswertung können in Files geschrieben werden, und dann mit einem Query Tool ausgewertet werden System i Security : Kontrolle des interaktiven SignOn - Definition von Passwort Leveln (Level 0 bis Level 3) - Änderung von bekannten Default Passwörtern (ANZDFTPWD) - Kontrolle der Passwörter sowohl im DST als auch auf Betriebssystemebene, es sollte kein Login mit einem Default Passwort möglich sein - CFGSYSSEC (setzt alle diese Kennwörter auf *none, QUSER muß enabled sein für iSeries Access for Windows) - Definition der SignOn Values (QAUTOCFG, QAUTOVRT) - SignOn Error Meldungen angepasst für Hacker - Verfügbarkeit von Benutzerprofilen (CHGACTSCDE) - Inaktive Benutzer automatisch disablen (ANZPRFACT) - Passwortinformationen speichern (Sysval QRETSVRSEC) - Authentifizierungsmechanismen (User Id und Passwort, User Zertifikate, Kerberos, Exit Programme, Validierungslisten, LDAP, RADIUS, PAP, CHAP…) System i Security : Security Tools - das Security Tool Programm und die Kommandos sind in der QSYS, generell mit *exclude Berechtigung, erstellte Objekte werden in der QUSRSYS erstellt, dort auch mit *exclude Berechtigung - Bestandteil vom OS/400, Objekte mit qsec* - zur Verwendung der Tools wird *allobj (bzw. für bestimmte Funktionen *secadm, *audit oder *iosyscfg) Berechtigung benötigt, der Printout geht an die Standard Queues, dies sollte also geändert werden *secofr Profil verwenden - Menü SECTOOLS (für interactive Jobs) - Menü SECBATCH (für Batch Jobs, immediataley und für den Job Sceduler) -Command Configure System Security Command (QSYS/QSECCFGS); ändert knapp 30 sicherheitsrelevante Systemwerte; ebenso werden von diversen IBM-supplied Benutzerprofilen die Kennwörter auf *none gesetzt - Security Wizard – wird aus dem iSeries Navigator heraus gestartet, nachdem alle Fragen beantwortet sind, gibt der Wizard Empfehlungen aus und auch die Möglichkeiten, das System zu ändern System i Security : Berechtigung *public widerrufen - Command QSYS/RVKPUBAUT - setzt die Berechtigung für eine bestimmte Anzahl von Befehlen (sowie den zugehörigen API`s) von *public auf *exclude - muß für QSYS und jede nationale Bibliothek separat durchgeführt werden System i Security : Menüberechtigungen - historisch ist die iSeries ein Folgeprodukt der S/36 und S/38 Systeme - sehr oft waren (und sind) die Welten auf einem System gleichzeitig aktiv - Berechtigungen werden sehr oft über Menüs gehandhabt - das Benutzerprofil unterstützt hierbei mit den Optionen INITIAL MENU, INITIAL PROGRAM sowie dem Parameter LIMIT CAPABILITIES (hat nur Auswirkung auf die Befehlszeile, nicht auf remote abgesetzte Kommandos, z.Bsp per FTP) - auf Grund des starken Wechsels in der Clientperipherie ist dieser Schutz jedoch schon lange nicht mehr ausreichend (Zugriff über Netzwerk, Filetransfer, ODBC, SQL, etc.) - Problem : stark limitierte Menüs erzeugt unzufriedene Anwender, wenig abgesicherte Menüs erzeugt „Löcher“ System i Security : Bibliotheken - um ein Objekt in einer Bibliothek zu verwenden, benötigt der Benutzer die Berechtigung auf das Objekt und auf die Bibliothek - abhängig von der Situation reicht sehr oft die Berechtigung auf die Bibliothek zum Schutz der Objekte - unter Umständen ein sehr einfaches Mittel, um Objekte zu schützen System i Security : Objektberechtigung auf Systembefehle und Programme - der Objektschutz muss für alle QSYSxxxx Sprachbibliotheken abgebildet werden - S/36 und S/38 Bibliotheken müssen besonders beachtet werden System i Security : Schutz vor Hackern - Physikalische Sicherheit – Control Panel - Monitoring von Änderungen an Benutzerprofilen - Signierung von Objekten – Digitale Signaturen, dient zur Identifizierung von Software und Objekten; relevant ist beim Zurückspeichern der Systemwert QVFYOBJRST; im „schärfsten“ Fall ist nur das Zurückspeichern von Software möglich, deren Ursprung dem System bekannt ist - OS/400 mit allen Optionen und licpgm`s ist von einer vetrauenswürdigen Instanz digital signiert - Monitoring von Subsystembeschreibungen, insbesondere von Autostart Job Entries, Job Queue Entries, Routing Entries etc. - Schutz des Systems durch installierte Firewalls, z.Bsp. in LPAR`s Linux native (z.Bsp. Stonegate Firewall Solution for System i) System i Security : IFS und Workstation Zugriff - aus Sicht des Security Administrators ist es wichtig zu verstehen, welche File Systeme verwendet werden (QOPT, QFileSrv.400, QLANSrv etc.) - Für jedes Filesystem gelten spezifische Charakteristika in Bezug auf Berechtigungen, welche im Detail angewandt und beachtet werden müssen - PC`s mit Software, welche das IFS benutzen, sind kritisch. Eine ausgedachte Objektberechtigung ist hier sehr wichtig. - Es kommt oft auf die Sichtweise an, z.Bsp. *use aus Sicht der iSeries heißt, der Benutzer darf VIEW und PRINT des Files. Aus Sicht des PC`s ist VIEW dasselbe wie READING; dies genügt zum Erstellen einer Kopie, also eigentlich nicht das Erwünschte - Für viele remote Zugriffe sind die Konfigurationsmöglichkeiten nicht ausreichend. Meistens kann die Funktion nur komplett abgeschaltet werden. (z.Bsp. Netzwerkattribute) - Generell ist es davon abhängig, welche Serveranwendung mit welcher Clientanwendung kommuniziert System i Security : APPC Kommunikation - wird über Objektberechtigungen gehandhabt, z.Bsp. *exclude auf APPC Device Descriptions, die für die Verbindung zu anderen Systemen verwendet werden System i Security : TCP/IP Kommunikation - TCP/IP Server Jobs laufen im Subsystem QSYSWRK - Wichtig ist das Monitoring von TCP-IP Aktivitäten auf dem System -Kein Starten von unnötigen bzw. nicht verwendeten Diensten (Autostart Values via Green Screen oder iSeries Navigator - Kontrolliertes Starten von TCP/IP Schnittstellen -Kontrolliertes Starten von Point-to-Point Profilen - Port Restriktionen - EXIT Programme, FTP Exit Programme - IP Packet Filtering : via iSeries Navigator - Implementierung von NAT System i Security : Exit Programme - viele iSeries Server Funktionen bieten einen Ausstiegspunkt aus dem System. Dies bietet die Möglichkeit, benutzerspezifische Programme bei jedem Aufruf von diesen Funktionen abzuarbeiten - WRKREGINF - Beispiele sind Passwort Validierung, DDM, Remote Sign On, ODBC, TCP/IP Server, Änderungen an den Benutzerprofilen, diverse iSeries Access for Windows Funktionen etc. System i Security : die wichtigsten Änderungen mit V5R4 Lt. IBM Hauptaugenmerk auf 3 Bereiche : - Schutz der iSeries Objekte durch Hardware Improvements , Zugriff auf Objekte durch manipulierte Programme soll in der Zukunft unmöglich gemacht werden (HSP Hardware Storage Protection) - Intrusion Detection (unterstützt Support für die wichtigsten Attacken, benutzt hierbei den i5/OS QoS Server zum Laden der definierten Policies (ifspolicy.conf Template File im i5/OS vorhanden)) - Verschlüsselung, Key-Management System i Security : die wichtigsten Änderungen mit V5R4 (1) - 5722-AC3 Cryptographic Access Provider sowie die dazugehörigen API´s wurden ins Basis-Betriebssystem verlagert (notwendig für SSL,VPN, DCM), das Produkt zur Clientverschlüsselung wurde in den Basiscode iSeries Access for Windows verlagert besseres Management der Verschlüsselungsmechanismen - Speichern der Verschlüsselungskeys : 8 Master Keys können erzeugt und im LIC gespeichert werden, diese Keys können nicht durch User (auch nicht durch den QSECOFR) direkt modifiziert werden, verschlüsselt mittels 256-bit AES (Advanced Encryption Standard) Priorisierung der Verschlüsselung - Systemwert QAUDLVL : beinhaltet nun zusätzlich den Wert *NOTAVL, d.h. Audit Attribute können durch den Enduser nicht angezeigt werden; betroffen davon sind z.Bsp. Befehle wie WRKLNK, DSPOBJD, RTVOBJD; Änderungen von Audit Systemwerten werden nicht mehr im History Log QHST geloggt, System i Security : die wichtigsten Änderungen mit V5R4 (2) - VPN : NAT erlaubt das Verstecken von internen IP Adressen hinter registrierten offiziellen IP-Adressen, konventionelles NAT funktioniert nicht mit IPSEC Paketen, da die Source IP Adresse verändert wird, mit V5R4 wurde „NAT friendly IPSEC (NAT Traversal Support)“ implementiert, es werden jetzt also VPN Tunnels von NAT Clients unterstützt. - SSO Single SignON : der benötigte Kerberos Server ist nun Bestandteil von 5722-NAE (Network Authentication Enablement), (war in V5R3 Bestandteil von 5722-AC3, in V5R2 nicht) - EIM vereinfachte Konfiguration mit der Möglichkeit, Gruppen für bestimmte Ziele zu definieren - Auswertung von Journalen stark vereinfacht durch den Befehl CPYAUDJRNE, (früher nur aufwendig möglich mit dem Befehl DSPJRN unter Zuhilfenahme eines Output Templates) - WRKOBJPVT listet alle privaten Berechtigungen eines bestimmten Benutzerprofiles anstatt wie bisher alle Berechtigungen eines bestimmten Objektes aufzulisten, System i Security : die wichtigsten Änderungen mit V5R4 (3) - TCP/IP Stack based IDS – Intrusion Detection System, unterstützt das Monitoren von zahlreichen Intrusion Ereignissen, erkennt Port Scans, erkennt deformierte und zerstückelte TCP/IP Pakete und erkennt DoS (Denial of Service) Attacken interne Attacken, die die Firewall nicht schützt, - wird erstmalig via Green Screen konfiguriert und werden in das System Audit Journal geloggt, in den TCP/IP Attributen muss QoS aktiviert werden, Auditing muss aktiviert sein, QAUDLVL muss um den neuen Parameter *ATNEVT erweitert werden, das IDS Policy File im IFS muss konfiguriert und aktiviert sein, der QoS Server muss aktivíert sein es ist kein GUI Interface für die Konfiguration von IBM announct - Systemwert QSCANFS : mit V5R3 wurde die Möglichkeit implementiert, einen Third Party Virenscanner in das i5/OS zu implementieren, dies geschah über zwei neue Exit Points, jetzt kann mittels Systemwert der Virenscan abgeschaltet werden *none oder *rootopnud (scannt *type2 Files im ROOT Directory, der zweite Systemwert QSCANFSCTL definiert die Art des Scannens) System i Security : Fazit - so komplex wie eine System i, so komplex ist auch das Thema System i Security - so vielfältig wie die Gefahren, so vielfältig sind die Antworten darauf - viele Punkte sind mit OS/400 Bordmitteln zu erledigen, aber nicht gerade schnell und einfach - die Anforderungen ändern sich laufend - Wir können User nicht auf bestimmte Serverfunktionen und Objekte limitieren - Operationen und Funktionen, die auf der Befehlszeile unterbunden sind, können remote via Netzwerk trotzdem ausgeführt werden - das Systemprotokoll „unterschlägt“ diese Netzwerk Operationen - für nicht authorisierte Netzwerkzugriffe gibt es ab V5R4 ein IDS, Intrusion Detection System System i Security : Empfehlungen - beobachten Sie regelmäßig das System Security Audit DSPSECAUD - Dokumentieren Sie Objekte mit übernommenen Berechtigungen - Bibliotheken und Directorys haben meistens PUBLIC *CHANGE - RVKPUBAUT setzt die CMD auf PUBLIC *exclude - Benutzen Sie die Möglichkeiten, Benutzerprofile einzuschränken (LMTCPB) - CRTLIB sollte per Default auf PUBLIC *exclude gesetzt werden - QALWOBJRST, QFRCCNVRST, QVFYOBJRST konfigurieren, um das Zurückspeichern von manipulierten Objekten zu verhindern - CHKOBJITG verwenden - System Cleanup - QSYSMSG verwenden - TCP/IP Server - Systemwerte - Passwortkontrolle - Netzwerkattribute - LPAR Security - DST, Operations Console, PTF´s - Middleware Applikationen System i Security : Präsentation Bsafe die Antwort auf viele Fragen zum Thema iSeries Security : Bsafe Enterprise Security for iSeries Windows (Windows und Linux) 1. Intrusion Prevention System (IPS) 2. Intrusion Detection System (IDS) 3. Hochentwickelte Netzwerkprotokollierung und Ereignis Management 4. Grafische Netzwerk Analyse 5. Integritätsüberwachung der Daten 6. Integriertes Sicherheitsmanagement 7. Komplett Windows basierende Management GUI System i Security : Teststellung Bsafe Link zur Anforderung einer Teststellung : http://www.ws-datenservice.de/Teststellung-Bsafe.html Link zum Produkt : http://www.ws-datenservice.de/Bsafe.html Vielen Dank, daß Sie sich heute Zeit genommen haben Fragen ??