POKUS Portal für Kurs und Studienplanung Ein Projekt von Rene Rippert & Stefan Liske unter der...
-
Upload
angelika-boehlert -
Category
Documents
-
view
107 -
download
1
Transcript of POKUS Portal für Kurs und Studienplanung Ein Projekt von Rene Rippert & Stefan Liske unter der...
POKUS Portal für Kurs und Studienplanung
Ein Projekt von Rene Rippert & Stefan Liske
unter der Leitung von Prof. Dr. Andreas Schwill
Stefan Liske, Rene Rippert 2Potsdam, den 24. April 2003
Gliederung
Motivation/Ziele
Vorarbeit Rechnersystem Implementierung
Fazit Zukunftsaussichten
Stefan Liske, Rene Rippert 3Potsdam, den 24. April 2003
Motivation
viele unterschiedliche (elektronische) Einschreibesysteme
Einschreibung in die Veranstaltungen an verschieden Orten zu unterschiedlichen Zeiten
Belastung der Lehrstühle und der Sekretariate
Stefan Liske, Rene Rippert 4Potsdam, den 24. April 2003
Ziele von POKUS
Vereinheitlichung der Einschreibung an einem Ort für alle Veranstaltungen
Entlastung der Lehrstühle und der Sekretariate
Übersichtlichkeit und Informationsaustausch über ein System
Stefan Liske, Rene Rippert 5Potsdam, den 24. April 2003
Kommunikative Vorarbeit
Informationsbeschaffung durch Befragungen bei Studenten
Verständnis der Einschreibestrukturen durch Nachfragen bei Fr. Vogel, Hr. Haße, Fr. Ziethlow, Fr. Pamperin, Fr. Mix
Vergleich von anderen Einschreibesystemen
Stefan Liske, Rene Rippert 6Potsdam, den 24. April 2003
Rechnersystem (1)
Systeminformationen PHP 3 mit PHPLib Datenbank MySQL Betriebssystem Linux Web-Server Apache
Stefan Liske, Rene Rippert 7Potsdam, den 24. April 2003
Rechnersystem (2)
Systeminformationen Intel Pentium III 700 MHz16 GB Festplattenkapazität256 MB Hauptspeicher100 MBit Anbindung an die Haiti-DomainSystem: SuSE Linux 8.1
Stefan Liske, Rene Rippert 8Potsdam, den 24. April 2003
Rechnersystem (3)
Programmierung in PHP 3 mit PHPLibProbleme bei mehreren Linux Distributionen
den Apache mit PHP 3 und PHPLib zu installieren
Umstieg auf SuSE 8.1 Minimalinstallation und PHP 4 mit eingebautem Sessionmanagment
Stefan Liske, Rene Rippert 9Potsdam, den 24. April 2003
Rechnersystem (4)
Installation aller zur Konfiguration nötiger Elemente über RPM
Apache 1.3.26 mit OpenSSL und PHP 4 MySQL 3.23.52 Webmin 1.070 zur besseren Konfiguration von
MySQL OpenSSH 3.4p1
Stefan Liske, Rene Rippert 10Potsdam, den 24. April 2003
Rechnersystem (5)
Konfiguration des Apache Web-Servers Einrichten eines Web Zertifikats
openssl genrsa -out server.key 1024 Mit diesem Aufruf wird ein Schlüssel erzeugt
openssl req -new -key server.key -out server.csr Hiermit wird ein Requestfile für einen CA erstellt
openssl x509 -req -days 182 -in server.csr -signkey server.key -out server.crt Nun wurden wir zum CA und erzeugten ein Zertifikat (unbeglaubigt) und lassen es
für 182 Tage gültig (1 Semester) Nun mussten das Keyfile (server.key) und das Zertifikat (server.crt) in die
jeweiligen Verzeichnisse gespielt werden
Stefan Liske, Rene Rippert 11Potsdam, den 24. April 2003
Rechnersystem (6)
Konfiguration des Apache Web-Servers Einrichten der Virtual Host
<VirtualHost pokus.haiti.cs.uni-potsdam.de:443>
SSLEngine onSSLCipherSuite …:+High:+Medium:+SSLv2:…SSLCertificateFile /etc/httpd/ssl.crt/server.crtSSLCertificateKeyFile …/ssl.key/server.key<Directory “/srv/wwwsecure“>
Options –Indexesorder deny,allowdeny from allallow from 141.89
</Directory></VirtualHost>
Stefan Liske, Rene Rippert 12Potsdam, den 24. April 2003
Rechnersystem (7)
Konfiguration des Apache Web-Servers Starten des Apache Webservers über apachectl
startssl Nach der Abfrage der im Certificate genutzten Phrase
wir der Web-Server gestartet und öffnet lauschend die Ports http:80 und https:443
Der Zugriff auf sensible Bereiche wurde durch .ht******-Dateien geschützt
AuthType BasicAuthName „Nur Authorisierte User erlaubt."AuthUserFile /srv/…/password.fileRequire user rippert stefan
Stefan Liske, Rene Rippert 13Potsdam, den 24. April 2003
Rechnersystem (8)
Konfiguration von OpenSSL Öffnen der Datei /etc/ssh/sshd_config
Ändern des Eintrages PermitRootLogin auf no somit kann sich der Root nicht in das System per ssh einloggen
Öffnen der Datei /etc/hosts.allow Nun wurde folgendes in dieser Datei verändert
sshd : 141.89.59.159 : allow sshd : ALL : deny
Öffnen der Datei /etc/hosts.deny sshd : ALL : deny
Stefan Liske, Rene Rippert 14Potsdam, den 24. April 2003
Rechnersystem (9)
Konfiguration von MySQL Nutzung von Webmin
Löschung der durch die Standartinstallation erzeugten MySQL User
Root User hat nur Lokal zugriff auf die DB Einrichten eines neuen Users ohne Globale Privilegien Einrichten einer neuen Datenbank und Vergabe der Rechte
für diese Datenbank an den eben eingerichteten User Jeglicher Zugriff auf die Datenbank nur über den Lokalhost
Stefan Liske, Rene Rippert 15Potsdam, den 24. April 2003
Rechnersystem (10)
Sessionmanagement von PHP Nutzung von Serverseitigen Cookies
Problem: jeder Nutzer, der eine neue Instanz des Web-Browsers öffnet erhält vom System einen neuen Sessioncookie im /tmp Verzeichnis
Alte Cookies werden nur nach Neustart des Apache Web-Servers gelöscht
Lösung: Perlscript zum löschen der Sessioncookies Aufrufen dieses Skriptes alle 30 Minuten durch einen Cronjob
1 * * * * /usr/bin/perl –w \ /srv/killsession/sessionkiller.pl
Stefan Liske, Rene Rippert 16Potsdam, den 24. April 2003
Administrative Sicherheit
SSL: Vertraulichkeit von Nachrichten Integrität von Nachrichten
MySQL: Zugriff auf die Datenbank nur lokal möglicht Genau ein User für die Pokus DB ohne globale
PrivilegienSSH:
Zugriff nur über eine bestimmte IP möglich kein direkter Rootzugriff
Stefan Liske, Rene Rippert 17Potsdam, den 24. April 2003
Implementierung
SW-Techniken Möglichkeiten/Features Software-Sicherheit („security“) Software-Sicherheit („safety“)
Stefan Liske, Rene Rippert 18Potsdam, den 24. April 2003
SW-Techniken
PHP 4.2 (und höher), MySQL, Apache Perl 5.6.xxx, Adobe Distiller
(lokal für Listen)
Session-Management SQL eMail-Modul für PHP
Stefan Liske, Rene Rippert 19Potsdam, den 24. April 2003
Möglichkeiten/Features
Eintragung in Vorlesungsverzeichnissicht Terminauswahl
Änderung, Austragung für Veranstaltungen Stundenplan Informationen per e-Mail
An alle bzw. an Auswahl Babylon-Account-Verlängerung (Fr. Mix) Einschreibe-, Kurslisten (CVS, PDF) (Sekretariate) Beschränkung der Termine
Stefan Liske, Rene Rippert 20Potsdam, den 24. April 2003
Software-Sicherheit („security“)
SSL nutzend Vertraulichkeit, Integrität
Benutzerregistrierung Identifikation und Authentifizierung
Session-Management Zuordnung der Benutzer nach Login (HTTP ist verbindungslos)
Eigene zusätzliche „MSI“ Unterscheidung der Browser-Instanzen
Benutzerrollen via „.htaccess“ (Student, Admin) Rechtezuteilung auf primitivem Niveau
Stefan Liske, Rene Rippert 21Potsdam, den 24. April 2003
Software-Sicherheit („safety“)
Kontrolle der Formulareingaben Korrektur Plausibilitätstest, Filter via regulärer Ausdrücke
Selektionsfelder Vorgabe für Immatrikulationssemester u.ä.
Zwischenabfrage für Aktionsausführung
Stefan Liske, Rene Rippert 22Potsdam, den 24. April 2003
FAZIT
Hilfe/Informationen von vielen Seiten
Akzeptanz bei Lehrstühlen und Studenten Umsetzung vieler Vorschläge Erfolgreiche Durchführung ;-)
Kooperation mit Fr. Mix (Babylon-Account)
Stefan Liske, Rene Rippert 23Potsdam, den 24. April 2003
Aussichten
Es fehlen noch die Dokumentationen(mit Abnahme des Projekts)
Verbesserungen der Administration Änderung der allgemeinen Oberfläche DB-Logik überarbeiten
(min. eine Verbesserung notwendig) Eintragung von Kursen via Interface
(Hr. Severin)
ENDE