Explained some components
This commit is contained in:
11
abk.tex
11
abk.tex
@@ -19,6 +19,17 @@
|
|||||||
\newacroplural{Abk}[Abk-en]{Abkürzungen}
|
\newacroplural{Abk}[Abk-en]{Abkürzungen}
|
||||||
|
|
||||||
\acro{H2O}[\ensuremath{H_2O}]{Di-Hydrogen-Monoxid}
|
\acro{H2O}[\ensuremath{H_2O}]{Di-Hydrogen-Monoxid}
|
||||||
|
\acro{API}[API]{Application Programming Interface}
|
||||||
|
\acro{DRF}[DRF]{Django Rest Framework}
|
||||||
|
\acro{REST}[REST]{Representational State Transfer}
|
||||||
|
\acro{KV}[KV]{Key-Value}
|
||||||
|
\acro{BGP}[BGP]{Border Gateway Protocol}
|
||||||
|
\acro{DDoS}[DDoS]{Distributed Denial of Service}
|
||||||
|
\acro{TTL}[TTL]{Time to live}
|
||||||
|
\acro{UUID}[UUID]{Universally unique identifier}
|
||||||
|
\acro{HTTP}[HTTP]{Hypertext transfer protocol}
|
||||||
|
\acro{SQL}[SQL]{Structured Query Language}
|
||||||
|
|
||||||
|
|
||||||
% Wenn neicht benutzt, erscheint diese Abk. nicht in der Liste
|
% Wenn neicht benutzt, erscheint diese Abk. nicht in der Liste
|
||||||
\acro{NUA}{Not Used Acronym}
|
\acro{NUA}{Not Used Acronym}
|
||||||
|
|||||||
@@ -137,7 +137,6 @@ Gutachter der Studienakademie & \BetreuerDHBW \\
|
|||||||
Mittels Remote Triggered Route Injection können End Benutzer bequem über eine Weboberfläche,
|
Mittels Remote Triggered Route Injection können End Benutzer bequem über eine Weboberfläche,
|
||||||
Routen mittels BGP Communities manipulieren.
|
Routen mittels BGP Communities manipulieren.
|
||||||
Um dies zu verwirklichen, wurde das Projekt in verschiedene Teilsysteme unterteilt, welche ihren eigenen Aufgabenbereich haben.
|
Um dies zu verwirklichen, wurde das Projekt in verschiedene Teilsysteme unterteilt, welche ihren eigenen Aufgabenbereich haben.
|
||||||
|
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|||||||
40
kapitel2.tex
40
kapitel2.tex
@@ -9,9 +9,49 @@
|
|||||||
|
|
||||||
\section{Aufgabenstellung}
|
\section{Aufgabenstellung}
|
||||||
|
|
||||||
|
Um im Falle eines \ac{DDoS} Angriffs schnell reagieren zu können, muss es eine bequeme und einfache Möglichkeit geben, Routen zu manipulieren.
|
||||||
|
Hierfür wurde das Projekt Remote Triggered Blackholing gestartet.
|
||||||
|
Im Falle eines \ac{DDoS} Angriffs, könnten somit IP Präfixe des Angreifers gezielt in ein Blackhole geroutet werden.
|
||||||
|
Eine Belastung der Zielsysteme könnte somit verhindert werden, da die boshaften Pakete des Angreifers somit nicht beim Zielsystem ankommen würde, sondern in das schwarze Loch (Blackhole) weitergeleitet werden.
|
||||||
|
Um die Routen in Routern manipulieren zu können, müssen diese über Injektoren in diese injiziert werden.
|
||||||
|
Im Verlaufe dieser Projektarbeit wird die Entwicklung einer \ac{API}, welche mit Consul kommuniziert genauer betrachtet.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
|
||||||
\section{Verknüpfung zu Vorlesungsinhalten}
|
\section{Verknüpfung zu Vorlesungsinhalten}
|
||||||
|
|
||||||
\section{Praktische Lösung}
|
\section{Praktische Lösung}
|
||||||
|
|
||||||
|
\subsection{Zusammenfassung wichtiger Komponenten und Begriffe}
|
||||||
|
|
||||||
|
\begin{flushleft}
|
||||||
|
Django \ac{REST} Framework:
|
||||||
|
|
||||||
|
Django ist ein Web-Framework, dessen Ziel es ist, Entwicklung von Web Applikationen schnell, einfach und übersichtlich zu machen.
|
||||||
|
Das Django \ac{REST} Framework, hier nachfolgend als \ac{DRF} bezeichnet, ist ein \ac{REST} Framework welches auf Django basiert. Mit \ac{DRF} lassen sich \ac{REST}-ful \ac{API}s schnell und einfach gestalten. Hierfür bietet Django eine Reihe an vorgefertigten Hilfestellung an, welche im Verlaufe dieser Projektarbeit näher erläutert werden. Datenbankmodelle werden hier einfach programmatisch deklariert und werden anschließend von Django automatisch verwaltet. Über Objekte können somit einzelne Werte aus der Datenbank entnommen werden, ohne sich mühsam mit \ac{SQL} Queries auseinandersetzen zu müssen.
|
||||||
|
Sowohl Django als auch \ac{DRF} basieren auf der Programmiersprache Python. Die aktuell (Stand 20.09.2022) höchst unterstütze Version von Python für \ac{DRF} ist Python 3.10.
|
||||||
|
\end{flushleft}
|
||||||
|
|
||||||
|
\begin{flushleft}
|
||||||
|
Hashicorp Consul:
|
||||||
|
|
||||||
|
Consul, entwickelt von Hashicorp, ist eine Netzwerk Service Lösung, welche eine sichere Kommunikation zwischen Services und Applikation erlaubt.
|
||||||
|
Consul kann sowohl redundant mit mehreren Nodes, als auch standalone genutzt werden. Für diese Projektarbeit, wird eine standalone Lösung eingesetzt und es wird lediglich die Key-Value Store Funktion genutzt. Mit dieser Funktion können Key-Value, also Schlüssel:Wert Paare über das Netzwerk in Consul gespeichert werden.
|
||||||
|
\end{flushleft}
|
||||||
|
|
||||||
|
\begin{flushleft}
|
||||||
|
\ac{BGP}:
|
||||||
|
|
||||||
|
Das Border Gateway Protocol (BGP) ist die Post des Internets.
|
||||||
|
Wenn jemand einen Brief in ein Postbriefkasten wirft, verarbeitet die Post diese Sendung und wählt einen schnellen und effizienten Weg, um den Brief beim Empfänger zuzustellen. Wenn jemand Daten über das Internet übermittelt, BGP in ähnlicher Weise dafür verantwortlich, alle verfügbaren Pfade zu prüfen, die Daten zurücklegen können, und die beste Route auszuwählen, was normalerweise bedeutet, zwischen autonomen Systemen zu wechseln.''
|
||||||
|
\citeurl{cloudflare}
|
||||||
|
|
||||||
|
Das \ac{BGP} Stellt hier nun auch die Möglichkeit, Routen eine Community anzuhängen. Communities beschreiben im wesentlichen wie mit dieser Route umgegangen werden soll.
|
||||||
|
\end{flushleft}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\endinput
|
\endinput
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|||||||
Reference in New Issue
Block a user