Skip to content
Snippets Groups Projects
Commit 90ab2e8e authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Vorbereitung 20.11.2024

parent 7ccc08f9
Branches
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: TCP/IP: Netzwerkanalyse, SSH, X11
% README: Kurzeinführung TCP/IP: Netzwerkanalyse, SSH, X11
\documentclass[10pt,t]{beamer}
......
../common/Zeichen_123.pdf
\ No newline at end of file
File added
This diff is collapsed.
File added
% dbs-2022ws-p2.pdf - Labor Notes on Databases and Information Security
% Copyright (C) 2023, 2024 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Versuch 2: Relationale Datenbanken
\documentclass[a4paper]{article}
\usepackage{pgscript}
\usepackage{multicol}
\usepackage{sfmath}
\sloppy
\pagestyle{empty}
\addtolength{\textheight}{1cm}
\newcommand{\sep}{~$\cdot$~}
\newcommand{\mylicense}{CC BY-SA (Version 4.0) oder GNU GPL (Version 3 oder höher)}
\begin{document}
\makebox(0,0.005)[tl]{\includegraphics[scale=0.72]{logo-hochschule-bochum-cvh-text-v2.pdf}}\hfill
\makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}}
\par\bigskip\bigskip
\begin{center}
\Large\textbf{Praktikumsversuch 2: Relationale Datenbanken}
\par\medskip
\normalsize Datenbanken und Datensicherheit\sep
Wintersemester 2024/25\sep
Prof.~Dr.~Peter Gerwinski
\end{center}
Aufgabe: Stellen Sie einen realistischen Datenbestand
in einer relationalen Datenbank dar.
% \begin{multicols}{2}
\begin{itemize}
\item
Installieren Sie auf einem Rechner, auf dem Sie Administrationsrechte haben,
ein Datenbank-Management-System (DBMS, z.\,B.\ PostgreSQL, MariaDB).
Legen Sie einen Nutzer mit Passwort an.
\item
Machen Sie sich mit dem Umgang mit dieser Datenbank vertraut.
Hierfür können Sie z.\,B.\ die Tabelle,
für die Sie in Praktikumsversuch 1 ein Abfragesystem programmiert haben,
in die Datenbank einspielen.
Geben Sie SQL-Befehle sowohl von Hand ein
als auch über vorab erstellte SQL-Skripte.
\item
Überlegen Sie sich ein realistisches Szenario
als Anwendungsbeispiel für eine relationale Datenbank.
Nutzen Sie für Ihre Daten verschiedene (sinnvolle!) Datentypen.
\item
Beispiel 1: Musiksammlung (vgl.~die Beispiele aus der Vorlesung
bzw.~aus \url{https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)}
zum Thema "`Normalformen"')
\item
Beispiel 2: Online-Shop.
Hier gibt es typischerweise Listen für die Kundschaft
inklusive teilweise mehrerer Adressen,
Listen von Waren, Listen von Bestellungen, \dots
\item
Achten Sie bei der Organisation Ihrer Daten auf die Einhaltung
der in der Vorlesung vorgestellten Normalformen.
\item
Erstellen Sie ein SQL-Skript, mit dem Sie diese Datenbank
automatisch einspielen können. (Beispiele dazu finden Sie z.\,B.\ unter
\url{https://gitlab.cvh-server.de/pgerwinski/dbs/-/tree/2023ws/20231123}.)
\item
Stellen Sie Abhängigkeiten zwischen den Tabellen
durch primäre Schlüssel (\lstinline[style=cmd]{PRIMARY KEY}),
Fremdschlüssel (\lstinline[style=cmd]{FOREIGN KEY})
und Tabellenverknüpfungen (\lstinline[style=cmd]{JOIN}) her.
\item
Erstellen Sie Sichten auf Tabellen (\lstinline[style=cmd]{VIEW})
für praxistypische Anwendungsfälle (z.\,B.\ in Beispiel 1:
Liste sämtlicher Musikstücke inklusive Album, Erscheinungsjahr usw.).
\end{itemize}
% \end{multicols}
\strut\hfill\emph{Viel Erfolg!}
\vfill
\begingroup
\small
\setlength{\leftskip}{3cm}
Stand: 20.\ November 2024
Copyright \copyright\ 2023, 2024\quad Peter Gerwinski\\
Lizenz: \mylicense
Sie können diese Praktikumsunterlagen einschließlich \LaTeX-Quelltext
herunterladen unter:\\
\url{https://gitlab.cvh-server.de/pgerwinski/dbs}
\endgroup
\end{document}
File added
% dbs-uebung-20241120.pdf - Exercises on Databases and Information Security
% Copyright (C) 2024 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: 6: Router-Konfiguration, Port-Weiterleitung, Firewall-Konfiguration
\documentclass[a4paper]{article}
\usepackage{pgscript}
\begin{document}
% \thispagestyle{empty}
\section*{Datenbanken und Datensicherheit\\
Übungsaufgaben 6 -- 20.\ November 2024}
\exercise{Router-Konfiguration}
Ein Router hat die IP-Adresse \lstinline[style=terminal]{192.168.0.1}
und ist für das Netz \lstinline[style=terminal]{192.168.0.0/24} zuständig.
Ihr Rechner hat die IP-Adresse \lstinline[style=terminal]{192.168.0.42}.
Über ein Web-Interface konfigurieren Sie den Router um, so daß er anschließend
die IP-Adresse \lstinline[style=terminal]{192.168.192.1} hat
und für das Netz \lstinline[style=terminal]{192.168.192.0/25} zuständig ist.
\begin{enumerate}[(a)]
\item
Danach können Sie den Router nicht mehr über das Web-Interface erreichen
und auch nicht mit \lstinline[style=cmd]{ping 192.168.0.1}.
Warum nicht?
Was müssen Sie tun, um den Router wieder erreichen zu können?
\item
Ein zweiter Rechner mit der IP-Adresse \lstinline[style=terminal]{192.168.192.168}
kann den Router weiterhin nicht erreichen.
Warum nicht?
\end{enumerate}
\exercise{Port-Weiterleitung}
Mitarbeiter A der Firma \emph{Beispiel GmbH\/}
möchte seinem Kollegen B an einem weit entfernten Standort
Zugriff auf einen Netzwerk-Drucker an seinem eigenen Standort gewähren.
Der Arbeitsplatzrechner von A hat die IP-Adresse \lstinline[style=terminal]{192.168.65.3},
der von B \lstinline[style=terminal]{192.168.66.12}.
Der Netzwerkdrucker ist unter der IP \lstinline[style=terminal]{192.168.65.47}, TCP-Port 631 erreichbar.
Die Teilnetze der beiden Standorte sind nicht miteinander verbunden,
aber A hat die Möglichkeit, sich per SSH über das Internet
auf dem Rechner \lstinline[style=terminal]{fw-b.example.com} einzuloggen,
der im Teilnetz des anderen Standorts die IP-Adresse \lstinline[style=terminal]{192.168.65.1} hat.
\begin{enumerate}[(a)]
\item
Beschreiben Sie in Worten, durch welche Maßnahme A seinem Kollegen B
Zugriff auf den Netzwerkdrucker gewähren kann.
\item
Formulieren Sie die o.\,a.\ Maßnahme als SSH-Aufruf.
\item
Welche IP-Adresse und welchen TCP-Port muß anschließend Kollege B verwenden,
um auf dem Netzwerkdrucker zu drucken?
\end{enumerate}
\exercise{Firewall-Konfiguration}
In einem Netzwerk soll auf einem lokalen Rechner (IP-Adresse:
\lstinline[style=terminal]{192.168.0.197}) eine neue Software "`PowerBanking"'
eingeführt werden. Die einzige Information, die der Administrator
dazu bekommt, lautet: "`Die Software benötigt Internet-Zugang.
Schalten Sie dafür die Firewall frei."'
Die bisherige Firewall-Konfiguration auf dem Internet-Gateway der Firma lautet:
\vspace{-\medskipamount}
\begin{itemize}
\item
erlaube bestimmte, einzeln benannte Verbindungen von innen nach außen
\item
erlaube Antworten auf die o.\,a.\ erlaubten Verbindungen
\item
weise alle anderen Verbindungen zurück
\end{itemize}
Da die Software dringend benötigt wird, gibt der Administrator
zunächst die folgende Zeile ein:
\begin{lstlisting}[style=terminal]
# ¡iptables -I FORWARD -i eth0 -o ppp0 --source 192.168.0.197 -j ACCEPT¿
\end{lstlisting}
Daraufhin kann die Software genutzt werden.
\begin{itemize}
\item[(a)]
Was bewirkt dieser Befehl?
% \points{2}
% \workspace{15}
\end{itemize}
\goodbreak
Am nächsten Tag will der Administrator die Firewall-Regel
verfeinern. Hierzu nimmt er, während jemand die neue Software
nutzt, mit \lstinline[style=cmd]{tcpdump} die folgende Zeile auf
(Zeilenumbrüche nachträglich hinzugefügt):
\medskip
\begin{lstlisting}[style=terminal]
20:39:50.285116 IP 192.168.0.197.52353 > 203.0.113.3.1415:
Flags [S], seq 1785238882, win 14600, options
[mss 1460,sackOK,TS val 87404556 ecr 0,nop,wscale 6],
length 0
\end{lstlisting}
% \begin{verbatim}
% 20:39:50.282787 IP 192.168.0.197.32785 > 192.168.0.1.53:
% 65130+ A? powerbanking.example.de. (32)
% 20:39:50.283827 IP 192.168.0.1.53 > 192.168.0.197.32785:
% 65130 1/3/3 A 203.0.113.3 (192)
% 20:39:50.285116 IP 192.168.0.197.52353 > 203.0.113.3.1415:
% Flags [S], seq 1785238882, win 14600, options
% [mss 1460,sackOK,TS val 87404556 ecr 0,nop,wscale 6],
% length 0
% \end{verbatim}
\begin{itemize}
\item[(b)]
Welche Rückschlüsse erlaubt die Ausgabe von \lstinline[style=cmd]{tcpdump} auf den von der
Software "`PowerBanking"' benötigten Internet-Zugriff?
% \points{4}
% \workspace{7}
% \workspace{20}
\item[(c)]
% Der in Aufgabenteil (a) betrachtete Befehl erlaubt weit mehr
% als nur den für "`PowerBanking"' benötigten Internet-Zugriff.
Formulieren Sie -- in Worten und als \lstinline[style=cmd]{iptables}-Befehl --
eine Firewall-Regel, die der Software nur den tatsächlich
benötigten Internet-Zugriff erlaubt.
% \points{5}
% \workspace{26}
% \item[(d)]
% Welche nächste Ausgabezeile ist -- in Worten formuliert -- im
% \lstinline[style=cmd]{tcpdump}-Protokoll zu erwarten, wenn die Software mit
% aktivierter Firewall-Regel wieder genutzt wird?
% \points{2}
% \workspace{20}
\end{itemize}
\begin{flushright}
\textit{Viel Erfolg!}
\end{flushright}
\end{document}
../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
../common/logo-hochschule-bochum.pdf
\ No newline at end of file
../common/pgscript.sty
\ No newline at end of file
../common/pgslides.sty
\ No newline at end of file
......@@ -22,7 +22,8 @@ Vortragsfolien und Beispiele:
* [16.10.2024: Unix-Kommandozeile: Dateisysteme, Ein- und Ausgabeströme, Pipes, Verzweigungen und Schleifen](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241016/dbs-20241016.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241016/)
* [30.10.2024: Kurzeinführung TCP/IP](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241030/dbs-20241030.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241030/)
* [06.11.2024: Kurzeinführung TCP/IP](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241106/dbs-20241106.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241106/)
* [13.11.2024: TCP/IP: Netzwerkanalyse, SSH, X11](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241113/dbs-20241113.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241113/)
* [13.11.2024: Kurzeinführung TCP/IP: Netzwerkanalyse, SSH, X11](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241113/dbs-20241113.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241113/)
* [20.11.2024: Kurzeinführung TCP/IP: VNC, GNU screen, Firewall; Relationale Datenbanken: Einführung, Normalformen](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241120/dbs-20241120.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/dbs/tree/2024ws/20241120/)
* [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/dbs-slides-2024ws.pdf)
Übungsaufgaben:
......@@ -32,11 +33,13 @@ Vortragsfolien und Beispiele:
* [30.10.2024: 3: Streaming-Dienst](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241030/dbs-uebung-20241030.pdf)
* [06.11.2024: 4: Begrüßungs-Skript, Dateitransfer](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241106/dbs-uebung-20241106.pdf)
* [13.11.2024: 5: Text in Bild, Text in ausführbarer Datei, Programme installieren](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241113/dbs-uebung-20241113.pdf)
* [20.11.2024: 6: Router-Konfiguration, Port-Weiterleitung, Firewall-Konfiguration](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241120/dbs-uebung-20241120.pdf)
Praktikumsunterlagen:
---------------------
* [Versuch 0: Erstkontakt mit der Unix-Shell](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241002/dbs-2024ws-p0.pdf)
* [Versuch 1: Datenbank-Management-System im Selbstbau](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241030/dbs-2024ws-p1.pdf)
* [Versuch 2: Relationale Datenbanken](https://gitlab.cvh-server.de/pgerwinski/dbs/raw/2024ws/20241120/dbs-2024ws-p2.pdf)
Original-Materialien einschließlich Beispiel-Programme und LaTeX-Quelltexte:
----------------------------------------------------------------------------
......
No preview for this file type
......@@ -20,6 +20,8 @@
\includepdf[pages=-]{20241030/dbs-20241030.pdf}
\pdfbookmark[1]{06.11.2024: Kurzeinführung TCP/IP}{20241106}
\includepdf[pages=-]{20241106/dbs-20241106.pdf}
\pdfbookmark[1]{13.11.2024: TCP/IP}{20241113}
\pdfbookmark[1]{13.11.2024: Kurzeinführung TCP/IP: Netzwerkanalyse, SSH, X11}{20241113}
\includepdf[pages=-]{20241113/dbs-20241113.pdf}
\pdfbookmark[1]{20.11.2024: Kurzeinführung TCP/IP: VNC, GNU screen, Firewall; Relationale Datenbanken: Einführung, Normalformen}{20241120}
\includepdf[pages=-]{20241120/dbs-20241120.pdf}
\end{document}
......@@ -50,6 +50,9 @@ EOF
echo "$0: error compiling $slides_tex_file"
exit 1
}
rm -f dbs-slides-"$sem".{aux,log,out}
echo
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment