• Keine Ergebnisse gefunden

Po rtal für K urs u nd S tudienplanung POKUS

N/A
N/A
Protected

Academic year: 2022

Aktie "Po rtal für K urs u nd S tudienplanung POKUS"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

POKUS

Portal für Kurs und Studienplanung

Ein Projekt von

Rene Rippert & Stefan Liske unter der Leitung von Prof. Dr. Andreas Schwill

(2)

Gliederung

Motivation/Ziele

Vorarbeit

Rechnersystem

Implementierung

Fazit

Zukunftsaussichten

(3)

Motivation

viele unterschiedliche (elektronische) Einschreibesysteme

Einschreibung in die Veranstaltungen an verschieden Orten zu unterschiedlichen Zeiten

Belastung der Lehrstühle und der Sekretariate

(4)

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

(5)

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

(6)

Rechnersystem (1)

Systeminformationen

PHP 3 mit PHPLib

Datenbank MySQL

Betriebssystem Linux

Web-Server Apache

(7)

Rechnersystem (2)

Systeminformationen

Intel Pentium III 700 MHz

16 GB Festplattenkapazität

256 MB Hauptspeicher

100 MBit Anbindung an die Haiti-Domain

System: SuSE Linux 8.1

(8)

Rechnersystem (3)

Programmierung in PHP 3 mit PHPLib

Probleme 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

(9)

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

(10)

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

(11)

Rechnersystem (6)

Konfiguration des Apache Web-Servers

Einrichten der Virtual Host

<VirtualHost pokus.haiti.cs.uni-potsdam.de:443>

SSLEngine on

SSLCipherSuite …:+High:+Medium:+SSLv2:…

SSLCertificateFile /etc/httpd/ssl.crt/server.crt SSLCertificateKeyFile …/ssl.key/server.key

<Directory “/srv/wwwsecure“>

Options –Indexes order deny,allow deny from all allow from 141.89

</Directory>

</VirtualHost>

(12)

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 Basic

AuthName „Nur Authorisierte User erlaubt."

AuthUserFile /srv/…/password.file Require user rippert stefan

(13)

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

(14)

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

(15)

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

(16)

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 Privilegien

SSH:

Zugriff nur über eine bestimmte IP möglich

kein direkter Rootzugriff

(17)

Implementierung

SW-Techniken

Möglichkeiten/Features

Software-Sicherheit („security“)

Software-Sicherheit („safety“)

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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)

(23)

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)

(24)

ENDE

Referenzen

ÄHNLICHE DOKUMENTE

Jedes Projekt hat einen eindeutigen Namen, eine eindeutige Nummer und wird an einem einzigen Standort durchgef¨ uhrt.. • Von jedem Mitarbeiter erfassen wir

VName NName SVN GDatum Adresse Geschlecht Lohn VorgSVN

Sie beinhalten den Wert ”ibbackup” und den Zeitpunkt des erstellten Backups und werden für Informationen benutzt, welche dem Administrator angezeigt werden, wenn MySQL zum ersten

– Benutzer können Integritätsbedingungen auf den Daten formulieren, die vom DBMS kontrolliert werden. – Das DBMS “versteht“ nicht die Semantik der Daten  Benutzer ist für

Zusammenfassend kann gesagt werden, daß sich jede beliebige Information über sämtliche Merkmale oder Merkmalsgruppen, die in ISPPRO gespeichert sind, abfragen läßt. Darüber hinaus

100 Autos, die in vier Klassen eingeteilt werden: Unterklasse (z.B. Polo, Fiesta), Mittelklasse (z.B. Golf, Mazda 323, Astra), Oberklasse (BMW 3-er, Mercedes C-Klasse)

• Sortierung hilft bei Suche ist aber teuer aufrecht zu

suchung zur Struktur der ägyptischen Tempel der griechisch­römischen Zeit anhand einer Datenbank der Ritualszenen&#34; vorgestellt, wobei die bis dato bestehenden