commit 57b6e0e2d3a0bed1dc2c4906ebfec499461cc342 Author: amanita Date: Thu Jun 15 13:20:32 2017 +0200 altes wiki durchsortiert zum veröffentlichen diff --git a/Aufgaben-der-Gruendungsphase.md b/Aufgaben-der-Gruendungsphase.md new file mode 100644 index 0000000..2a3608f --- /dev/null +++ b/Aufgaben-der-Gruendungsphase.md @@ -0,0 +1,50 @@ +### Aufgaben der Gründung: +Vor einiger Zeit hatten wir versucht, gerade ausstehende Aufgaben zu sammeln. Sie stehen exemplarisch für das was wir bereits getan haben oder uns einmal vornahmen zu tun. +#### Körperschaft: +1. [x] Gründung des Vereins +2. [x] Gewerbeanmeldung +3. [x] Konto einrichten +4. [x] Anmeldung beim Finanzamt +5. [x] Abschließen der Verträge +6. [x] Förderungen beantragen + +#### Website +- [x] Selbstverständnis +- [x] Impressum +- [x] Kontakt +- [x] Satzung und Geschäftsordnung +- [x] Kurze Erklärung was wir tun +- Alles knapper und besser fassen +- Wiki +- Anleitungen +- Dienste, die dritte auf unserer Infrastruktur anbieten (Mail, Etherpads, Git, etc.) + +#### Baumaßnahmen: +- [x] Serverraum abmauern +- [x] Server-Sensorik (Luftfeuchte, Türöffnung) +- Serverraum Belüftung +- [x] Lagerraum +- [x] Verschlag für Technik unterm Dach +- [x] Stromversorgung für Technik unterm Dach +* Status-LED auf dem Dach (weithin sichtbar) +- [x] Sicherung tauschen +- [x] Stromzähler einbauen + +#### Papierkram: +- [x] Geschäftsordnung schreiben +- [x] Verträge entwerfen +- Hotspot-Verträge entwickeln + +#### Netzausbau: +Aktuell: +- ~~Relayd zum laufen bringen. carl: "wollen wir relayd als Notfalllösung haben?"~~ +- ~~Link zum Westnetz einrichten~~ +- "Autoconfig" für die Antennen + +#### Absprechen: +- [x] Vertrag/Angebot mit/von HLKomm + +#### Fragen klären: +- OpenWRT oder proprietärer Kackmist? + + diff --git a/Diskussion-Dokumentation.md b/Diskussion-Dokumentation.md new file mode 100644 index 0000000..2829ec4 --- /dev/null +++ b/Diskussion-Dokumentation.md @@ -0,0 +1,17 @@ +Ich dachte bevor wir so richtig anfangen sollten wir uns am besten schon mal Gedanken über eine Dokumentationskonzept machen, damit wir das so on the fly nebenher dokumentieren können, und nicht irgendwann ohne Doku dastehen, oder alles auf einmal dokumentieren müssen. + +# Physikalischer Netzaufbau/Hardware +Ich hatte mir überlegt, dass wir am besten für jedes Gerät, das wir im Netzwerk betreiben (in dieser Hinsicht gelten VMs auch als Gerät) eine eigene Seite anlegen, wo zum einen möglichst viel Information überdas Gerät, sowas wie ip, mac, seriennummer, modellbezeichnung, _anschlüsse_ an andere Geräte, Standort (GPS, Adresse), Panoramas, und mehr, gesammelt ist, und zum anderen ein Changelog, wo immer wenn etwas an diesem Gerät geändert wird ein Eintrag gemacht wird. +Wenn wir das halbwegs Strukturiert machen kann man daraus dann sogar nacher coole Netzgrafiken automatisch generieren. + +NACHTRAG: Diese Informationen werden wir in Ansible eintragen und den Teil der Doku daraus generieren. + +# Nutzende/Orte +Bin mir nicht ganz sicher was wir da brauchen, Aber wieder eine Seite pro Nutzendem hört sich gut an, und eine Ansprechpartnerin pro Ort. Wenn wir da ne Kontaktemailadresse oder so reintun, sollten wir aus datenschutzgründen https ausrollen. +NACHTRAG: Wer sollt Zugriff auf diese Daten haben? + +# Passwörter/Schlüssel +Da bin ich mir tatsächlich nicht sicher, zum einen ist es Sinnvoll wenn nur wenige leute die Passwörter für bsp. Server und APs kennen, andererseits ist dann halt der Busfaktor recht niedrig. +Mein bester Vorschlag wäre ein passwort nur einer oder zwei personen in die hand zu drücken, aber sie dann verschlüselt mit einem multipart-schlüssel (der verschlüsselungsschlüssel wird in mehrere teile geteilt, und man braucht mindestens x teile um das ding zu entschlüsseln) auf irgendnem usbstick der irgendwo eingemauert wirt zu speichern. +Aber bitte haut Vorschläge raus! +NACHTRAG: Passwörter liegen in einem GPG-Block im Git, den die Vorstände entschlüsseln können. diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..db57b82 --- /dev/null +++ b/Readme.md @@ -0,0 +1,4 @@ +# Das Reudnetz Wiki +Hier sammeln wir all die Informationen, die ohne Probleme öffentlich sein können. Jeder der sich für das Reudnetz interessiert ist eingeladen, darin zu stöbern. + + diff --git a/git.md b/git.md new file mode 100644 index 0000000..923e22b --- /dev/null +++ b/git.md @@ -0,0 +1,23 @@ +### how to wiki +##### Grafisch: +[wiki.reudnetz.org](wiki.reudnetz.org) + +##### Git: +initiales einstellen von git + + git config --global user.name "user" + git config --global user.email "user@mail.tld" + +initiales saugen des wikis + + git clone git@git.reudnetz.org:wiki.git + +aktualisieren der lokalen daten + + git pull + +"pushen" der lokalen änderungen zum server + + git add DATEI.md # jeweils geänderte Dateien + git commit -m "NACHRICHT" # schlaue Nachricht was geändert wurde + git push diff --git a/menschenzeugs/FAQ.md b/menschenzeugs/FAQ.md new file mode 100644 index 0000000..9049c5b --- /dev/null +++ b/menschenzeugs/FAQ.md @@ -0,0 +1,8 @@ +### FAQ +Wiederkehrende Fragen aller Art gehören samt Antwort hier her. Ziel ist es die Liste irgendwann auf die Website zu packen. + +##### Wie kann ich sicherstellen, das ich meinen Datenverkehr nicht mitlest? +Das ist uns gesetztlich untersagt und wir versprechen euch, dass wir das nicht tun. Möglich ist es aber dennoch. Das gilt übrigens für jeden einzelnen Knotenpunkt, eurer Verbindung. Deshalb ist es wichtig, das ihr Ende-zu-Ende Verschlüsslung einsetzt. Damit seid ihr nicht mehr darauf angewiesen uns zu vertrauen, sondern könnt sichergehen, dass nur ihr und euer Gegenüber die Informationen zu Gesicht bekommt. + +##### Warum richtet ihr dann keine Ende-zu-Ende Verschlüsslung ein? +Weil wir das nicht für euch machen können. Ziel einer solchen Verschlüsselung ist es, das nur ihr uns euer Gegenüber die Daten im Klartext zu Gesicht bekommt. Sobald wir so etwas für euch anbieten würden, hätten wir Zugriff auf den Klartext. Vertraut niemanden der euch einen solchen Dienst anbietet. diff --git a/menschenzeugs/Readme.md b/menschenzeugs/Readme.md new file mode 100644 index 0000000..02e9f16 --- /dev/null +++ b/menschenzeugs/Readme.md @@ -0,0 +1,3 @@ +## Zeug mit Menschen drin +Hier kommt alles hin, was mit dem ganzen Kommunikations-Overhead zu tun hat, der mit dem ISP einhergeht. Also Dokumententemplates, Veröffentlichungen, Infoblätter, usw. +Dokumente werden dagengen seperat gespeichert, solange ich nicht weiß, was ich veröffentlichen darf. diff --git a/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.pdf b/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.pdf new file mode 100644 index 0000000..f0b65cc Binary files /dev/null and b/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.pdf differ diff --git a/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.tex b/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.tex new file mode 100644 index 0000000..01efa80 --- /dev/null +++ b/menschenzeugs/anschlussvertrag/anschlussvertrag_baustelle.tex @@ -0,0 +1,112 @@ +\documentclass[a4paper]{article} +% +\usepackage[english]{babel} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage[colorinlistoftodos]{todonotes} +\usepackage{lastpage} +% +\newcommand{\Qline}[1]{\noindent\rule{#1}{0.6pt}} +% +\def\theauthor{Reudnetz w.V.} +\def\thetitle{Anschlussvertrag} +\def\theadress{\\ Wurzner Str.2, 04315 Leipzig \\ mail@reudnetz.org} +% +\author{\theauthor \theadress} +\title{\thetitle} +\date{} +% +\fancypagestyle{front}{ + \renewcommand{\headrulewidth}{0.5pt} + \fancyhead[L]{\maketitle} + \fancyhead[R]{ + \includegraphics[width=3cm]{logo.png} + } + \fancyfoot[C]{\thepage / \pageref{LastPage}} +} +\fancypagestyle{body}{ + \fancyhead[L]{\thetitle} + \fancyhead[R]{\theauthor} + \fancyfoot[C]{\thepage / \pageref{LastPage}} +} +% +% +\begin{document} +\maketitle +\thispagestyle{front} + + +\section*{Vertragsgegenstand} + +Der Reudnetz w.V. verpflichtet sich gegenüber dem Vertragspartner zur Be\-reit\-stellung eines Internetanschlusses gemäß dem Angebot \textbf{Reudnetz Baustelle} am vereinbarten Übergabeort. + \section*{Leistungsbeschreibung} +\subsection*{Reudnetz Baustelle} +\textbf{Reudnetz Baustelle} ist kein Anschluss wie jeder Andere. + \begin{itemize} +\item{Echte Flatrate:} Keine Volumenbeschränkungen +\item{Keine Kündigungsfrist:} Kündbar zum Monatsende +\item{Mindestbandbreite:} Wir garantieren eine Mindestbandbreite +\item{Symmetrische Anschlüsse:} Genauso viel Upload wie Download +\item{Unterstützung:} Erreichbare Ansprechpersonen kümmern sich um euren Anschluss. +\item{Mitbestimmung:} Werde Vereinsmitglied und entscheide über deinen Provider. +\end{itemize} + +\section*{Zahlungsmodalitäten} +\paragraph{} Die monatlichen Kosten sind im Voraus auf das Konto +zu überweisen. Beginnend ab dem ersten vollen Monat nach Anschlussschaltung.\\ +Die Anschlusskosten sind ab der Anschlussschaltung zu zahlen.\\ +\\ +Monatliche Kosten: \Qline{4cm} +\\ +Einmalige Anschlusskosten: \textbf{50 Euro} +\\ +Übergabeort: +\\ +\\ +\Qline{\textwidth} +\\ +Reudnetz w.V.\\ +IBAN: DE27 4306 0967 1188 3419 00\\ +GLS Bank Bochum\\ + + +\section*{Nutzerdaten} +Gemäß des Telekommunikationsgesetztes §111 erheben wir folgende Daten:\\ + +Vorname, Name/Organisation:\\ + +Anschrift:\\ + +Geburtsdatum:\\ + +Email-Adresse:\\ + +Der Vertrag tritt am \Qline{3cm} in Kraft.\\ + +Ich habe die Widerrufsbelehrung und den Inhalt des Vertrages gelesen und stimme dem zu: +\\ +\\ +\\ +\begin{tabular}{ l l l } +\Qline{0.18\textwidth} & \Qline{0.36\textwidth} & \Qline{0.36\textwidth}\\ +Datum & Unterschrift des Nutzenden & Unterschrift des Anbieters \\ +%\Qline{0.45\textwidth} & \Qline{0.45\textwidth}\\ +%Unterschrift des Anbieters & Datum \\ +\end{tabular} + + +\thispagestyle{body} +\section*{Widerrufsbelehrung} +\subsection*{Widerrufsrecht} +Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tage des Vertragsabschlusses.\\ +Um Ihr Widerrufsrecht auszuüben, müssen Sie uns (Reudnetz w.V, Wurzner Str.2, 04315 Leipzig) mittels einer formlosen eindeutigen Erklärung (z.B. ein mit der Post versandter Brief oder E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren.\\ +Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.\\ + +\textbf{Folgen des Widerrufs:} +Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten haben, einschließlich der Lieferkosten (mit Ausnahme der zusätzlichen Kosten, die sich daraus ergeben, dass Sie eine andere Art der Lieferung als die von uns angebotene, günstigste Standardlieferung gewählt haben), unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei uns eingegangen ist. Für diese Rückzahlung verwenden wir dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.\\ +Haben Sie verlangt, dass die Dienstleistung während der Widerrufsfrist beginnen soll, so haben Sie uns einen angemessenen Betrag zu zahlen, der dem Anteil der bis dahin erbrachten Dienstleistungen im Vergleich zum Gesamtumfang der im Vertrag vorgesehenen Dienstleistung entspricht. + +\end{document} + diff --git a/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.pdf b/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.pdf new file mode 100644 index 0000000..dfbc96f Binary files /dev/null and b/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.pdf differ diff --git a/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.tex b/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.tex new file mode 100644 index 0000000..6e24b53 --- /dev/null +++ b/menschenzeugs/anschlussvertrag/anschlussvertrag_zuhause.tex @@ -0,0 +1,112 @@ +\documentclass[a4paper]{article} +% +\usepackage[english]{babel} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage[colorinlistoftodos]{todonotes} +\usepackage{lastpage} +% +\newcommand{\Qline}[1]{\noindent\rule{#1}{0.6pt}} +% +\def\theauthor{Reudnetz w.V.} +\def\thetitle{Anschlussvertrag} +\def\theadress{\\ Wurzner Str.2, 04315 Leipzig \\ mail@reudnetz.org} +% +\author{\theauthor \theadress} +\title{\thetitle} +\date{} +% +\fancypagestyle{front}{ + \renewcommand{\headrulewidth}{0.5pt} + \fancyhead[L]{\maketitle} + \fancyhead[R]{ + \includegraphics[width=3cm]{logo.png} + } + \fancyfoot[C]{\thepage / \pageref{LastPage}} +} +\fancypagestyle{body}{ + \fancyhead[L]{\thetitle} + \fancyhead[R]{\theauthor} + \fancyfoot[C]{\thepage / \pageref{LastPage}} +} +% +% +\begin{document} +\maketitle +\thispagestyle{front} + + +\section*{Vertragsgegenstand} + +Der Reudnetz w.V. verpflichtet sich gegenüber dem Vertragspartner zur Be\-reit\-stellung eines Internetanschlusses gemäß dem Angebot \textbf{Reudnetz Zuhause} am vereinbarten Übergabeort. + \section*{Leistungsbeschreibung} +\subsection*{Reudnetz Zuhause} +\textbf{Reudnetz Zuhause} ist kein Anschluss wie jeder Andere. + \begin{itemize} +\item{Echte Flatrate:} Keine Volumenbeschränkungen +\item{Keine Kündigungsfrist:} Kündbar zum Monatsende +\item{Mindestbandbreite:} Wir garantieren eine Mindestbandbreite +\item{Symmetrische Anschlüsse:} Genauso viel Upload wie Download +\item{Unterstützung:} Erreichbare Ansprechpersonen kümmern sich um euren Anschluss. +\item{Mitbestimmung:} Werde Vereinsmitglied und entscheide über deinen Provider. +\end{itemize} + +\section*{Zahlungsmodalitäten} +\paragraph{} Die monatlichen Kosten sind im Voraus auf das Konto +zu überweisen. Beginnend ab dem ersten vollen Monat nach Anschlussschaltung.\\ +Die Anschlusskosten sind ab der Anschlussschaltung zu zahlen.\\ +\\ +Monatliche Kosten: \textbf{20 Euro} +\\ +Einmalige Anschlusskosten: \textbf{50 Euro} +\\ +Übergabeort: +\\ +\\ +\Qline{\textwidth} +\\ +Reudnetz w.V.\\ +IBAN: DE27 4306 0967 1188 3419 00\\ +GLS Bank Bochum + +\section*{Nutzerdaten} + +Gemäß des Telekommunikationsgesetztes §111 erheben wir folgende Daten:\\ + +Vorname, Name:\\ + +Anschrift:\\ + +Geburtsdatum:\\ + +Email-Adresse:\\ + +Der Vertrag tritt am \Qline{3cm} in Kraft.\\ + +Ich habe die Widerrufsbelehrung und den Inhalt des Vertrages gelesen und stimme dem zu: +\\ +\\ +\\ +\begin{tabular}{ l l l } +\Qline{0.18\textwidth} & \Qline{0.36\textwidth} & \Qline{0.36\textwidth}\\ +Datum & Unterschrift des Nutzenden & Unterschrift des Anbieters \\ +%\Qline{0.45\textwidth} & \Qline{0.45\textwidth}\\ +%Unterschrift des Anbieters & Datum \\ +\end{tabular} + + +\thispagestyle{body} +\section*{Widerrufsbelehrung} +\subsection*{Widerrufsrecht} +Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tage des Vertragsabschlusses.\\ +Um Ihr Widerrufsrecht auszuüben, müssen Sie uns (Reudnetz w.V, Wurzner Str.2, 04315 Leipzig) mittels einer formlosen eindeutigen Erklärung (z.B. ein mit der Post versandter Brief oder E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren.\\ +Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.\\ + +\textbf{Folgen des Widerrufs:} +Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten haben, einschließlich der Lieferkosten (mit Ausnahme der zusätzlichen Kosten, die sich daraus ergeben, dass Sie eine andere Art der Lieferung als die von uns angebotene, günstigste Standardlieferung gewählt haben), unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei uns eingegangen ist. Für diese Rückzahlung verwenden wir dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.\\ +Haben Sie verlangt, dass die Dienstleistung während der Widerrufsfrist beginnen soll, so haben Sie uns einen angemessenen Betrag zu zahlen, der dem Anteil der bis dahin erbrachten Dienstleistungen im Vergleich zum Gesamtumfang der im Vertrag vorgesehenen Dienstleistung entspricht. + +\end{document} + diff --git a/menschenzeugs/anschlussvertrag/logo.png b/menschenzeugs/anschlussvertrag/logo.png new file mode 100644 index 0000000..d2cc086 Binary files /dev/null and b/menschenzeugs/anschlussvertrag/logo.png differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/angriffsdiagram.dot b/menschenzeugs/bnetza/sicherheitskonzept/angriffsdiagram.dot new file mode 100644 index 0000000..e0184da --- /dev/null +++ b/menschenzeugs/bnetza/sicherheitskonzept/angriffsdiagram.dot @@ -0,0 +1,21 @@ +digraph angriffsdiagramm { +rankdir = BT +node [shape="rect"] +"Fernmeldegeheimnis verletzen" +"Stören" +"Personenbezogene Daten erlangen" +node [shape=""] + +"in Gebäude eindringen" -> "in Kabelschacht eindringen" -> "Kernnetz infiltrieren" -> "Fernmeldegeheimnis verletzen" + "in Kabelschacht eindringen" -> "Kernnetz stören" -> "Stören" + +"in Gebäude eindringen" -> "in Räumlichkeit eindringen" -> "in Technikschrank eindringen" -> "Kernnetz infiltrieren" + "in Technikschrank eindringen" -> "Kernnetz stören" + "in Technikschrank eindringen" -> "INP stören" -> "Stören" + +"in VDS-Gebäude eindringen" -> "in VDS-Räumlichkeiten eindringen" -> "in VDS-Technikschränk eindringen" -> "verschlüsselung überwinden" -> "Personenbezogene Daten erlangen" +node [style="dotted"] +"in Endnutzer-Gebäude eindringen" -> "ENP Stören" -> "Stören" [style="dotted"] +"in Endnutzer-Gebäude eindringen" -> "ENP Infiltrieren" -> "Fernmeldegeheimnis verletzen" [style="dotted"] +node [style=""] +} diff --git a/menschenzeugs/bnetza/sicherheitskonzept/hacker b/menschenzeugs/bnetza/sicherheitskonzept/hacker new file mode 100644 index 0000000..8bf3257 --- /dev/null +++ b/menschenzeugs/bnetza/sicherheitskonzept/hacker @@ -0,0 +1,130 @@ +Systeme: +* Router +* Endkundenrouter +* Kernnetz +* VDS-Einrichtung + +Szenarien: +* Störungen des Netzwerkes +* Aneignung schützenswerter Daten + personenbezogen + Fermeldegeheimnis +* Missbräuchliche Nutzung der Netzinfrastruktur zum Angriff weiterer Ziele (Vektor) +* Manipulation des Datenverkehrs + + +### start text +Als Hackerangriffe sind hier Bedrohungen der Systemsicherheit durch physisch von System getrennte Personen definiert, die durch Ausnutzung der imanenten Eingeschaften des Netzes und/oder seiner Komponenten, widerrechtlich für ihre Zwecke nutzen. +Motivation kann dabei finanzieller oder informationeller Vorteil aber auch spielerischer Ehrgeiz sein. +Darunter fallen sowohl gezielte Angriffe, an denen Menschen aktiv arbeiten und diese an unsere Infrastruktur anpassen, wie auch weniger gezielte Angriffe, die in Form von universellen Viren und Trojanischen Pferden im Netz kursieren um Computer für die Anwendungen des böswilligen Programierers zu versklaven. + +====== Gesamtsystematische Betrachtungen ====== +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Der gesamtsystematische Schutz des Fernmeldegeheimnisses besteht im Schutz der einzelnen Systemkomponenten. +==== Schutz Personenbezogener Daten ==== +Der gesamtsystematische Schutz personenbezogener Daten besteht im Schutz der einzelnen Systemkomponenten. +==== Schutz gegen Störungen ==== +Als Infrastuktureinrichtung muss das gesamte System möglichst unanfällig gegenüber Störungen einzelner Systemkomponenten sein. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Der gesamtsystematische Schutz personenbezogener Daten besteht im Schutz der einzelnen Systemkomponenten. +===== Sicherung gegen Störung +Alle kritischen Systemkomponenten sind redundant angelegt. +===== Sicherung gegen Fremdkontrolle +Vergangene Fälle, in denen Unternehmen nach Bekanntwerden von Sicherheitsdefiziten ihrerseits, durch Ignoration und Strafandrohung, Ausnutzung oder Veröffentlichung des Sicherheitsdefizites provoziert haben, legen nahe ein Kommuninationsorgan für solche Fälle anzulegen. +Als einfache strukturelle Maßnahme, Sicherheitsrisiken zu minimieren, richten wir eine Kommunikationsschnittstelle an die sich Personen wenden können, +die einen Sicherheitsmangel entdeckt haben und fordern explizit dazu auf, uns über derartige Vorfälle zu informieren. + +====== Internetseitiger Netzabschlusspunkt ====== +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Erlangt ein Angreifer Kontrolle über einen INP so kann er den gesamten unverschlüsselten Internetverkehr aller Nutzenden mitlesen und manipulieren. Schutzbedarf. +==== Schutz Personenbezogener Daten ==== +Der INP verarbeitet keine personenbezogenen Daten. +==== Schutz gegen Störungen ==== +Bei Störung des INP ist die Netzwerkanbindung aller Nutzenden beeinträchtigt. Dies ist ein kritsisches Szenario, das besonderer Schutzmaßnahmen bedarf. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Erlangt ein Angreifer Kontrolle über den INP so kann er diesen verwenden, um auf andere Komponenten des Kernetzes störend oder manipulativ einzuwirken. Genauso kann er den INP als Angriffswerkzeug für weitere Ziele im Internet verwenden. Schutzbedarf. +===== Sicherung gegen Störung +Aus dem Internet kann der INP Ziel von Angriffen durch extrem zahlreiche Anfragen (AdezA) werden. Gegen diese können wir uns nur bedingt schützen. Durch redundante Anbindungen um große Bandbreite lässt der Aufwand für eine derartige Störung stark erhöhen. Gleichzeitig ist das Risiko, eines solchen Angriffs eher gering und hinterlässt über die Dauer des Angriffes hinaus keine nachhaltigen Schäden. Die Einschränkung der Verbindungsqualität wärend eines sochen Angriffs ist jedoch mit [] auf ein Minimum zu reduzieren. +===== Sicherung gegen Fremdkontrolle +Auf dem INP, läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf das Kernnetz und die darin enthaltenen Geräte gesteuert und reglementiert. + +====== Endverbraucherseitiger Netzabschlusspunkt ====== +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Erlangt ein Angreifer Kontrolle über einen ENP so kann er den gesamten unverschlüsselten Internetverkehr eines Nutzenden mitlesen und manipulieren. Schutzbedarf. +==== Schutz Personenbezogener Daten ==== +Der ENP verarbeitet keine personenbezogenen Daten. +==== Schutz gegen Störungen ==== +Bei Störung des ENP ist die Netzwerkanbindung eines einzelnen Nutzenden beeinträchtigt. Dies ist zu vermeiden, bedeutet aber nur geringen Schutzbedarf. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Erlangt ein Angreifer Kontrolle über einen ENP so kann er diesen verwenden, um auf andere Komponenten des Kernetzes störend oder manipulativ einzuwirken. Genauso kann er den ENP als Angriffswerkzeug für weitere Ziele im Internet verwenden. Schutzbedarf. +===== Sicherung gegen Störung +===== Sicherung gegen Fremdkontrolle + +====== Kernnetz ====== +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Der Schutz des Fernmeldegeheimnisses ist für das Kernnetz relevant, da alle Endnutzerdatenverbindungen durch dieses laufen. +==== Schutz Personenbezogener Daten ==== +Das Kernnetz verarbeitet keine personenbezogenen Daten. +==== Schutz gegen Störungen ==== +Da ein ein größerer Ausfall des Kernnetzes auch einen größeren Ausfall, der über es zur Verfügung gestellten Dienstleistung nach sich ziehen würde, ist ein Schutz gegen Störungen relevant. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Erlangt ein Angreifer Kontrolle über Geräte des Kernnetzes so kann er diese verwenden, um auf andere Komponenten des Kernnetzes störend oder manipulativ einzuwirken. Genauso kann er die kontrollierten Komponenten als Angriffswerkzeug für weitere Ziele im Internet verwenden. Schutzbedarf. +===== Sicherung gegen Störung +===== Sicherung gegen Fremdkontrolle +Auf den Geräten des Kernenetzes, speziel den Hauptroutern, läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf das Kernnetz und die darin enthaltenen Geräte gesteuert und reglementiert. + +====== VDS-Einrichtung ====== +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Es läuft kein Netzwerkverkehr durch die VDS-Einrichtung, kein Schutzbedarf. +==== Schutz Personenbezogener Daten ==== +Die VDS-Einrichtung verarbeitet personenbezogene Daten, damit muss sie besonders vor unauthorisiertem Zugriff geschützt werden. +==== Schutz gegen Störungen ==== +Auch wenn der Betrieb einer VDS-Einrichtung für den Netzbetrieb vollkommen unbedeutend ist, ist der Nichtbetrieb mit gesetzlich unter Strafe gestellt, so dass wir verpflichtet sind die VDS-Einrichtung gegen Störungen zu sichern. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Das die VDS-Einrichtung nur einseitig mit dem Kernnetz verbunden ist, kann sie nicht als Engriffsvektor benutzt werden. +===== Sicherung gegen Störung +===== Sicherung gegen Fremdkontrolle + +Durch öffentlich Dokumentation, der von uns eigensetzen Technik glauben wir einen Teil der + +Auf den Geräten des Kernenetzes, speziel den Hauptroutern, läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf das Kernnetz und die darin enthaltenen Geräte gesteuert und reglementiert. + +Alle Geräte des Kernnetzes sind in Einrichtungen untergebracht, die mehrere Ebenen von physikalischem Schutz ermöglichen. Sowohl die Räume wir auch die Geräte sind mit jeweils seperat verschlossen, Schlüssel sind nur bei den zugangsberechtigeten Personen vorhanden. Darüber hinaus verfügen die Eingesetzen Geräte, oder deren Schränke über eine elektronische Erkennung von Eindringlingen. +Darüber hinaus begegnen wir der Gefahr von physischem Datendiebstahl durch die Verwendung von aktueller Verschlüsseltungstechnologie auf allen Datenspeichern nach BSI TR-02102-1. + +Gegen Angriffe durch extrem zahlreiche Anfragen (AdezA) können wir uns nur bedingt schützen. Durch redundante Anbindungen um große Bandbreite lässt der Aufwand für eine derartige Störung start erhöhen. Gleichzeitig ist das Risiko, eines solchen Angriffs eher gering und hinterlässt über die Dauer des Angriffes hinaus keinen nachhaltigen Schäden. Die Einschränkung der Verbindungsqualität wärend eines sochen Angriffs ist jedoch mit [] auf ein Minimum zu reduzieren. + +Vergangene Fälle, in denen Unternehmen nach Bekanntwerden von Sicherheitsdefiziten ihrerseits, durch Ignoration und Strafandrohung, Ausnutzung oder Veröffentlichung des Sicherheitsdefizites provoziert haben, legen nahe ein Kommuninationsorgan für solche Fälle anzulegen. +Als einfache strukturelle Maßnahme, Sicherheitsrisiken zu minimieren, richten wir eine Kommunikationsschnittstelle an die sich Personen wenden können, +die einen Sicherheitsmangel entdeckt haben und fordern explizit dazu auf, uns über derartige Vorfälle zu informieren. + + + +### end text + +Trojaner, Viren, Rootkits +DDOS +WLAN-Störsender + + +Im MOment kann uns Jemand hacken, in dem er eine Antenne vom Dach pflückt, uns das WLAN-Passwort über die serielle Konsole extrahiert. Evtl. kommt man so auch ans Antennenpasswort. + +Kein Passwort reuse +SOftware SIgnaturen +Verfügbarer Quellcode für Sicherheitsaudits +Exakt auf die Anwendungen zugeschnittene Softwareauswahl (minimale Systeme) +Intrusion Detection +Verschlüsselung nach aktuellem Stand der Technik + +strukturell: +Transparente Vorgehensweise +Kontrollorgan für Entscheidungen +Keine Sicherheit durch Verschleierung +Kommunikationschnittstelle für MEnschen, die Fehler uns auf gemachte Fehler aufmerksam machen. + + diff --git a/menschenzeugs/bnetza/sicherheitskonzept/logo.png b/menschenzeugs/bnetza/sicherheitskonzept/logo.png new file mode 100644 index 0000000..ccc2f48 Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/logo.png differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/logo.svg b/menschenzeugs/bnetza/sicherheitskonzept/logo.svg new file mode 100644 index 0000000..26c44b7 --- /dev/null +++ b/menschenzeugs/bnetza/sicherheitskonzept/logo.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.dia b/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.dia new file mode 100644 index 0000000..a9664d1 Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.dia differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.png b/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.png new file mode 100644 index 0000000..2895de8 Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/netzwerkdiagram.png differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sabotage b/menschenzeugs/bnetza/sicherheitskonzept/sabotage new file mode 100644 index 0000000..ba8846b --- /dev/null +++ b/menschenzeugs/bnetza/sicherheitskonzept/sabotage @@ -0,0 +1,153 @@ +Content-Type: text/x-zim-wiki +Wiki-Format: zim 0.4 +Creation-Date: 2016-09-02T10:39:18+02:00 + +====== sicherheitskonzept ====== +Created Freitag 02 September 2016 + +Systeme: +* Router +* Endkundenrouter +* Kernnetz +* VDS-Einrichtung + +Angriffsszenarien: +* Sabotage + * Innen + * Außen +* ?? + +Außerdem konzeptuelle netzansicht + +{{./diagram.png?type=diagram}} + +====== Sicherung gegen Sabotage von Innen ====== +Für eine Sabotage von Innen muss ein Saboteur in die Organisation eingeführt werden. +Dieser könnte zwei Ziele verfolgen, direkte Sabotage der operativen Systeme, oder Lähmung der Organisation. +Reudnetz w.V. ist in seiner Organisationsstruktur als Verein mit offenen Anmeldungen gegenüber der Einführung von Saboteuren besonders gefährdet. +Zur direkten Sabotage muss der Saboteur Zugang zu Zugangsdaten zu den Operativen Systemen erlangen. +Dies wird verhindert, indem diese Zugangsdaten nur einer sehr begrenzten Personengruppe zugänglich gemacht werden, diese nur erweitert wird, wenn es aufgrund des Arbeitsaufwandes unabdingbar notwendig ist und alle Zugangsdaten ausgetauscht werden, sobald eine der berechtigten Personen ausgetauscht wird. +Im April 2016 beträgt die Größe der berechtigten Personengruppe Zwei, in Zahlen 2 Personen. +Zur indirekten Sabotage durch lähmung der Organisation ist es für den Saboteur ausreichend an Organisationstreffen und Mitgliederversammlungen teilzunehmen, wozu er bereits durch eine simple Mitgliedschaft berechtigt ist. +(Dieses Angriffsszenario ist allerdings irrelevant, da die genannten treffen plenarischer form stattfinden, also quasi selbst-lähmend sind) +Die Gegenmasnahme setzt an der Tatsache an, dass das Verhalten des Saboteurs sich zumindest subtil von dem eines konstruktiven Mitglieds unterscheiden muss. Sollte irgend einem Teilnehmer während einer Mitgleiderversammlung oder eines Organisationstreffens ein solches Verhalten auffallen, wird dieses einem Vorstandsmitglied gemeldet, welches dann Ermittlungen einleitet. Dieses Verfahren ist in der Geschäftsordnung geregelt. +Die Mitglieder werden basierend auf Geheimdienstdokumenten über sabotierende Verhaltensmuster aufgeklärt. + +====== Internetseitiger Netzabschlusspunkt ====== + +===== Schutzziele ===== + +==== Schutz des Fernmeldegeheimnisses ==== +Der Schutz des Fernmeldegeheimnisses ist für den internetseitigen Netzabschlusspunkts (in folge INP) relevant, +da der gesamte Datenverkehr, welcher nicht zwischen zwei Netzteilnehmern abläuft durch selbigen läuft. + +==== Schutz Personenbezogener Daten ==== +Der INP verarbeitet keine personenbezogenen Daten, kein Schutzbedarf. + +==== Schutz gegen Störungen ==== +Da der INP eine kritische Komponente darstellt, deren Ausfall das Netz stark negativ beeinträchtigen würde ist eine Betrachtung des Schutzes gegen Störungen relevant. + +===== Sicherung gegen Sabotage von Innen ===== +Den Gesamtsystemischen Gegenmaßnahmen und Analysen ist nichts hinzuzufügen + +===== Sicherung gegen Sabotage von Außen/Angriffe ===== +Um Sabotage von innen oder einen terroristischen Angriff auf die Infrastruktur erfolgreich durchzuführen, muss der Angreifer direkten physischen Zugriff auf den INP erlangen. +Der INP befindet sich inerhalb eines abschließbaren Technikschranks. +Der Technikschrank befindet sich innerhalb eines abgeschlossenen Raumes. +Der Raum befindet sich innerhalb eines Stadthauses. +Um physichen Zugriff auf den INP zu erlangen, muss zunächst in den Raum eingedrungen werden. +Dies kann geschehen, indem die Tür aufgebrochen wird, oder der Angreifer Zugriff auf den Schlüssel erhällt. +Das Aufbrechen der Türe ist hinreichend erschwert, da das Stadthaus, in dem sich der Raum befindet ganzjährlich bewohnt ist, und sich somit schweres Gerät, wie es zum Aufbrechen der Türe notwendig wäre nicht unbemerkt antransportieren lässt. Auch die Geräuschentwickung erschwert ein unbemerktes Eindringen. +Das Erlangen eines Schlüssels wird verhindert indem alle Schlüssel bei Vorstandsmitgliedern verbleiben, und nur für konkrete Arbeiten an die Ausführenden vergeben werden. +Ein Angreifer, der in den Raum eingedrungen ist, muss weiter in den Technikschrank einbrechen. +Die Ausführungsmöglichkeiten und Gegenmaßnahmen sind die Gleichen wie zur Verhinderung eines Eindringens in den Raum. +Zusatzlich verfügt der Technikschrank über einen elektronischen Eindringlingsalarm, der über Vorfälle alarmiert. +// alarmanlage?? + +====== Endverbraucherseitiger Netzabschlusspunkt ====== + +===== Schutzziele ===== + +==== Schutz des Fernmeldegeheimnisses ==== +Der Schutz des Fernmeldegeheimnisses ist für den endverbraucherseitigen Netzabschlusspunkts (in folge ENP) relevant, da der Datenverkehr eines Endverbrauchers über diesen fließt. + +==== Schutz Personenbezogener Daten ==== +Der ENP verarbeitet keine personenbezogenen Daten, kein Schutzbedarf. + +==== Schutz gegen Störungen ==== +Da durch eine Störung lediglich die Nutzung durch einen einzigen Endverbraucher eingeschränkt wird, ist ein Schutz gegen Störungen notwendig, aber nicht kritisch. + +===== Sicherung gegen Sabotage von Innen ===== +Den gesamtsystemischen Analysen und Gegenmaßnahmen ist nichts hinzuzufügen. + +===== Sicherung gegen Sabotage von Außen ===== +Hier werden nur eindringende Szenarien betrachtet, die darauf abzielen das Fernmeldegeheimnis zu verletzen. Für Szenarien, in welchen lediglich Störungen das Ziel sind siehe "Sicherung gegen Angriffe". +Um das Fernmeldegeheimnis zu verletzen muss der Saboteur Zugriff auf den ENP erhalten. +Dieser ist grundsätztlich nicht speziell gesichert, steht allerdings nicht im öffentlichen Raum, sondern in den Räumlichkeiten des Endnutzers, wodurch ein Zugriff einen Einbruch vorraussetzen würde. +Um die Auswirkungen eines potentiellen Zugriffs zu minimieren, wird die Erreichbarkeit aller ENPs permanent Überwacht und Eindringlingserkennungssysteme eingesetzt. +Außerdem werden alles eingesetzten Transportwegsverschlüsselungsschlüssel zwischen den ENPs und dem Kernnetz regelmäßig ausgetauscht. + +===== Sicherung gegen Angriffe ===== +Um den ENP Funktionsunfähig zu machen sind viele Angriffsszenarien denkbar, vom einfachen Eindringen und gezielt Zerstören bis zu einem vollständigen Angriff, bei welchem Brandsätze und/oder Explosivstoffe zur Zerstörung des eingestzt Standpunkts werden. +Die Gegenmaßnahme ist nicht eine Verhinderung dieser Zerstörungen, sondern eine schnelle Wiederherstellung der Funktionalität, indem ein ständiger Vorrat an ENPs gehalten wird, aus dem zerstörte ENPs innerhalb eines Werktages ersetzt werden können. + +====== Kernnetz ====== + +===== Schutzziele ===== + +==== Schutz des Fernmeldegeheimnisses ==== +Der Schutz des Fernmeldegeheimnisses ist für das Kerrnnetz relevant, da alle Endnutzerdatenverbindungen durch dieses laufen. + +==== Schutz Personenbezogener Daten ==== +Das Kernnetz verarbeitet keine personenbezogenen Daten, kein Schutzbedarf + +==== Schutz gegen Störungen ==== +Da ein ein größerer Ausfall des Kernnetzes auch einen größeren Ausfall der über es zur Verfügung gestellten Dienstleistung nach sich ziehen würde, ist ein Schutz gegen Störungen relevant. + +===== Sicherung gegen Sabotage von Innen ===== +Den gesamtsystemischen Analysen und Gegenmaßnahmen ist nichts hinzuzufügen. + +===== Sicherung gegen Sabotage von Außen ===== +Hier werden nur eindringende Szenarien betrachtet, die darauf abzielen das Fernmeldegeheimnis zu verletzen. Für Szenarien, in welchen lediglich Störungen das Ziel sind siehe "Sicherung gegen Angriffe". +Um das Fernmeldegeheimnis zu verletzen muss der Saboteur Zugriff auf das Kernnetz haben. Dazu müsste er mehrere physische Abgrenzungen durchdringen, von außen nach innen in ein Haus eindringen, in eine der abgeschlossenen Räumlichkeiten in denen das Kernnetz untergebracht ist, eindringen, in eine der abgeschlossenen Technikschränke, die die Geräte beinhalten, eindringen. Da das Kernnetz sich in einem ganzjährlich bewohnten Stadthaus befindet ist ein Einbruch so gut wie unmöglich unbemerkt ausführbar. Selbst wenn ein Eindringen in das Haus an für sich gelingt, muss das schwere Gerät, welches notwendig ist, um die Türen und Schränke aufzubrechen unbemerkt Transportiert werden, und danach die Türen und Schränke ohne große Geräuschentwicklung aufgebrochen werden, was sehr unwahrscheinlich ist. +Alternativ wäre es auch möglich die Schlüssel und Elektronischen Zugangskarten für alle Ebenen zu erlangen und diese zu nutzen um gewaltfrei einzudringen. Dies wird verhindert, indem die Schlüssel nur bei Vorständen liegen, und nur für konkrete Arbeitsvorgänge an authorisiertes Personal ausgegeben werden. +Sollte ein Eindringen dennoch erfolgreich sein, müsste der Saboteur eine Wanze an ein Kabel anbringen, Entweder in der Mitte eines Kabels, wo sich das Eindringen in die Technikschränke und Räumlichkeiten Erübrigen würde und statt dessen ein Eindringen in Kabelschächte notwendig wäre, oder zwischen eine Büchse und ein Kabel. +Beide Eingriffe würden jedoch in der Netzwerküberwachung auffallen, was eine Untersuchung des Kernnetzes, und eine Entfernung der Wanze nach sich ziehen würde. +// Transportwegsverschlüsselung auch auf lan? + +===== Sicherung gegen Angriffe ===== +//bleh + +====== VDS-Einrichtung ====== + +===== Schutzziele ===== + +==== Schutz des Fernmeldegeheimnisses ==== +Es läuft kein Netzwerkverkehr durch die VDS-Einrichtung, kein Schutzbedarf. + +==== Schutz Personenbezogener Daten ==== +Die VDS-Einrichtung verarbeitet personenbezogene Daten, damit muss sie besonders vor unauthorisiertem Zugriff geschützt werden. + +==== Schutz gegen Störungen ==== +Auch wenn der Betrieb einer VDS-Einrichtung für den Netzbetrieb vollkommen unbedeutend ist, ist der Nichtbetrieb mit hohen Geldstrafen bewehrt, wir sind also gezwungen die VDS-Einrichtung gegen Störungen zu sichern. + +===== Sicherung gegen Sabotage von Innen ===== +Den gesamtsystemischen Analysen und Gegenmaßnahmen ist hinzuzufügen, dass die VDS-Einrichtung nur von zugangsberechtigten Personen bedient wird. +Dabei wird vorgeschriebene vier-Augen-Prinzip wird eingesetzt. +Des weiteren wird jeder Zugriff mit bewegungsaktivierten Überwachungskameras aufgezeichnet, so dass eine spätere Verfolgung eines Saboteurs erleichtert wird. +Unsere Sicherheitsprotokolle verbieten weiterhin die Mitnahme von elektronischen oder elektrischen Geräten in die VDS-Räume. + +===== Sicherung gegen Sabotage von Außen ===== +Die Überwachungsdaten liegen Vollverschlüsselt vor, außerdem ist das System in seiner Standardkonfiguration stromlos, und wird nur bei Einspielung neuer Daten oder dem Abruf der Überwachungsdaten durch staatliche Organe für die Dauer des Vorgangs aktiviert. +Dies macht Heiße und Kalte Angriffe quasi unmöglich. Der Raum wird schall- und funkisoliert, so dass unberechtigtes Abgreifen der Überwachungsdaten während eines authorisierten Vorganges erschwert wird. + +===== Sicherung gegen Angriffe ===== +Nach unserer Analyse ist die VDS-Einrichtung als Angriffsziel besonders gefährdet, da Personengruppen, insbesondere aus der linken Szene Leipzigs, welche vom Verfassungsschutz als gefährlichste Deutschlands eingestuft wird, Motivation haben könnten sich gewaltsam gegen die Vollüberwachung des ganzen Landes zur Wehr zu setzen. +Da die VDS-gesetze aus der gesamten Bevölkerung breiten Widerspruch erfahren haben, ist dies allerdings nicht das einzige plausible Angriffszenario. +Als Gegenmaßnahme werden besonders verstärkte Türen, in sowohl den Räumen, als auch den Technikschränken und ein stilles bewegungsaktiviertes Alarmsystem eingesetzt. +Des weiteren werden die Daten 3-fach redundant gespeichert, und es wird ein komplettes VDS-System auf Vorrat gehalten, um eventuelle Zerstörungen ohne Verzögerung durch Lieferzeiten ersetzen zu können. + + + + + diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.odt b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.odt new file mode 100644 index 0000000..f9f6e1c Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.odt differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.pdf b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.pdf new file mode 100644 index 0000000..54612d3 Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitsbeauftragte.pdf differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept-1.1.pdf b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept-1.1.pdf new file mode 100644 index 0000000..bfefa0e Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept-1.1.pdf differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.odt b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.odt new file mode 100644 index 0000000..f34df8b Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.odt differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.pdf b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.pdf new file mode 100644 index 0000000..ccfaf00 Binary files /dev/null and b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept.pdf differ diff --git a/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept_14.10.16 b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept_14.10.16 new file mode 100644 index 0000000..cecfe26 --- /dev/null +++ b/menschenzeugs/bnetza/sicherheitskonzept/sicherheitskonzept_14.10.16 @@ -0,0 +1,283 @@ +Einleitung + +Das folgende Sicherheitskonzept unterteilt sich in generelle Sicherheitsrichtlinien die als grundlegendes Konzept in verschiedenen Szenarien angewendet werden. Dem folgt eine kurze Beschreibung der Systemstruktur sowie Definitionen der einzelnen Systemkomponenten. +Anschließend wird die Systemsicherheit in Bezug auf die zu erfüllenden Schutzziele ausgewertet. Dabei findet eine Bewertung des Schutzbedarfs der einzelnen Komponenten, in Verbindung mit den konkreten Gegenmaßnahmen statt. + +Beschreibung der Systemstruktur + +Definition der Systemkomponenten +Internetseitiger Netzabschlusspunk (im Folgenden INP) +Endkundenseitger Netzabschlusspunkt (im Folgenden ENP) +Kernnetz +Mindestspeicherfristerfüllungseinrichtung (im Folgenden MSFEE) + + +Sicherheitsrichtlinien + +1. Datensparsamkeit +-> es ist immer nur die kleinstmögliche menge an Daten erhoben, mit denen der jeweilige Zweck erfüllbar ist +2. Systemtrennung +-> Seperat lösbare Probleme sind mithilfe von möglichst unabhängigen systemen zu lösen, so dass eine eventuelle Beeinträchtigung eines Systems kein anderes in Mitleidenschaft zieht. +3. Kleinhalten der Angriffsoberfläche +-> Zur lösung von Problemen und zur bereitstellung von Funktionalität ist immer das einfachste Werkzeug, welches diese Aufgabe erfüllt einzusetzen. +4. Beschränkung der Menschlichen Fehlerquelle +-> Zugrif auf systeme ist immer nur dem kleinstmöglichen Personenkreis, welcher in der lage ist das system funktionsfähig zu halten, zu gewähren +5. Verschlüsselung +-> Wo immer möglich ist Verschlüsselung einzusetzen, sowohl auf Transportwegen, als auch bei der Datenhaltung, um Angriffe zu erschweren. Sollten sich durch neue Technische entwicklungen, oder Mathematische Erkentnisse die eingesetzten Algorithmen als überholt herrausstellen sind diese Zeitnah durch Modernere Alternativen zu ersetzen +6. Ersetzbarkeit +-> Systeme sind so anzulegen, dass deren Einrichtung Einfach ist und schnell umgesetzt werden kann, so dass diese bei Ausfällen schnell ersetzt werden können. +7. Redundanz +-> Zentrale Systeme sind in mehreren Instanzen zu installieren, so dass bei Ausfall des Primärsystems das Sekundäre dessen Funktion übernehmen kann. + +Evaluierung der Systemsicherheit + +Die Evaluirung der Systemsicherheit wird anhand der Schutzziele gegliedert. Zu Beginn werden die nicht betroffenen Einheiten genannt. Danach folgt eine detaillierte Beschreibung der Sicherheitsrisiken und -vorkehrungen der betroffenen Einheiten. + += Schutz des Fernmeldegeheimnisses +Über die Netzwerküberwachung und die Mindestspeicherfristerfüllungseinrichtung (MSFEE) laufen keine Internetverbindungen, eine Verletzung des Fernmeldegeheimnisses ist also hier nicht möglich + +== INP +=== Sabotage von Außen +Um Sabotage von außen auf die Infrastruktur erfolgreich durchzuführen, muss der Angreifer direkten physischen Zugriff auf den INP erlangen. +==== Gegenmaßnahmen +Der INP befindet sich inerhalb eines abschließbaren Technikschranks. +Der Technikschrank befindet sich innerhalb eines abgeschlossenen Raumes. +Der Raum befindet sich innerhalb eines Stadthauses. +Um physichen Zugriff auf den INP zu erlangen, muss zunächst in den Raum eingedrungen werden. +Dies kann geschehen, indem die Tür aufgebrochen wird, oder der Angreifer Zugriff auf den Schlüssel erhällt. +Das Aufbrechen der Türe ist hinreichend erschwert, da das Stadthaus, in dem sich der Raum befindet ganzjährlich bewohnt ist, und sich somit schweres Gerät, wie es zum Aufbrechen der Türe notwendig wäre nicht unbemerkt antransportieren lässt. Auch die Geräuschentwickung erschwert ein unbemerktes Eindringen. +Das Erlangen eines Schlüssels wird verhindert indem alle Schlüssel bei Vorstandsmitgliedern verbleiben, und nur für konkrete Arbeiten an die Ausführenden vergeben werden. +Ein Angreifer, der in den Raum eingedrungen ist, muss weiter in den Technikschrank einbrechen. +Die Ausführungsmöglichkeiten und Gegenmaßnahmen sind die Gleichen wie zur Verhinderung eines Eindringens in den Raum. +Zusatzlich verfügt der Technikschrank über einen elektronischen Eindringlingsalarm, der über Vorfälle alarmiert. +==== Installation einer Wanze +Sollte ein Angreifer Erfolgreich eindringen, könnte dieser eine Wanze auf dem Internetseitigen Kabel Installieren um den Datenstrom mitzulesen +===== Gegenmaßnahmen +Keine besonderen Gegenmaßnahmen +==== Offensichtliche Manipulation des INP +Der Angreifer könnte auch den INP selbst, beispielsweise durch Instalation eines alternativen Betriebssystems manipulieren, und den Datenstrom, oder Teile dessen mitlesen. +===== Gegenmaßnahmen +Sicherheitsrichtlinie: 5 +Das Betriebssystem des INP ist Verschlüsselt, eine gezielte Manipulation des Betriebsystem in abgeschalteten Zustand also unmöglich. In angeschalteten Zustand ist sie durch restriktive Benutzerrechte und starke Passwörter unterbunden. +==== Subtile Manipulation des INP +Der Angreifer könnte statt das gesammte Betriebssystem zu ersetzen, den Teil ersetzen, welcher beim Start das Entschlüsselungspasswort entgegennimmt, und zwar in einer Weise, dass dieses das Entschlüsselungspasswort unverschlüsselt speichert oder ein alternatives Betriebssystem läd. +===== Gegenmaßnahmen +Aufgrund der großen physischen Hürden ist eine unbemerkt durchgeführte Manipulation für sehr schwierig und diese Restrisiko in Kauf zu nehmen. +Eine Mögliche Gegenmaßnahme wäre allerdings, das abtrennen des Bootloader vom Restsystem, um ihn sicher zu verwahren. Das Problemder SIcheren Verwahrung ist damit aber nicht gelöst. + +=== Angriffe ohne physischen Zugang zu den Komponenten +Erlangt ein Angreifer Kontrolle über einen INP so kann er den gesamten unverschlüsselten Internetverkehr aller Nutzenden mitlesen und manipulieren. Erhöhter Schutzbedarf. +=== Angriffszenarien +==== Ein Angreifer nutzt eine Sicherheitslücke in der auf dem INP installierten Software aus. +Sicherheitsrichtlinien: 2, 3 +Auf dem INP läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf den INP gesteuert und reglementiert. Desweiteren werden einzelne Anwendungen, soweit dies möglich ist, in unabhängige Virtuelle Server ausgelagert um manipulierter Software keinen Zugriff auf weitere Anwendungen zu geben. +==== Einem Angreifer gelingt es, den Zugangsschlüssel zum INP durch manipulative Kommunikation mit zugangsberechtigten Menschen zu erhalten +Sicherheitsrichtlinien: 4 +Nur einer kleinen Personengruppe sind die Zugangsschlüssel bekannt. +Zusätzlich wird über die Gefahren von Angriffen solcher Art aufgeklärt. +==== Ein Angreifer erlangt den Zugangsschlüssel durch das Eindringen in ein Gerät, auf dem der Schlüssel hinterlegt ist. +Sicherheitsrichtlinie: 2,3,4,5 +Die Zugangskennung wird nicht auf weiteren Systemkomponenten verwendent. Hauptrisiko stellt hier der Umgang der Personen mit dem Zugangsschlüssel, dieses lässt sich durch Informieren der Personen reduzieren. +==== Ein Angreifer greift den Netzwerkverkehr an der internetseitigen Anschlussschnittstelle des INP ab. +Fällt in den Zuständigskeitsbereicht, des mit uns verbundenen Internetserviceproviders. +==== Ein Angreifer greift den Netzwerkverkehr an der kernnetzseitigen Anschlussschnittstelle des INP ab. +Fällt unter "Schutz des Kernnetzes". + +== Kernnetz +Der Schutz des Fernmeldegeheimnisses ist für das Kernnetz relevant, da alle Endnutzerdatenverbindungen durch dieses laufen. Erhöhter Schutzbedarf. +=== Sicherung gegen Sabotage von Außen +Um das Fernmeldegeheimnis zu verletzen muss der Saboteur physischen Zugriff auf das Kernnetz haben um eine Wanze anzubringen, welche dann Datenströme (eventuell selektiv) ausleitet +==== Gegenmaßnamen +Sicherheitsrichtlinie: 4 +Das Kernnetz befindet sich hinter mehreren physischen Schutzschichten; von außen nach innen: Ein Stadthaus, abgeschlossene Räumlichkeiten, abgeschlossene Technikschränke oder Ein Stadthaus, gemauerte Kabelschächte. +Ein unbemerkter Einbruch in das Stadthaus wird erschwert, da es ganzjährig bewohnt ist. Ebenso für Räume, Schränke und Mauerwerk. +Die Alternativmöglichkeit ist die Beschaffung sämtlicher elektronischer Zugangskarten und Schlüssel um gewaltfrei einzudringen. +Dies wird erschwert, indem die Schlüssel nur bei Vorständen liegen, und nur für konkrete Arbeitsvorgänge an authorisiertes Personal ausgegeben werden. +Der Saboteur müsste eine Wanze an ein Kabel anbringen, Entweder in der Mitte eines Kabels, wo statt eines Eindringens in die Technikschränke und Räumlichkeiten ein Eindringen in Kabelschächte notwendig wäre, oder zwischen eine Büchse und ein Kabel. +Beide Eingriffe würden jedoch in der Netzwerküberwachung aufgrund der kurzzeitigen Verbindungsunterbrechung auffallen, was eine Untersuchung des Kernnetzes, und eine Entfernung der Wanze nach sich ziehen würde. +Für eine weitere Erhöhung der Sicherheit wurde eine Transportwegverschlüsselung im gesamten Kernnetz evaluiert, aufgrund der geringen Wahrscheinlichkeit eines erfolgreichen angriffs und dem hohen technischen Aufwand jedoch verworfen. + +=== Angriffe ohne physischen Zugang zu den Komponenten +==== Ein Angreifer nutzt eine Sicherheitslücke einer der im Kernetz verwendenten Komponenten aus. +Sicherheitsrichtlinien: 2, 3 +Auf den Geräten des Kernnetzes, speziell den Hauptroutern, läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf das Kernnetz und die darin enthaltenen Geräte gesteuert und reglementiert. +==== Ein Angreifer greift den Netzwerkverkehr einem Knoten des Kernnetzes ab. +Entweder muss er dazu über eine ausnutzbare Sicherheitslücke einer Komponente oder einem physikalischen Zugang zu einem Teil des Kernnetzes verfügen. +Siehe Sabotage. + +== ENP +=== Sabotage von Außen +Um das Fernmeldegeheimnis zu verletzen muss der Saboteur direkten Physischen Zugriff auf den ENP erhalten. Da diese aufgrund von technischen Beschränkungen nicht verschlüsselt sind, könnte er das installierte Betriebssystem manipulieren und/oder Transportwegsverschlüsselungsschlüssel austauschen. +==== Gegenmaßname +Jeder ENP steht in den Räumlichkeiten des entsprechenden Endnutzers, also ins Besondere nicht im öffentlichen Raum. Die konkreten Sicherungen liegen somit auch im Einflussbereich des Nutzers. +Um die Auswirkungen eines potentiellen Zugriffs zu minimieren, wird die Erreichbarkeit aller ENPs permanent Überwacht und Eindringlingserkennungssysteme eingesetzt. +Außerdem werden alle eingesetzten symmetrischen, und damit auch auf den ENP gespeicherten, Transportwegsverschlüsselungsschlüssel zwischen den ENPs und dem Kernnetz regelmäßig ausgetauscht. +=== Angriffe ohne physischen Zugang zu den Komponenten +Erlangt ein Angreifer Kontrolle über einen ENP so kann er den gesamten unverschlüsselten Internetverkehr eines Nutzenden mitlesen und manipulieren. Schutzbedarf. +==== Ein Angreifer nutzt eine Sicherheitslücke in der auf dem ENP installierten Software aus. +Sicherheitsrichtlinien: 2, 3 +Auf den ENP werden stets die aktuellen Sicherheitsaktualisierungen des Herstellers eingespielt. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf den ENP gesteuert und reglementiert. Dadurch wird ein Ausnutzen von Sicherheitslücken weiter erschwert. +==== Einem Angreifer gelingt es, den Zugangsschlüssel zum ENP zu erhalten durch manipulative Kommunikation mit zugangsberechtigten Menschen zu erhalten. +Sicherheitsrichtlinien: 4 +Nur einer kleinen Personengruppe sind die Zugangsschlüssel bekannt. +Zusätzlich wird über die Gefahren von Angriffen solcher Art aufgeklärt. +==== Ein Angreifer erlangt den Zugangsschlüssel durch das Eindringen in ein Gerät, auf dem der Schlüssel hinterlegt ist. +Sicherheitsrichtlinie: 2, 3, 4, 5 +Die Zugangskennung wird nicht auf weiteren Systemkomponenten verwendent. Hauptrisiko stellt hier der Umgang der Personen mit dem Zugangsschlüssel, dieses lässt sich durch Informieren der Personen reduzieren. +==== Ein Angreifer greift den Netzwerkverkehr an der kernnetzseitigen Anschlussschnittstelle des INP ab. +Fällt unter "Schutz des Kernnetzes". + += Schutz Personenbezogener Daten +Der INP, das Kernnetz, die ENP und die Netzwerküberwachung verarbeiten keine Personenbezogenen Daten. +== MSFEE +Die MSFEE verarbeitet personenbezogene Daten, damit muss sie besonders vor unauthorisiertem Zugriff geschützt werden. +=== Sicherung gegen Sabotage von Innen +Ein Saboteur könnte versuchen zur zugangsberechtigten Person erklärt zu werden, und so Daten zu extrahieren. +==== Gegenmaßnamen +Sicherheitsrichtlinie: 4, 5 +Das vorgeschriebene vier-Augen-Prinzip wird eingesetzt, somit könnte ein unberechtigter Zugriff durch einen einzelnen Saboteur von der weiteren zugangsberechtigten Person verhindert werden. +Des weiteren wird jeder Zugriff mit bewegungsaktivierten Überwachungskameras aufgezeichnet, so dass eine spätere Verfolgung eines Saboteurs erleichtert wird. +Unsere Sicherheitsprotokolle verbieten weiterhin die Mitnahme von elektronischen oder elektrischen Geräten in die VDS-Räume, so dass die extraktion der Daten stark erschwert wird. +=== Sicherung gegen Sabotage von Außen +Ein Saboteur könnte auch als unberechtigter versuchen in die MSFEE einzudringen. +==== Gegenmaßnamen +Sicherheitsrichtlinie: 5 +Die Überwachungsdaten liegen Vollverschlüsselt vor, außerdem ist das System in seiner Standardkonfiguration stromlos, und wird nur bei Einspielung neuer Daten oder dem Abruf der Überwachungsdaten durch staatliche Organe für die Dauer des Vorgangs aktiviert. +Heiße und Kalte Angriffe werden dadurch stark erschwert. Der Raum wird schall- und funkisoliert, so dass unberechtigtes Abgreifen der Überwachungsdaten während eines authorisierten Vorganges erschwert wird. + +=== Angriffe ohne physischen Zugang zu den Komponenten +Zwischen der MSFEE und dem Kernnetz oder dem Internet existiert eine Luftlücke. Angriffe ohne physischen Zugang sind somit ausgeschlossen. + += Schutz gegen Störungen +== INP +Bei Störung des INP ist die Netzwerkanbindung aller Nutzenden beeinträchtigt. Dies ist ein kritisches Szenario, das besonderer Schutzmaßnahmen bedarf. +=== Angriffe ohne physischen Zugang zu den Komponenten +==== Um den INP zu dauerhaft zu stören, abzuschalten oder fremdgestuert zu verwenden, muss ein Angreifer Zugang zu den Funktionen des Gerätes erhalten. Hier gilt dasselbe wie für Angriffe auf Fernmeldedaten. +==== Aus dem Internet kann der INP Ziel von Angriffen durch extrem zahlreiche Anfragen (AdezA) werden. Gegen diese können wir uns nur bedingt schützen. Durch redundante Anbindungen um große Bandbreite lässt der Aufwand für eine derartige Störung stark erhöhen. Gleichzeitig ist das Risiko, eines solchen Angriffs eher gering und hinterlässt über die Dauer des Angriffes hinaus keine nachhaltigen Schäden. Die Einschränkung der Verbindungsqualität wärend eines sochen Angriffsjedoch auf ein Minimum zu reduzieren, lassen sich, auch in Abspreche mit weiteren Dienstleistern, Verbindungen von bestimmten Adressbereichen unterbinden. + +== Kernnetz +Da ein ein größerer Ausfall des Kernnetzes auch einen größeren Ausfall, der über es zur Verfügung gestellten Dienstleistung nach sich ziehen würde, ist ein Schutz gegen Störungen relevant. +=== Physische/Terroristische Angriffe +TODO +=== ohne physischen Zugang zu den Komponenten +==== Um das Kernnetz dauerhaft zu stören, abzuschalten oder fremdgestuert zu verwenden, muss ein Angreifer Zugang zu den Funktionen eines Gerätes des Kernnetzes erhalten. Es gilt dasselbe wie für Angriffe auf Fernmeldedaten. +==== Um eine verübergehende Störung des Kernnetzes zu erreichen wäre ein Angriff durch extrem zahlreiche Anfragen denkbar, bei dem die Geräte durch zuviele Anfragen überlastet werden und vorübergehend nicht reagieren. +Als Gegenmaßnahme verhindert das netzwerktrennende Sicherheitselement Verbindungen zu Komponenten des Kernnetz aus dem Internet und dem kundenseitigen Netz. + +== ENP +Bei Störung des ENP ist die Netzwerkanbindung eines einzelnen Nutzenden beeinträchtigt. Dies ist zu vermeiden, bedeutet aber nur geringen Schutzbedarf. +=== Sicherung gegen physische/terroristische Angriffe +Um den ENP Funktionsunfähig zu machen sind viele Angriffsszenarien denkbar, vom einfachen Eindringen und gezielt Zerstören bis zu einem vollständigen Angriff, bei welchem Brandsätze und/oder Explosivstoffe zur Zerstörung des Standpunkts eingesetzt werden. +==== Gegenmaßnahme +Sicherheitsrichtlinie 6 +Es wird nicht versucht die Zerstörung zu verhindern, sondern eine schnelle Wiederherstellung der Funktionalität, indem ein ständiger Vorrat an Ersatz-ENPs gehalten wird, aus dem zerstörte ENPs innerhalb eines Werktages ersetzt werden können. +=== Angriffe ohne physischen Zugang zu den Komponenten +==== Um den ENP zu dauerhaft zu stören, abzuschalten oder fremdgestuert zu verwenden, muss ein Angreifer Zugang zu den Funktionen des Gerätes erhalten. Es gilt dasselbe wie für Angriffe auf Fernmeldedaten. +==== Um eine verübergehende Störung des ENP zu erreichen wäre ein Angriff durch extrem zahlreiche Anfragen denkbar, bei dem das Gerät durch zuviele Anfragen überlastet wird und vorübergehnd nicht reagiert. +Als Gegenmaßnahme verhindert das netzwerktrennende Sicherheitselement Verbindungen zum ENP aus dem Internet und dem kundenseitigen Netz. +== Netzwerküberwachung +=== Angriffe ohne physischen Zugang zu den Komponenten + +== MSFEE +Auch wenn der Betrieb einer MSFEE für den Netzbetrieb vollkommen unbedeutend ist, ist der Nichtbetrieb mit hohen Geldstrafen bewehrt, wir sind also gezwungen die MSFEE gegen Störungen zu sichern. +=== Sicherung gegen physische/terroristische Angriffe +Ein Angreifer könnte versuchen durch physische gewalt, Brand- oder Sprengsätze die MSFEE zu beschädigen oder zu zerstören. +Insbesondere die linke Szene Leipzigs, welche vom Verfassungsschutz als gefährlichste Deutschlands eingestuft wird, könnte Motivation haben sich gegen diese Vollüberwachung gewaltsam zur Wehr zu setzen. +Da die Vorratsdatenspeicherungs und Mindestspeicherfristgesetze allerdings auch breiten wiederspruch aus der gesamten Bevölkerung erfahren, ist dies wahrscheinlich nicht die einzige Gruppierung, welche eine Angriffsmotivation haben könnte. +Wir halten aus den genannten Gründen dieses Angriffsszenario für wahrscheinlich. +==== Gegenmaßnahmen +Sicherheitsrichtlinien: 6, 7 +Als Gegenmaßnahme werden besonders verstärkte Türen, in sowohl den Räumen, als auch den Technikschränken und ein stilles bewegungsaktiviertes Alarmsystem eingesetzt. +Des weiteren werden die Daten 3-fach redundant gespeichert, und es werden die Technischen Geräte für eine vollständige MSFEE auf Vorrat gehalten, um zerstörte Komponenten ohne Verzögerung durch Lieferzeiten ersetzen zu können. + + +=== Angriffe ohne physischen Zugang zu den Komponenten +Zwischen der MSFEE und dem Kernnetz oder dem Internet existiert eine Luftlücke. Störungen ohne physischen Zugang sind somit ausgeschlossen. + += Gesamtsystemische Analyse +== Sabotage von Innen +Für eine Sabotage von Innen muss ein Saboteur in die Organisation eingeführt werden. +Dieser könnte zwei Ziele verfolgen, direkte Sabotage der operativen Systeme, oder Lähmung der Organisation. +Reudnetz w.V. ist in seiner Organisationsstruktur als Verein mit offenen Anmeldungen gegenüber der Einführung von Saboteuren besonders gefährdet. +Zur direkten Sabotage muss der Saboteur Zugang zu Zugangsdaten zu den Operativen Systemen erlangen. +Dies wird verhindert, indem diese Zugangsdaten nur einer sehr begrenzten Personengruppe zugänglich gemacht werden, diese nur erweitert wird, wenn es aufgrund des Arbeitsaufwandes unabdingbar notwendig ist und alle Zugangsdaten ausgetauscht werden, sobald eine der berechtigten Personen ausgetauscht wird. +Im April 2016 beträgt die Größe der berechtigten Personengruppe Zwei, in Zahlen 2 Personen. +Zur indirekten Sabotage durch lähmung der Organisation ist es für den Saboteur ausreichend an Organisationstreffen und Mitgliederversammlungen teilzunehmen, wozu er bereits durch eine simple Mitgliedschaft berechtigt ist. +Die Gegenmasnahme setzt an der Tatsache an, dass das Verhalten des Saboteurs sich zumindest subtil von dem eines konstruktiven Mitglieds unterscheiden muss. Sollte irgend einem Teilnehmer während einer Mitgleiderversammlung oder eines Organisationstreffens ein solches Verhalten auffallen, wird dieses einem Vorstandsmitglied gemeldet, welches dann Ermittlungen einleitet. Dieses Verfahren ist in der Geschäftsordnung geregelt. +Die Mitglieder werden basierend auf Geheimdienstdokumenten über sabotierende Verhaltensmuster aufgeklärt. +== Angriffe ohne physischen Zugang zu den Komponenten + +Abschlussbemerkung +Wir sind überzeugt, durch diese Maßnahmen das verbleibenden Restrisiko auf ein akzeptables Maß zu reduzieren. Besonders hohe Anforderungen stellt wir an ein ausgeprägtes Fehlerbewusstsein aller bei uns tätigen Technikerinnen. da gerade Fehleinschätzugen und Fahrlässigkeit eines der am schwierigsten zu bewertenden Sicherheitrisiken darstellen. Durch Aufklärung bezüglich der Auftretenden Risiken und Probleme h +====================================================================== +Drunter: Draft, Drüber: Done +====================================================================== +Gliederung: +schutzziel -> objekt -> angriffszenario + + +Schutzobjekte + + +Internetseitiger Netzabschlusspunkt +===== Schutzziele ===== +==== Schutz des Fernmeldegeheimnisses ==== +Erlangt ein Angreifer Kontrolle über einen INP so kann er den gesamten unverschlüsselten Internetverkehr aller Nutzenden mitlesen und manipulieren. Schutzbedarf. +==== Schutz Personenbezogener Daten ==== +Der INP verarbeitet keine personenbezogenen Daten. +==== Schutz gegen Störungen ==== +Bei Störung des INP ist die Netzwerkanbindung aller Nutzenden beeinträchtigt. Dies ist ein kritisches Szenario, das besonderer Schutzmaßnahmen bedarf. +==== Schutz gegen Nutzung als Angriffsvektor ==== +Erlangt ein Angreifer Kontrolle über den INP so kann er diesen verwenden, um auf andere Komponenten des Kernetzes störend oder manipulativ einzuwirken. Genauso kann er den INP als Angriffswerkzeug für weitere Ziele im Internet verwenden. Schutzbedarf. + +===== Sicherung gegen Störung +Aus dem Internet kann der INP Ziel von Angriffen durch extrem zahlreiche Anfragen (AdezA (nicht DDOS?)) werden. Gegen diese können wir uns nur bedingt schützen. Durch redundante Anbindungen um große Bandbreite lässt der Aufwand für eine derartige Störung stark erhöhen. Gleichzeitig ist das Risiko, eines solchen Angriffs eher gering und hinterlässt über die Dauer des Angriffes hinaus keine nachhaltigen Schäden. Die Einschränkung der Verbindungsqualität wärend eines sochen Angriffs ist jedoch mit [] auf ein Minimum zu reduzieren. +===== Sicherung gegen Fremdkontrolle +Auf dem INP, läuft eine auf die Anwendung zugeschnittene Softwareauswahl, die über Signaturen eindeutig für Sicherheitsaudits verfügbarem Quellcode zugeordnet werden kann. Durch einen großen Umfang an Software ist auch die Anzahl an möglichen Fehlerquellen und Angriffvektoren groß. Eine Gegenmaßnahme stellt die Beschränkung auf notwendige Programme dar, die stets mit aktuellen Sicherheitsaktualisierungen versorgt werden. Durch ein Netzwerkstrennendes Datensicherheitselement werden mögliche Zugriffe auf das Kernnetz und die darin enthaltenen Geräte gesteuert und reglementiert. Desweiteren werden einzelne Anwendungen, soweit dies möglich ist, in unabhängige Virtuelle Server ausgelagert um manipulierter Software keinen Zugriff auf weitere Anwendungen zu geben. +Endkundenrouter + + +Kernnetz + + +VDS-Einrichtung + + +Hacker: +* Störungen des Netzwerkes +* Aneignung schützenswerter Daten + personenbezogen + Fernmeldegeheimnis +* Missbräuchliche Nutzung der Netzinfrastruktur zum Angriff weiterer Ziele (Vektor) +* Manipulation des Datenverkehrs + +Naturkatastrophen: +Die Bedrohungen der Systemsicherheit durch Naturkatastrophen setzen sich ausschließlich mit den am Betriebsort des Netzwerkes realistisch auftretenden Szenarien auseinander. +* Starkregenereignisse +Alle +Alle Komponenten sind mindesten 1m über dem Boden montiert. In Räumen auf Bodenniveau sind Pumpen vorhanden, um eindringendes Wasser schnellstmöglich zu entfernen. + +* gefrierender Schneeregen +Kernnetz +* Blitzschlag +Vorallem ENP, Kernnetz +* Stromausfall +Alle +* Temperaturextrema +ENP, Kernnetz + + +Baumaßnahmen: +* Störung durch Baumaßnahmen +###Bearbsichtigte Veränderungen am Netz durch Baumaßnahmen. +Änderungen am Netz können zu Störung einzelner Teile oder des geamten Netzes führen. +Um dem entgegenzuwirken sind alle kritischen Systemkomponenten redundant ausgeführt und werden nacheinander umgebaut. Dadurch lassen sich Ausfallzeiten reduzieren oder vermeiden. +### Unbeasichtigte Störungen durch Baumaßnahmen dritter +Da Teile unserer Infrastruktur an Orten verbaut sind, an denen auch andere Aktuere tätig werden, sind Ausfälle durch Fehler während Baumaßnahmen dieser Akteure potentielle Sicherheitsrisiken. +Alle unser Infrastuktur ist deutlich gekennzeichnet und physisch möglichst stark von anderen Strukturen separeriert. Sollte es trotzdem zu Ausfällen kommen, werden diese durch die Netzwerküberwachung erkannt und durch die redundante Ausführung der Netzwerkkomponenten kompensiert. Ein Vorrat an Geräten der Netzwerkinfrastruktur macht ein schnelles Ersetzen möglich. + +Gesamtsystematische Betrachtungen + + Referenzen +Abschlussbemerkung + diff --git a/menschenzeugs/corporate design^^/Briefkopf/Brief.pdf b/menschenzeugs/corporate design^^/Briefkopf/Brief.pdf new file mode 100644 index 0000000..7943d67 Binary files /dev/null and b/menschenzeugs/corporate design^^/Briefkopf/Brief.pdf differ diff --git a/menschenzeugs/corporate design^^/Briefkopf/Brief.tex b/menschenzeugs/corporate design^^/Briefkopf/Brief.tex new file mode 100644 index 0000000..f47e18d --- /dev/null +++ b/menschenzeugs/corporate design^^/Briefkopf/Brief.tex @@ -0,0 +1,22 @@ +\documentclass[a4paper,reudnetzbrief,backaddress=on,foldmarks=true]{scrlttr2} + +\begin{document} + +\setkomavar{subject}{Beispielbrief} + +\begin{letter}{Name Hier \\ Dann Adresse \\ vielleicht auch nochmal \\ 00000 Ort } + +\opening{Sehr geehrte(r) Name Hier} + +Hier könnte ein Brief stehen. Oder irgendwas von der Webseite geklautes: + +Was für einen Anschluss bekommt Ihr? + +Unser Angebot funktioniert anders als das herkömmlicher Internetprovider: + +Wir haben keine übertriebenen bis-zu Angebote, stattdessen erhält jeder Teilnehmer eine relativ geringe, dafür garantierte Mindestbandbreite. Diese beträgt 1,3 Mbit/s, was komfortabel mehr als einem Video-Stream in normaler Qualität (480p) entspricht. Der Clue ist, dass ungenutzte Bandbreite Anderen zur Verfügung gestellt wird. Da nicht alle permanent datenintensive Dienste wie Videos und Updates nutzen, ist es häufig möglich, mit der vollen Bandbreite der Richtfunkstrecke zu arbeiten, welche im Moment bei ca. 70 Mbit/s liegt und in Zukunft durch Einsatz innovativer Hardware steigen wird. Alle Anschlüsse sind symmetrisch. Das bedeutet, dass ihr genauso schnell Dinge hoch- wie herunterladen könnt. Dies vereinfacht wesentlich das Anbieten eigener Inhalte! + +\closing{Mit freundlichen Grüßen,} + +\end{letter} +\end{document} \ No newline at end of file diff --git a/menschenzeugs/corporate design^^/Briefkopf/crimson.sty b/menschenzeugs/corporate design^^/Briefkopf/crimson.sty new file mode 100644 index 0000000..74a2701 --- /dev/null +++ b/menschenzeugs/corporate design^^/Briefkopf/crimson.sty @@ -0,0 +1,89 @@ +\ProvidesPackage{crimson}[% + 2016/02/06 (Bob Tennent) Supports crimson fonts for all LaTeX engines. ] + +\RequirePackage{ifxetex,ifluatex,textcomp} + +\newif\ifcrimson@otf +\ifxetex + \crimson@otftrue +\else\ifluatex + \crimson@otftrue +\else % [pdf]LaTeX + \crimson@otffalse +\fi\fi + +\newcommand*{\crimson@scale}{1} +\RequirePackage{xkeyval} +\DeclareOptionX{scaled}{\renewcommand*{\crimson@scale}{#1}} +\DeclareOptionX{scale}{\renewcommand*{\crimson@scale}{#1}} + +\newif\ifcrimson@semibold \crimson@semiboldfalse + +\DeclareOptionX{type1}{\crimson@otffalse} +\DeclareOptionX{semibold}{\crimson@semiboldtrue} +\DeclareOptionX{sb}{\crimson@semiboldtrue} +\DeclareOptionX{bold}{\crimson@semiboldfalse} + +\ProcessOptionsX\relax + +\ifcrimson@otf + \RequirePackage{fontspec} +\else + \RequirePackage{fontenc,fontaxes,mweights} +\fi + +\ifcrimson@otf + \def\crimson@boldstyle{Bold} + \ifcrimson@semibold\def\crimson@boldstyle{Semibold}\fi + +\else % type1 + + \def\bfseries@rm{b} + \ifcrimson@semibold\def\bfseries@rm{sb}\fi + + \def\mdseries@rm{m} +\fi + + +\ifcrimson@otf + \ifxetex\XeTeXtracingfonts=1\fi + \defaultfontfeatures{ + Ligatures = TeX , + Scale = \crimson@scale, + Extension = .otf , + } + \setmainfont + [ UprightFont = *-Roman , + ItalicFont = *-Italic , + BoldFont = *-\crimson@boldstyle , + BoldItalicFont = *-\crimson@boldstyle Italic ] + {Crimson} + \newfontfamily\crimson + [ UprightFont = *-Roman , + ItalicFont = *-Italic , + BoldFont = *-\crimson@boldstyle , + BoldItalicFont = *-\crimson@boldstyle Italic ] + {Crimson} + \newfontfamily\crimsonsemibold + [ UprightFont = *-Semibold , + ItalicFont = *-SemiboldItalic , + BoldFont = *-Semibold , + BoldItalicFont = *-SemiboldItalic ] + {Crimson} + +\else % type1 + + \def\crimson@family{Crimson-TLF} + \renewcommand*\rmdefault{\crimson@family} + \newcommand*\crimson{\fontfamily{\crimson@family}\selectfont} + \def\crimsonsemibold{\fontfamily{\crimson@family}\fontseries{sb}\selectfont} + +\fi + +% turn off defaults in case other fonts are selected: +\ifcrimson@otf + \defaultfontfeatures{} +\fi + +\endinput + diff --git a/menschenzeugs/corporate design^^/Briefkopf/logo.png b/menschenzeugs/corporate design^^/Briefkopf/logo.png new file mode 100644 index 0000000..d2cc086 Binary files /dev/null and b/menschenzeugs/corporate design^^/Briefkopf/logo.png differ diff --git a/menschenzeugs/corporate design^^/Briefkopf/mweights.sty b/menschenzeugs/corporate design^^/Briefkopf/mweights.sty new file mode 100644 index 0000000..ea40621 --- /dev/null +++ b/menschenzeugs/corporate design^^/Briefkopf/mweights.sty @@ -0,0 +1,90 @@ +\ProvidesPackage{mweights} + [2016/08/15 (Bob Tennent) Support package for multiple-weight font packages. ] + +\AtBeginDocument{% + % Define any undefined \mdseries@rm etc. + % Defined \mdseries@rm etc. assumed to be fully expanded! + \ifdefined\mdseries@rm\else\edef\mdseries@rm{\mddefault}\fi + \ifdefined\bfseries@rm\else\edef\bfseries@rm{\bfdefault}\fi + \ifdefined\mdseries@sf\else\edef\mdseries@sf{\mddefault}\fi + \ifdefined\bfseries@sf\else\edef\bfseries@sf{\bfdefault}\fi + \ifdefined\mdseries@tt\else\edef\mdseries@tt{\mddefault}\fi + \ifdefined\bfseries@tt\else\edef\bfseries@tt{\bfdefault}\fi + + % In case any unexpanded macros present in \rmdefault, etc + \edef\rmdef@ult{\rmdefault} + \edef\sfdef@ult{\sfdefault} + \edef\ttdef@ult{\ttdefault} + \edef\bfdef@ult{\bfdefault} + \edef\mddef@ult{\mddefault} +} + +\DeclareRobustCommand\bfseries{% +\not@math@alphabet\bfseries\mathbf +\ifx\f@family\rmdef@ult\fontseries\bfseries@rm +\else\ifx\f@family\sfdef@ult\fontseries\bfseries@sf +\else\ifx\f@family\ttdef@ult\fontseries\bfseries@tt +\else\fontseries\bfdefault\fi\fi\fi\selectfont}% + +\DeclareRobustCommand\mdseries{% +\not@math@alphabet\mdseries\relax +\ifx\f@family\rmdef@ult\fontseries\mdseries@rm +\else\ifx\f@family\sfdef@ult\fontseries\mdseries@sf +\else\ifx\f@family\ttdef@ult\fontseries\mdseries@tt +\else\fontseries\mddefault\fi\fi\fi\selectfont} + +\DeclareRobustCommand\rmfamily{% +\not@math@alphabet\rmfamily\mathrm +% change the current series before changing the family +\ifx\f@family\sfdef@ult + \ifx\f@series\mdseries@sf\fontseries\mdseries@rm + \else\ifx\f@series\bfseries@sf\fontseries\bfseries@rm + \else\ifx\f@series\mddef@ult\fontseries\mdseries@rm + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@rm + \fi\fi\fi\fi +\else\ifx\f@family\ttdef@ult + \ifx\f@series\mdseries@tt\fontseries\mdseries@rm + \else\ifx\f@series\bfseries@tt\fontseries\bfseries@rm + \else\ifx\f@series\mddef@ult\fontseries\mdseries@rm + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@rm + \fi\fi\fi\fi +\else\fontseries\mdseries@rm +\fi\fi\fontfamily\rmdefault\selectfont} + +\DeclareRobustCommand\sffamily{% +\not@math@alphabet\sffamily\mathsf +% change the current series before changing the family +\ifx\f@family\rmdef@ult + \ifx\f@series\mdseries@rm\fontseries\mdseries@sf + \else\ifx\f@series\bfseries@rm\fontseries\bfseries@sf + \else\ifx\f@series\mddef@ult\fontseries\mdseries@sf + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@sf + \fi\fi\fi\fi +\else\ifx\f@family\ttdef@ult + \ifx\f@series\mdseries@tt\fontseries\mdseries@sf + \else\ifx\f@series\bfseries@tt\fontseries\bfseries@sf + \else\ifx\f@series\mddef@ult\fontseries\mdseries@sf + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@sf + \fi\fi\fi\fi +\else\fontseries\mdseries@sf +\fi\fi\fontfamily\sfdefault\selectfont} + +\DeclareRobustCommand\ttfamily{% +\not@math@alphabet\ttfamily\mathtt +% change the current series before changing the family +\ifx\f@family\rmdef@ult + \ifx\f@series\mdseries@rm\fontseries\mdseries@tt + \else\ifx\f@series\bfseries@rm\fontseries\bfseries@tt + \else\ifx\f@series\mddef@ult\fontseries\mdseries@tt + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@tt + \fi\fi\fi\fi +\else\ifx\f@family\sfdef@ult + \ifx\f@series\mdseries@sf\fontseries\mdseries@tt + \else\ifx\f@series\bfseries@sf\fontseries\bfseries@tt + \else\ifx\f@series\mddef@ult\fontseries\mdseries@tt + \else\ifx\f@series\bfdef@ult\fontseries\bfseries@tt + \fi\fi\fi\fi +\else\fontseries\mdseries@tt +\fi\fi\fontfamily\ttdefault\selectfont} + +\endinput diff --git a/menschenzeugs/corporate design^^/Briefkopf/reudnetzbrief.lco b/menschenzeugs/corporate design^^/Briefkopf/reudnetzbrief.lco new file mode 100644 index 0000000..cd5b296 --- /dev/null +++ b/menschenzeugs/corporate design^^/Briefkopf/reudnetzbrief.lco @@ -0,0 +1,103 @@ +\ProvidesFile{reudnetzbrief.lco}[letter class option] + + +\RequirePackage[utf8]{inputenc} +\RequirePackage{graphicx} +\RequirePackage{hyperref} + +%Lokalisierung +\RequirePackage{ngerman} +\RequirePackage{fix-cm} + +% (TrueType-)Schriften +\usepackage{iftex} +\ifXeTeX + \usepackage{xltxtra} + \setmainfont{Crimson-Roman} +\else + \usepackage{crimson} + \RequirePackage[T1]{fontenc} +\fi + +%Farben +\usepackage{color} +\definecolor{blatt}{rgb}{0.55, 0.64, 0.23} + +%Formatierung +\addtokomafont{fromname}{\color{blatt}} +\addtokomafont{fromaddress}{\scriptsize\color{blatt}} +\addtokomafont{fromrule}{\color{blatt}} +\pagestyle{headings} + +\KOMAoptions{ + fontsize=12pt, + paper=a4, + pagenumber=botcenter, + fromalign=left, +%Trennlinie unter dem Logo: afteraddress, false, aftername: + fromrule=false, + fromlogo,fromurl, + fromemail, +% fromfax, fromphone, + enlargefirstpage +} + +\setkomavar{fromname}{Reudnetz w.V.} +\setkomavar{fromaddress}{Wurzner Straße 2 \\ 04315 Leipzig} + +\setkomavar{fromlogo}{\includegraphics[height=2.5cm]{logo.png}} + +\setkomavar{fromemail}[]{mail@reudnetz.org} +\setkomavar{fromurl}[]{http://reudnetz.org/} + +\setkomavar{place}{Leipzig} + +%Spezialheader +\setkomavar{firsthead}{% + \parbox[b]{0.5\textwidth}{ + \flushright{ + \usekomafont{fromname}\strut\ignorespaces + \usekomavar{fromname}% + { + \ifnum\@rulefrom=1\\[-.5\baselineskip]% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \if@logo + \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% + \addtolength{\@tempdima}{-\@tempdimb}% + \fi + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% + \fi + } + \\ + }% + {\usekomafont{fromaddress}\strut\ignorespaces + \usekomavar{fromaddress}% + \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% + \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% + \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% + \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% + \ifnum\@rulefrom=2\\[-.5\baselineskip]% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% + \fi + \\ + }% + }% + \hspace{1mm} + \if@logo + \rlap{\usekomavar{fromlogo}}% + \fi +} diff --git a/menschenzeugs/corporate design^^/logo/Rübe.jpg b/menschenzeugs/corporate design^^/logo/Rübe.jpg new file mode 100644 index 0000000..22392b6 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/Rübe.jpg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/110_carrot-f.jpg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/110_carrot-f.jpg new file mode 100644 index 0000000..16aebe1 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/110_carrot-f.jpg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/DigitalCarrotLogoJPEG140Kb.jpg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/DigitalCarrotLogoJPEG140Kb.jpg new file mode 100644 index 0000000..0768171 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/DigitalCarrotLogoJPEG140Kb.jpg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/Single_Carrot_Theatre_logo.jpg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/Single_Carrot_Theatre_logo.jpg new file mode 100644 index 0000000..1681156 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/Single_Carrot_Theatre_logo.jpg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrot_logo.png b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrot_logo.png new file mode 100644 index 0000000..beb0b6f Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrot_logo.png differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrotte.jpeg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrotte.jpeg new file mode 100644 index 0000000..5f76b9b Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/carrotte.jpeg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/images.png b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/images.png new file mode 100644 index 0000000..ac55984 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/images.png differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/imagesq.jpeg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/imagesq.jpeg new file mode 100644 index 0000000..74f40ad Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/imagesq.jpeg differ diff --git a/menschenzeugs/corporate design^^/logo/andere_karottenlogos/space-carrot.jpg b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/space-carrot.jpg new file mode 100644 index 0000000..4321b2d Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/andere_karottenlogos/space-carrot.jpg differ diff --git a/menschenzeugs/corporate design^^/logo/g4497.png b/menschenzeugs/corporate design^^/logo/g4497.png new file mode 100644 index 0000000..2629202 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/g4497.png differ diff --git a/menschenzeugs/corporate design^^/logo/g4655.png b/menschenzeugs/corporate design^^/logo/g4655.png new file mode 100644 index 0000000..b638e7f Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/g4655.png differ diff --git a/menschenzeugs/corporate design^^/logo/path4140.png b/menschenzeugs/corporate design^^/logo/path4140.png new file mode 100644 index 0000000..0cb9881 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/path4140.png differ diff --git a/menschenzeugs/corporate design^^/logo/path4520.png b/menschenzeugs/corporate design^^/logo/path4520.png new file mode 100644 index 0000000..1031c35 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/path4520.png differ diff --git a/menschenzeugs/corporate design^^/logo/path4540.png b/menschenzeugs/corporate design^^/logo/path4540.png new file mode 100644 index 0000000..7c19549 Binary files /dev/null and b/menschenzeugs/corporate design^^/logo/path4540.png differ diff --git a/menschenzeugs/corporate design^^/logo/reudcarrot1.svg b/menschenzeugs/corporate design^^/logo/reudcarrot1.svg new file mode 100644 index 0000000..f4ae21a --- /dev/null +++ b/menschenzeugs/corporate design^^/logo/reudcarrot1.svg @@ -0,0 +1,451 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/menschenzeugs/infoblatt.md b/menschenzeugs/infoblatt.md new file mode 100644 index 0000000..cf6301c --- /dev/null +++ b/menschenzeugs/infoblatt.md @@ -0,0 +1,33 @@ +vorstellung des projektes + +nennung von eckdaten + +Gründe für einen solchen Anschluss: + + Wir speichern nicht + + Wir sind erreichbar/ansprechbar + + Transparenz (Wie überbucht ist mein Anschluss, wo geht das Geld hin, etc.) + + symetrische Anschlüsse + + + + + + +Idee: kurzer fragebogen zu was Nutzer eigentlich wollen: + + einen internet vertrag der: + + sofort kündbar ist + + gemeinschaftlich nutzbar ist + + möglichst viel bietet und wenig kostet + + mit menschen abgeschlossen ist mit denen man reden kann + + + diff --git a/menschenzeugs/protokolle/mitgliederversammlungen/protokoll-2016-09-02 b/menschenzeugs/protokolle/mitgliederversammlungen/protokoll-2016-09-02 new file mode 100644 index 0000000..ddae3d2 --- /dev/null +++ b/menschenzeugs/protokolle/mitgliederversammlungen/protokoll-2016-09-02 @@ -0,0 +1,35 @@ +anwesende mitglieder sind +carl, paul, daniel, johannes, yannik +die beschlussfähigkeit wurde festgestellt + +* bericht + - hlkom + - testnetz + - bnetza -> sicherheitskonzept + - hohe strafe + - aufklärung über sabotage + - baumaßnahmen + - keller + - kabelschacht + - dach + - degrowth projekt/nichtförderung + - 1500 + - können nur an vereine mit bildungsauftrag spenden + - finanzierung + - voratsdatenspeicherung +* anschlussvertrag + - vertrag, beide müssen unterscheiden + +* sabotage + + +* mitglieder annehmen + - ein mitgliedsvertrag (ludwig) wurde abgegeben + - einstimming angenommen + + +* go beschließen + - einstimmig angenommen + +* bericht + - ansible diff --git a/menschenzeugs/reudnetz w.V./Geschaeftsordnung.md b/menschenzeugs/reudnetz w.V./Geschaeftsordnung.md new file mode 100644 index 0000000..637f0d1 --- /dev/null +++ b/menschenzeugs/reudnetz w.V./Geschaeftsordnung.md @@ -0,0 +1,42 @@ +Die Satzung bezieht sich in folgenden Punkten auf die Geschäftsordnung: + +* §4 Anforderungen, Zustellwege und Zuordnung elektronischer Dokumente +Elektronische Dokumente sind Emails, die mit GPG/PGP oder S/MIME an den korrekten Schlüssel verschlüsselt, so wie von einem der empfängerseite bekannten Schlüssel signiert sind. + +* §7.1 Deligiert Entscheidungsfähigkeit weg vom Vorstand +Keine einschränkungen + +* §7.5 Legt untergrenze an Stimmen für die Beschlussfähigkeit fest +7 Stimmen, oder 25% der Stimmen, was immer weniger ist. +Beschlüsse der Mitgliederversammlung werden eine Woche nach veröffentlichung des Protokolls gültig. +In dieser Frist kann den Beschlüssen durch nichtanwesende Mitglieder wiedersprochen werden. +Wenn die ursprünglichen Gegenstimmen zusammen mit den hinzugekommenen Gegenstimmen die für-Stimmen überstimmen ist der Beschluss invalid. +Dieser Prozess wird durch den Schriftführer verwaltet. + + +* §8.2 Kann Einschränkungen für die Vertretung des Vereins festlegen +Vorstandmitglieder sind bis zu Beträgen von 250€ vertretungeberechtigt. Über Beträge von bis zu 1000€ kann im Vorstand abgestimmt werden. Über alle größeren Beträge entscheidet die Mitgliederversammlung. +Bei Verträgen sind die durch Mindestvertragslaufzeit und Kündigungsfrist mindestens anfallenden Forderungen entscheidend. + +* §8.3 Haushaltsführung und Finanzen +Der Schatzmeister überwacht die Finanzen mittels einfacher Buchführung und stellt den Nutzenden Rechnungen aus und leitet Maßnahmen bei evtl. Nichtzahlung ein. + +* §11.3 Kann die Einsicht in Daten einschränken +Einsicht in Dokumente, die zum Betrieb nötige Passwörter oder Schlüssel enthalten, ist nur den Vorstandmitgliedern gestattet. +Die für die Abrechnung ermittelten Daten der Nutzenden sind nur durch den Schatzmeister, und die durch das TKG speziell berechtigte Person einzusehen. +Die für die Umsetzungen der Mindestspeicherfrist erhobenen Verbindungsdaten sind nur durch die im TKG berechtigten Personen einzusehen. + +das sicherheitskonzept bezieht sich in punkto sabotageabwehr auf die geschäftsordnung. + +die geschäftsführer haben neue mitgliedern über sabotage aufzuklären + - entscheidungen in gremien abschieben ("sind wir dazu entscheidungsberechtigt") + - entscheidungen ausbremsen ("lieber keine fehler machen", "vernünftig sein") + - arbeiten ausbremsen ("werkzeug vergessen/verlegt", "schlüssel vergessen/verlegt") + - material verschlie&en ("antenne unzureichend gesichert", "zu viel spiel lassen -> material zermürben", "ungeeignetes material verwenden") + +mitglieder haben auf sabotierendes verhalten zu achten, und bei einem anfangsverdacht einen geschäftsführer zu benachrichtigen + +die geschäftsführer haben hinweisen auf sabotage durch mitglieder von mitgliedern nachzugehen +und eventuell ein ausschlussverfahren einzuleiten + +bei jeder mitgliederversamlung ist ein kleiner vortrag zu einem zusammenhängenden sachthema zur information der mitglieder abzuhalten diff --git a/menschenzeugs/reudnetz w.V./Reudnetz w.V.md b/menschenzeugs/reudnetz w.V./Reudnetz w.V.md new file mode 100644 index 0000000..0284a6b --- /dev/null +++ b/menschenzeugs/reudnetz w.V./Reudnetz w.V.md @@ -0,0 +1,31 @@ +## Reudnetz w.V +### Chronologie der Bürokratie +#### Landesdirektion +Erster Anlaufpunkt ist die Landesdirektion, um einen wirtschaftlichen Verein zu Gründen. In Sachsen sitzt der Verantwortliche in Dresden, Referat 21. +Dafür muss folgendes getan werden: +* Verfassen einer Vereinssatzung +* Ausfüllen des Deckblattes[1] und argumentativ belegen, warum ein wirtschaftlicher Verein die einzige tragbare Rechtsform ist. +Nach circa 2 Monaten und für 230€ Verwaltungsgebühr erhielten wir dann die "Verleihung der Rechtsfähigkeit" +[1]https://fs.egov.sachsen.de/formserv/findform?shortname=smi_ldd_VerlRfV&formtecid=9&areashortname=142 + +####Gewerbeamt +Nun muss für die Tätigkeit des Vereins noch ein Gewerbe angemeldet werden. Möglich ist das im technischen Rathaus[2]. Das lief bisher so: +Abhängigkeiten sind: +* Anmeldebogen für Gewerbe ausfüllen +* Personalausweis oder Reisepass mitnehmen +* Am Besten noch alle anderen Unterlagen, da an der Glaubwürdigkeit wirtschaftlicher Vereine gern gezweifelt wird. + +Das Gewerbeamt möchte gerne eine Regsternummer sehen. Dafür verweist es auf das Amtsgericht. In der dortigen Registerabteilung wurde mir dann aber erklärt, +das diese nicht zuständig ist. Stattdessen solle ich mir eine Vetreterbescheinigung von der Landesdirektion austellen lassen. +[2]http://www.leipzig.de/buergerservice-und-verwaltung/aemter-und-behoerdengaenge/behoerden-und-dienstleistungen/dienststelle/gewerberecht-3220/ + +####Finanzamt + +####Kontoeröffnung + +### Dokumente zum Verein +[Satzung](https://wiki.reudnetz.org/uploads/satzung-des-reudnetz%281%29.pdf) + +[[Geschaeftsordnung]] + +[[Selbstverstaendnis]] diff --git a/menschenzeugs/reudnetz w.V./Selbstverstaendnis.md b/menschenzeugs/reudnetz w.V./Selbstverstaendnis.md new file mode 100644 index 0000000..d6e780b --- /dev/null +++ b/menschenzeugs/reudnetz w.V./Selbstverstaendnis.md @@ -0,0 +1,49 @@ +## Wer sind wir und was soll das? + +Das Reudnetz ist ein Verein und ein Internetprovider. Von uns kannst du einen Internetanschluss kaufen und (wenn du möchtest) Mitglied im Verein werden um +an der Entwicklung des Netzes mitzuwirken. +Wir machen das, weil wir einen Internetanschluss wollen, der + +* Mitspracherecht garantiert +* ohne Jahrelange Vertragsbindung auskommt +* die Überbuchung nachvollziehbar gestaltet +* symmetrischen Up- und Downlink hat +* die Netzneutralität wahrt +* von Menschen gemacht wird, denen wir Vertrauen können. + +Ob ihr uns vertraut müsst ihr selbst entscheiden: + + +* Wir sind überzeugt, dass die Kontrolle über Infrastruktur bei den Menschen liegen muss, die sie versorgt. + +* Wir setzen uns gegen die Erhebung, Speicherung und Verwertung von Nutzer und Verbindungsdaten ein, können aber nicht ausschließen dazu gezwungen zu werden. +Noch speichern wir nichts. + +* Wir wünschen uns ein Internet, das nicht von wenigen großen Diensten dominiert wird, sondern an dem Alle als Nutzende und Anbietende teilhaben. + +* Wir halten unseren Stromverbrauch so niedrig wie möglich und verwenden, wo es möglich und sinnvoll ist, recycelte Technik. + +* Es ist uns wichtig, das alle die es möchten, das Netz verstehen können. Sprecht uns an. + +* Wir sind auf Layer 3 und sonst nirgends. + +* Das Reudnetz wird Infrastukturoptimiert statt Gewinnoptimiert + +* Wir verletzen die Netzneutralität nicht. + +* Wir sind erreichbare Personen in eurer Nähe. + +* Software muss OpenSource sein. + +## Reste + +inspiration: +https://criticalengineering.org/ +http://backbone409.calafou.org/ +https://iuf.alternatifbilisim.org/ +https://www.accessnow.org/about + + + +**schnelles günstiges internet** schön und gut aber wichtiger ist uns dass der anschluss solide ist, dass heißt das wir einen anschluss bekommen der nicht überbucht ist und es auch nicht sein wird, und dass wir genug mittel haben um projekte selbst umsetzen zu kjönnen und fördern zu können die sich mit netztssicherherheit und politischer vernetzung und organisation beschäftigen sowie damit schwellen abzubauen selbst aktiv am internet und dessen inhalt mitzugestalten. + diff --git a/menschenzeugs/reudnetz w.V./mitgliedsantrag/logo.png b/menschenzeugs/reudnetz w.V./mitgliedsantrag/logo.png new file mode 100644 index 0000000..d2cc086 Binary files /dev/null and b/menschenzeugs/reudnetz w.V./mitgliedsantrag/logo.png differ diff --git a/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.pdf b/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.pdf new file mode 100644 index 0000000..2efae23 Binary files /dev/null and b/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.pdf differ diff --git a/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.tex b/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.tex new file mode 100644 index 0000000..e4ab564 --- /dev/null +++ b/menschenzeugs/reudnetz w.V./mitgliedsantrag/mitgliedsfoo.tex @@ -0,0 +1,82 @@ +\documentclass[a4paper]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +%\usepackage{lmodern} +%\usepackage[english]{babel} + +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{fancyhdr} + +%Lokalisierung +\usepackage{ngerman} +\usepackage{fix-cm} + +% (TrueType-)Schriften +\usepackage{iftex} +\ifXeTeX + \usepackage{xltxtra} + \setmainfont{Crimson-Roman} +\else + \usepackage{crimson} + \usepackage[T1]{fontenc} +\fi + +%Farben +\usepackage{color} +\definecolor{blatt}{rgb}{0.55, 0.64, 0.23} +\pagestyle{fancy} +%Header +\headheight=75pt +\rhead{ + \parbox[b]{0.3\textwidth}{ + \flushright{ + {\fontfamily{crimson}\color{blatt}\selectfont\strut\ignorespaces + {\Large Reudnetz w.V.}\\ + Wurzner Straße 2 \\ + 04315 Leipzig \\ + mail@reudnetz.org\\ + http://reudnetz.org\\ + } + } + } + \includegraphics[height=2.5cm]{logo.png} +} +\lhead{ + \parbox[b]{0.6\textwidth}{ + {\LARGE\textbf{Reudnetz Gold Account!}}\\ + \\ + \\ + \\ + Mitgliedsantrag + } +} +\newcommand{\Qline}[1]{\noindent\rule{#1}{0.6pt}} +\begin{document} +\subsection*{} +Ich möchte über die Zukunft meines Internetanschluss entscheiden und in den Reudnetz w.V. eintreten. +\subsection*{Angaben zur Person} +\begin{tabular}{ l l r } +\\ +\multicolumn{2}{l}{\Qline{0.6\textwidth}} & \Qline{0.3\textwidth}\\ +Vorname, Name & & Geburtstag \\ +\\ +\multicolumn{3}{l}{\Qline{0.98\textwidth}} \\ +\multicolumn{3}{l}{Adresse} \\ +\\ +\multicolumn{3}{l}{\Qline{0.98\textwidth}} \\ +\multicolumn{3}{l}{Emailadresse} \\ +\\ +\Qline{0.3\textwidth} & \multicolumn{2}{r}{\Qline{0.6\textwidth}} \\ +GPG-Key-ID & & Fingerprint \\ +\end{tabular} +\subsection*{} +Ich habe die Satzung und die Geschäftsordnung gelesen und akzeptiert oder tue wenigstens so.\\ +\\ +\subsection*{} +\begin{tabular}{ l r } +\Qline{0.55\textwidth} & \Qline{0.4\textwidth}\\ +Unterschrift & Datum \\ +\end{tabular} + +\end{document} diff --git a/menschenzeugs/reudnetz w.V./satzung-des-reudnetz.pdf b/menschenzeugs/reudnetz w.V./satzung-des-reudnetz.pdf new file mode 100644 index 0000000..4418540 Binary files /dev/null and b/menschenzeugs/reudnetz w.V./satzung-des-reudnetz.pdf differ diff --git a/menschenzeugs/vds/VDS_10Dez2015.pdf b/menschenzeugs/vds/VDS_10Dez2015.pdf new file mode 100644 index 0000000..f4dfd32 Binary files /dev/null and b/menschenzeugs/vds/VDS_10Dez2015.pdf differ diff --git a/technikzeugs/Einkaufsliste.md b/technikzeugs/Einkaufsliste.md new file mode 100644 index 0000000..5a577f0 --- /dev/null +++ b/technikzeugs/Einkaufsliste.md @@ -0,0 +1,56 @@ +## Händler + +### Senetic +https://www.senetic.de/ +Account mit "Passwort für Webseiten" eingerichtet +###omg +https://shop.omg.de +nichts getan +### Unielektro +http://www.unielektro.de/ +Noch nicht angemeldet +### Zajadacz +http://www.zajadacz.de/ +Noch nichts gemacht +### Triotronik +http://www.triotronik.com +Warte auf anmeldung +Angemeldet +### König +http://www.elektrogrosshandel-koenig.de/uber-uns/ +mal nrufen +### Kabeltronik +http://www.kabeltronik.de +anrufen +### Intos +https://www.intos.de +Noch nichts gemacht +### MAG +http://www.mag.de +Warte auf anmeldung. +ABGELEHNT + +## Verbrauchsmaterial +#### Outdoor-Patchkabel +Diese Kabel sollten UV-Resistent und flexibel sein und einen Nagetierschutz besitzen. +* http://www.intos.de/produktuebersicht/kabel/rohware-unkonfektioniert/verlegekabel-cat.6-cat.7/70500p/inline-aussen-verlegekabel-cat.7a-s/ftp-pimf-4x2x0-58-awg23-kupfer-1200mhz-pe-mantel-schwarz-500m?ffRefKey=LFrdxnmJJ +* http://www.intos.de/produktuebersicht/kabel/rohware-unkonfektioniert/verlegekabel-cat.6-cat.7/70102f/verlegekabel-cat.7-1000mhz-s/ftp-pimf-awg23-100m-outdoor-schwarz?ffRefKey=LFrdxnmJJ +* Top und scheisse teuer: http://www.lappkabel.de/kabelfinder.html#%2Fpage%2F1235%3Fquery%3Dnull%26article_no%3D2170496%26facetSelection%3D{%22properties%22%3A[%22attribute_cable_rodent_protection_boolS%3Atrue%22%2C%22attribute_uvresistant_boolS%3Atrue%22]%2C%22product_group%22%3A[%22attribute_product_groups_stringM%3AETHERNET%20und%20LAN%22]} +* http://www.kabeltronik.de/elektronik-industrie/netzwerkkabel/cat-5e-pur-flex-utp-sc/ +* https://webshop.unielektro.de/produkte/200EG000001EC000830--Datenkabel +#### Steckverbinder RJ-45 +* http://www.lappkabel.de/produkte/online-kataloge-shop/datenuebertragungssyssteme-fuer-ethernet-technologie/steckverbinder-fuer-office-anwendungen/rj45-steckverbinder/steckverbinder-rj45-cat5-hirose-tm11.html?tx_dgpsolr[q]=rj45 +* http://www.ebay.de/itm/Ubiquiti-Tough-Cable-Connectors-RJ45-CAT6-CAT5E-STP-Outdoor-100-pcs-TC-CON-/161741813867?hash=item25a890386b:g:YkwAAOxycD9TRQ4R +#### Outdoor- LWL: +Nagetierschutz und Längswasserfest +* http://www.mag.de/de/Fibre-Optic-Lichtwellenleiter/LWL-Aussenkabel + +* 20m Kletterseil +* 4x NanoStationLoco M5 + * 62,00€ http://www.bima-elektro.de/_netzwerktechnik/netzwerkkommunikation/nanostation-loco-m5-antenna-13dbi-outdoor-client-mimo-5ghz.html + * 53,41$ http://www.nv-networks.com/en/ubiquiti-nanostation-loco-m5-airmax.html + * Bei Reichelt gibt es keine Nanostations nur son Kram: + https://www.reichelt.de/WLAN-Router-Access-Point/TPLINK-CPE210/3/index.html?&ACTION=3&LA=2&ARTICLE=150844&GROUPID=5840&artnr=TPLINK+CPE210 +* Und die DInger kommen hoffentlich noch: http://www.bima-elektro.de/_netzwerktechnik/netzwerkkommunikation/ubiquiti-nanobeam-m5-5ghz-16-db-airmax-cpe.html +* 4x 20m Patch Kabel + diff --git a/technikzeugs/configs/AirOS/Readme.md b/technikzeugs/configs/AirOS/Readme.md new file mode 100644 index 0000000..4031745 --- /dev/null +++ b/technikzeugs/configs/AirOS/Readme.md @@ -0,0 +1,12 @@ +## AirOS configs + +Normalerweise unterscheiden sich "Nanostation M5" und "Nanobeam M5" in den Konfigurationen etwas. Bisher ließen sich die Konfigurationen jedoch austauschen. Trotzdem ist stets nochmal vorsichtig zu testen. + +### Accesspoint +Wir ein Router als Accesspoint konfiguriert, so läuft auch ihm kein Routing. Dafür gibt er die erlaubten Frequenzbänder vor. + +### Station +Die Station steht auf dem Dach der Nutzenden und verbindet sich mit einem Accesspoint. Sie beihaltet auch das Routing für das Subnetz der Nutzenden. + +### Nanobeam Station Switch +Auf dieser Station sind VLANs konfiguriert, so das sie zusammen mit einem geeigneten Switch über vier Ports verfügt. diff --git a/technikzeugs/configs/AirOS/accesspoint.cfg b/technikzeugs/configs/AirOS/accesspoint.cfg new file mode 100644 index 0000000..aeb1df2 --- /dev/null +++ b/technikzeugs/configs/AirOS/accesspoint.cfg @@ -0,0 +1,200 @@ +aaa.1.br.devname=br0 +aaa.1.devname=ath0 +aaa.1.driver=madwifi +aaa.1.radius.acct.1.status=disabled +aaa.1.radius.auth.1.status=disabled +aaa.1.radius.macacl.status=disabled +aaa.1.ssid=slowpoke +aaa.1.status=enabled +aaa.1.wpa.1.pairwise=CCMP +aaa.1.wpa.key.1.mgmt=WPA-PSK +aaa.1.wpa.mode=2 +aaa.1.wpa.psk=gibthiereinpasswortein +aaa.status=enabled +bridge.1.devname=br0 +bridge.1.fd=1 +bridge.1.port.1.devname=eth0 +bridge.1.port.1.status=enabled +bridge.1.port.2.devname=ath0 +bridge.1.port.2.status=enabled +bridge.1.status=enabled +bridge.1.stp.status=disabled +bridge.status=enabled +dhcp6c.status=disabled +dhcpc.1.devname=br0 +dhcpc.1.fallback=192.168.1.20 +dhcpc.1.fallback_netmask=255.255.255.0 +dhcpc.1.status=enabled +dhcpc.status=enabled +dhcpd.status=disabled +ebtables.status=enabled +ebtables.sys.arpnat.1.devname=ath0 +ebtables.sys.arpnat.1.status=enabled +ebtables.sys.arpnat.status=disabled +ebtables.sys.eap.1.devname=ath0 +ebtables.sys.eap.1.status=enabled +ebtables.sys.eap.status=enabled +ebtables.sys.status=enabled +ebtables.sys.vlan.status=disabled +gui.language=en_US +httpd.https.port=443 +httpd.https.status=enabled +httpd.status=enabled +netconf.1.autoip.status=disabled +netconf.1.devname=eth0 +netconf.1.hwaddr.mac= +netconf.1.hwaddr.status=disabled +netconf.1.ip=0.0.0.0 +netconf.1.mtu=1500 +netconf.1.netmask=255.255.255.0 +netconf.1.promisc=enabled +netconf.1.role=bridge_port +netconf.1.status=enabled +netconf.1.up=enabled +netconf.2.allmulti=enabled +netconf.2.autoip.status=disabled +netconf.2.devname=ath0 +netconf.2.hwaddr.mac= +netconf.2.hwaddr.status=disabled +netconf.2.ip=0.0.0.0 +netconf.2.mtu=1500 +netconf.2.netmask=255.255.255.0 +netconf.2.promisc=enabled +netconf.2.role=bridge_port +netconf.2.status=enabled +netconf.2.up=enabled +netconf.3.autoip.status=disabled +netconf.3.devname=br0 +netconf.3.hwaddr.mac= +netconf.3.hwaddr.status=disabled +netconf.3.ip=0.0.0.0 +netconf.3.mtu=1500 +netconf.3.netmask=255.255.255.0 +netconf.3.role=mlan +netconf.3.status=enabled +netconf.3.up=enabled +netconf.status=enabled +netmode=bridge +ppp.status=disabled +radio.1.ack.auto=enabled +radio.1.ackdistance=600 +radio.1.acktimeout=25 +radio.1.antenna.gain=16 +radio.1.antenna.id=4 +radio.1.cable.loss=0 +radio.1.chanbw=40 +radio.1.chanshift=0 +radio.1.countrycode=276 +radio.1.cwm.enable=0 +radio.1.cwm.mode=2 +radio.1.devname=ath0 +radio.1.dfs.status=enabled +radio.1.forbiasauto=0 +radio.1.freq=0 +radio.1.ieee_mode=11naht40 +radio.1.mcastrate=15 +radio.1.mode=master +radio.1.obey=enabled +radio.1.polling=enabled +radio.1.pollingnoack=0 +radio.1.pollingpri= +radio.1.rate.auto=enabled +radio.1.rate.mcs=15 +radio.1.reg_obey=enabled +radio.1.status=enabled +radio.1.subsystemid=0xe815 +radio.1.txpower=20 +radio.countrycode=276 +radio.rate_module=atheros +radio.status=enabled +resolv.host.1.name=wurze2_3 +resolv.host.1.status=enabled +resolv.nameserver.1.ip= +resolv.nameserver.1.status=enabled +resolv.nameserver.2.ip= +resolv.nameserver.2.status=enabled +resolv.status=disabled +route.1.comment= +route.1.devname=br0 +route.1.gateway=192.168.1.1 +route.1.ip=0.0.0.0 +route.1.netmask=0 +route.1.status=disabled +route.status=enabled +snmp.community=reudnetz +snmp.contact=reudnetz +snmp.location=reudnetz +snmp.status=enabled +sshd.auth.key.1.comment=yannik@Hydrogen +sshd.auth.key.1.status=enabled +sshd.auth.key.1.type=ssh-rsa +sshd.auth.key.1.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQDelf/wYfaV9MgefRzySO9cH8F9zswsYZ5i/huq73VpxQd6VJWsLxMUdaevkeA2v4QgTdweh2sWFSdZoTskmh0JvfQw4GVO0kZBVtTqrh8jf/9arMGGnkMyp7qbfZr1Ewa/SAeGU/XX4XhmFda8D38oKdhpX5FVmbOXu2cpWOz/hLLcRm4GNXGsApJfqrmUEXrRHxQCUEYG2Gi6Q3GbbSKbt0rskfMQ4O5TDSwvPsI8yJVC7dCxVSIPmXjysTfRkXSAVZOBGfiZBKeUCaEiZ20rTbhJkXOlAVVsnhf2mfLOpgx7+/g0g/tceU3RxWkSjizcdWyWYBbXroVtf22Zu6+H +sshd.auth.key.2.comment=a@echo +sshd.auth.key.2.status=enabled +sshd.auth.key.2.type=ssh-rsa +sshd.auth.key.2.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQC9gm2ycpPksVSTPAHFa3FW93nIW0kLo7+U4c6yj0Ggxn0TeTvmtR/+wFwAWo6u6ftDAqkErykDkFg7/T566/Nsxxhl/Gzv82yVZvE8TeyOI282w9rOjhIWMwXYzBUtgDau8hfT57XezfCy1cJphvyEWqbf1c7FLVAQ6JItTsVXeUz0OBD3xF2lCp98UpEM8QdPaIl3hcGasyZE649z4ba1aWg6yHpPum65ZhRrFom/79/AVjAX/1U21XUkqaUQzfakbhWi2CXlty5CLrc6XNyizMfbGuktiQJ1ytE9z5+hpVIl3YjG7VIoutvfbtz3e887Ye7sR/jU4DKBaoyG7fAR +sshd.auth.key.3.comment=amanita@reudnetz.org +sshd.auth.key.3.status=enabled +sshd.auth.key.3.type=ssh-rsa +sshd.auth.key.3.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQDUIZhEESnVUtjYgbxheBWMDVMU10r0PviGUhH14ar88SITx+dO5z28ACUPL6pFqni/gYW2bd1MDRUVskV+O+Z/rVAxwjokADGHXmWbUPeB1fy2t1RZ6iQ/85eLR4A4KDG/pMabhvVhM+u+TqKE6YlWwNrd9eKyeuDMm7gHcTjPetdacmdwDRzEwEYfT5I1xNFv7R0G8HzlFQbxqlYBvpuH1zOeI7MgPHR8K8a3E4AtLqxMcC+fNdJQYB+ksFVM2TrpOSCwcIEqzjtonaUL648N3fLZVgCmq5CzY8aGdBCLy/mnM/npUY9Io1SiP4g7X1Dio+iNdwzxOvw/7yOUrDxKCtTYXhOaYHWluhFtPXqJddpEsIPOuFSgdWLsDMfoYEAf8427TRWj0Eg73dNP5YImmlvbW5nkKRsibLBtMJLbamMF3hsjoKvpIcLO/vnGPPL0ZN6g759dTrdfnodW1tRr4ckPNi2254pkJg6KqnwjnqAGr/pWWmYb4t+sNHwUZCfLq/pw8X0CfarbqeNddt2sHYmGfnzVJ5oZv3fbLqB45iAR7FRpngY3lDE4ejZVMZGVzeztZKsBK3M801ZhEu49LTm5CDVs9/XtesloknNTSBk1GLVDC4oeQJ3GuRsQCOh/5NMgsYC4HgEJcyad5grzO/xre7ZcNMtCi/w8aMAJMQ== +sshd.auth.key.4.comment=inocybe@reudnetz.org +sshd.auth.key.4.status=enabled +sshd.auth.key.4.type=ssh-rsa +sshd.auth.key.4.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC7v7FvkxQ/DpCMhbqYLlxGP+YRvE2S+ofyi8O4w/0MuxFruWvmXud1UDhCyKl2YZKTuWOUhduf9ESljL+T6Oqm0tOPBZ5YBvvyV10j8uSgmlZBGdaJJjoWOvM2vCddW5WqZg19wnIfYHyPrpr48FRuKn3ZCBg9UmvwoSR46IL96bIfgzCDEkRySQ/JM2ACGXWrK3ftKvCkfFF90M4e9pXtyZyO1Dk/Wo+IGpZj3JGsLxzF3onAQ/Jueb0kBFpo36sz71iD7aj3ZehuLfFkLwiwLif07/pRob20h1vq6FeOg6JcbBDQU2TluneZ94RT+hplxjG99DD11sOXgAHWREOMsyqaAISeH8VGp4UdTw36F2i5z+gpBmrSBFaMxFm3iPI4ROu6EeKD92jq5ymADICuXn9UdcddYi+6fyhP+SuxS3KYuAWIjXi35wrHjxN5YLL56CBN2i0VeJ4AXIo4+oIIXIBy9KZYZKxsftGOm8/nnErpmFDX63Vqxd+vDY/JUUAswcWxnOdba97FKORBEnagchoCgxHK22yIbY38W1jXa3tq2XxIlAACRxLdYrF1Lp2sIZxtAkPcCC2JlhJYLwadFDYllxcn5d7npIV3y2R3aghyOKjxqPzPDnPF+7B/3zWOYSohkHvkFxNIuL20kocdcHVCukAXRCd+LdRFzWUU3w== +sshd.auth.key.5.comment=gnummig@gmail.com +sshd.auth.key.5.status=enabled +sshd.auth.key.5.type=ssh-rsa +sshd.auth.key.5.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC4W5CtqmLJj+lWzethWfBra9ogI6W30HQWCrRfccEi236lcpsX5k6O+suEoA7HwVDzcIonHMdahlrB8Z7cW8AubJ2ykhNWk/0oVN8TF6eUNS8XoridNwAE7zSOOxP7O2A1x+sGH2PuCBtVpZvgETTsothnZJH1bs2ya3pn8l/NJg2VUnj7bxcK89nMQUH6Y+m0d2faJnOJJEx6e4k25buTR6/osjJd7fd/lFS8H1qWgN3mM891yMlpW9F+be+NQfpyo6QktT+aMkRsosAqAwtsAVECvXdEDhyge2XJHPAaYREnHKN5SNJifOrB3evMDdJRUshu1jXOIEOJJueQhIPfJuriCR+WH6YmG2XZ3nkPpk/aqCaWMnXWpNrbsiTFVRsAzrvKU8RQtfnWU3PD358dcpmTAhA+5rHgYAYQiNovwQb6BvxebX6aKIrSWWj5tnrfhykRe4gWhMHQe5E2fxB1yx3H/Hxwwc3d/uIB6utrckP2vUKksjd0eXb218hGLtCJJ3WWl3sgJpVMCB5yOoXePf6q0oSmbb6oNDl3ILMhFV7tc8ezIdMmpZNIxkobA5Kfm/Oujx2tFw52FiwmR5EPJfZojeZa81iplH0f652isACijmSI/WdHGpejca/1s3P888GxH/G9Flln8vI/qQ1cFryy1+AAuFDhULdUYu50gQ== +sshd.auth.passwd=disabled +sshd.port=22 +sshd.status=enabled +system.button.reset=disabled +system.cfg.version=65546 +system.date.status=disabled +system.date.timestamp= +system.eirp.status=disabled +system.latitude= +system.longitude= +system.timezone=GMT +update.check.status=enabled +users.1.name=reudnetz +users.1.password=$1$pX.zGqdr$26Dgkm/.7s24EB0PBRPNO1 +users.1.status=enabled +users.2.status=disabled +users.status=enabled +vlan.status=disabled +wireless.1.addmtikie=enabled +wireless.1.ap= +wireless.1.authmode=1 +wireless.1.autowds=disabled +wireless.1.devname=ath0 +wireless.1.hide_ssid=disabled +wireless.1.mac_acl.policy=allow +wireless.1.mac_acl.status=disabled +wireless.1.scan_list.channels=5770,5775,5780,5785,5790,5795,5800,5805,5810,5815,5820,5825,5830,5835,5840,5845,5850,5855,5860 +wireless.1.scan_list.status=enabled +wireless.1.security.type=none +wireless.1.ssid=slowpoke +wireless.1.status=enabled +wireless.1.wds.1.peer= +wireless.1.wds.2.peer= +wireless.1.wds.3.peer= +wireless.1.wds.4.peer= +wireless.1.wds.5.peer= +wireless.1.wds.6.peer= +wireless.1.wds.status=enabled +wireless.hideindoor.status=disabled +wireless.status=enabled +wpasupplicant.device.1.devname=ath0 +wpasupplicant.device.1.driver=madwifi +wpasupplicant.device.1.profile=WPA-PSK +wpasupplicant.device.1.status=disabled +wpasupplicant.profile.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.bssid= +wpasupplicant.profile.1.network.1.eap.1.status=disabled +wpasupplicant.profile.1.network.1.key_mgmt.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.pairwise.1.name=CCMP +wpasupplicant.profile.1.network.1.proto.1.name=RSN +wpasupplicant.profile.1.network.1.psk=gibthiereinpasswortein +wpasupplicant.profile.1.network.1.ssid=sichlor +wpasupplicant.status=disabled diff --git a/technikzeugs/configs/AirOS/nanobeam_station_switch.cfg b/technikzeugs/configs/AirOS/nanobeam_station_switch.cfg new file mode 100644 index 0000000..4a61565 --- /dev/null +++ b/technikzeugs/configs/AirOS/nanobeam_station_switch.cfg @@ -0,0 +1,403 @@ +aaa.1.status=disabled +radio.1.ani.status=disabled +wireless.1.sens=0 +radio.1.thresh62g= +radio.1.thresh62b= +radio.1.thresh62a= +wireless.1.l2_isolation=disabled +netconf.2.allmulti=enabled +netconf.2.autoneg=enabled +radio.1.ampdu.status=enabled +radio.1.ampdu.bytes=50000 +radio.1.ampdu.frames=32 +wireless.1.signal_led4=68 +wireless.1.signal_led3=73 +wireless.1.signal_led2=76 +wireless.1.signal_led1=84 +wireless.1.signal_led_status=enabled +wireless.1.compression=0 +wireless.1.frameburst=0 +wireless.1.fastframes=0 +radio.1.rts=off +wireless.1.wmmlevel= +wireless.1.wmm=enabled +aaa.1.wpa.psk=gibhiereinpasswortein +aaa.status=disabled +bridge.status=enabled +bridge.1.status=enabled +bridge.1.devname=br0 +bridge.1.stp.status=disabled +bridge.1.port.1.status=enabled +bridge.1.port.1.devname=ath0 +bridge.1.port.2.status=enabled +bridge.1.port.2.devname=eth0 +bridge.1.comment=management bridge +dhcp6c.status=disabled +dhcp6d.status=disabled +dhcpc.status=enabled +dhcpc.1.devname=br0 +dhcpc.1.fallback=192.168.10.1 +dhcpc.1.fallback_netmask=255.255.255.0 +dhcpc.1.status=enabled +dhcpd.status=enabled +dhcpd.1.status=disabled +dhcpd.1.dns.1.server= +dhcpd.1.dns.1.status=disabled +dhcpd.1.dns.2.server= +dhcpd.1.dns.2.status=disabled +dhcpd.1.devname=eth0 +dhcpd.1.dnsproxy=enabled +dhcpd.1.end=10.6.5.254 +dhcpd.1.lease_time=600 +dhcpd.1.netmask=255.255.255.0 +dhcpd.1.start=10.6.4.2 +dhcpd.2.status=enabled +dhcpd.2.dns.1.server= +dhcpd.2.dns.1.status=enabled +dhcpd.2.dns.2.server= +dhcpd.2.dns.2.status=enabled +dhcpd.2.devname=eth0.101 +dhcpd.2.dnsproxy=disabled +dhcpd.2.end=10.6.8.254 +dhcpd.2.lease_time=3600 +dhcpd.2.netmask=255.255.255.0 +dhcpd.2.start=10.6.8.2 +dhcpd.3.status=enabled +dhcpd.3.dns.1.server= +dhcpd.3.dns.1.status=enabled +dhcpd.3.dns.2.server= +dhcpd.3.dns.2.status=enabled +dhcpd.3.devname=eth0.102 +dhcpd.3.dnsproxy=disabled +dhcpd.3.end=10.6.9.254 +dhcpd.3.lease_time=3600 +dhcpd.3.netmask=255.255.255.0 +dhcpd.3.start=10.6.9.2 +dhcpd.4.status=enabled +dhcpd.4.dns.1.server= +dhcpd.4.dns.1.status=enabled +dhcpd.4.dns.2.server= +dhcpd.4.dns.2.status=enabled +dhcpd.4.devname=eth0.103 +dhcpd.4.dnsproxy=disabled +dhcpd.4.end=10.6.10.254 +dhcpd.4.lease_time=3600 +dhcpd.4.netmask=255.255.255.0 +dhcpd.4.start=10.6.10.2 +dhcpd.5.status=enabled +dhcpd.5.dns.1.server= +dhcpd.5.dns.1.status=enabled +dhcpd.5.dns.2.server= +dhcpd.5.dns.2.status=enabled +dhcpd.5.devname=eth0.104 +dhcpd.5.dnsproxy=disabled +dhcpd.5.end=10.6.11.254 +dhcpd.5.lease_time=3600 +dhcpd.5.netmask=255.255.255.0 +dhcpd.5.start=10.6.11.2 +discovery.cdp.status=enabled +discovery.status=enabled +dyndns.status=disabled +ebtables.status=enabled +ebtables.sys.arpnat.1.devname=ath0 +ebtables.sys.arpnat.1.status=enabled +ebtables.sys.arpnat.status=disabled +ebtables.sys.eap.1.devname=ath0 +ebtables.sys.eap.1.status=enabled +ebtables.sys.eap.status=enabled +ebtables.sys.status=enabled +ebtables.sys.vlan.status=enabled +ebtables.sys.vlan.1.status=enabled +ebtables.sys.vlan.1.devname=eth0 +ebtables.sys.vlan.1.id=101 +ebtables.sys.vlan.1.comment=switchport 1 +ebtables.sys.vlan.2.status=enabled +ebtables.sys.vlan.2.devname=eth0 +ebtables.sys.vlan.2.id=102 +ebtables.sys.vlan.2.comment=switchport 2 +ebtables.sys.vlan.3.status=enabled +ebtables.sys.vlan.3.devname=eth0 +ebtables.sys.vlan.3.id=103 +ebtables.sys.vlan.3.comment=switchport 3 +ebtables.sys.vlan.4.status=enabled +ebtables.sys.vlan.4.devname=eth0 +ebtables.sys.vlan.4.id=104 +ebtables.sys.vlan.4.comment=switchport 4 +gui.language=en_US +gui.network.advanced.status=enabled +httpd.https.port=443 +httpd.https.status=enabled +httpd.port=80 +httpd.session.timeout=900 +httpd.status=enabled +ip6tables.status=disabled +iptables.status=enabled +iptables.1.status=enabled +iptables.1.cmd=-A FIREWALL --src 10.6.8.0/22 --dst 192.168.42.1/32 -j ACCEPT +iptables.1.comment=allow outgoing connection to the server and the rest of the internet +iptables.2.status=enabled +iptables.2.cmd=-A FIREWALL --src 10.6.8.0/22 --dst ! 192.168.42.0/24 -j ACCEPT +iptables.2.comment=only allow traffic from correct subnet, disallow management access +iptables.3.status=enabled +iptables.3.cmd=-A FIREWALL -i br0 -j ACCEPT +iptables.3.comment=accept all incoming traffic from wlan. this ist important to avoid the management rules from ubiquiti, which disallows incoming connections to the management interface +iptables.4.status=enabled +iptables.4.cmd=-A FIREWALL -i eth0 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.4.comment=allow DHCP, dhcpclients use 0.0.0.0 until they get an adress +iptables.5.status=enabled +iptables.5.cmd=-A FIREWALL -i eth0.101 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.5.comment=allow dhcp +iptables.6.status=enabled +iptables.6.cmd=-A FIREWALL -i eth0.102 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.6.comment=allow dhcp +iptables.7.status=enabled +iptables.7.cmd=-A FIREWALL -i eth0.103 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.7.comment=allow dhcp +iptables.8.status=enabled +iptables.8.cmd=-A FIREWALL -i eth0.104 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.8.comment=allow dhcp +iptables.9.status=enabled +iptables.9.cmd=-A FIREWALL -j DROP +iptables.9.comment=disallow anything else +iptables.sys.dmz.status=disabled +iptables.sys.fw.status=enabled +iptables.sys.masq.status=disabled +iptables.sys.mgmt.1.devname=br0 +iptables.sys.mgmt.1.status=disabled +iptables.sys.mgmt.status=disabled +iptables.sys.portfw.status=disabled +iptables.sys.status=enabled +iptables.sys.upnpd.status=disabled +iptables.sys.upnpd.devname= +netconf.status=enabled +netconf.1.status=enabled +netconf.1.devname=br0 +netconf.1.mtu=1500 +netconf.1.role=wan +netconf.1.autoip.status=disabled +netconf.1.hwaddr.status=disabled +netconf.1.hwaddr.mac= +netconf.1.ip=0.0.0.0 +netconf.1.netmask=255.255.255.0 +netconf.1.promisc=enabled +netconf.1.up=enabled +netconf.2.status=enabled +netconf.2.devname=eth0 +netconf.2.mtu=1500 +netconf.2.role=bridge_port +netconf.2.autoip.status=disabled +netconf.2.hwaddr.status=disabled +netconf.2.hwaddr.mac= +netconf.2.ip=0.0.0.0 +netconf.2.netmask=255.255.255.0 +netconf.2.promisc=enabled +netconf.2.up=enabled +netconf.3.status=enabled +netconf.3.devname=eth0.101 +netconf.3.mtu=1500 +netconf.3.role=lan +netconf.3.autoip.status=disabled +netconf.3.hwaddr.status=disabled +netconf.3.hwaddr.mac= +netconf.3.ip=10.6.8.1 +netconf.3.netmask=255.255.255.0 +netconf.3.up=enabled +netconf.4.status=enabled +netconf.4.devname=eth0.102 +netconf.4.mtu=1500 +netconf.4.role=lan +netconf.4.autoip.status=disabled +netconf.4.hwaddr.status=disabled +netconf.4.hwaddr.mac= +netconf.4.ip=10.6.9.1 +netconf.4.netmask=255.255.255.0 +netconf.4.up=enabled +netconf.5.status=disabled +netconf.5.devname=br0 +netconf.5.mtu=1500 +netconf.5.role= +netconf.5.autoip.status=disabled +netconf.5.hwaddr.status=disabled +netconf.5.hwaddr.mac= +netconf.5.up=enabled +netconf.6.status=enabled +netconf.6.devname=ath0 +netconf.6.mtu=1500 +netconf.6.role=bridge_port +netconf.6.autoip.status=disabled +netconf.6.hwaddr.status=disabled +netconf.6.hwaddr.mac= +netconf.6.ip=0.0.0.0 +netconf.6.netmask=255.255.255.0 +netconf.6.up=enabled +netconf.7.status=disabled +netconf.7.devname=br0 +netconf.7.mtu=1500 +netconf.7.role=mlan +netconf.7.autoip.status=disabled +netconf.7.hwaddr.status=disabled +netconf.7.hwaddr.mac= +netconf.7.up=enabled +netconf.8.status=enabled +netconf.8.devname=eth0.103 +netconf.8.mtu=1500 +netconf.8.role=lan +netconf.8.autoip.status=disabled +netconf.8.hwaddr.status=disabled +netconf.8.hwaddr.mac= +netconf.8.ip=10.6.10.1 +netconf.8.netmask=255.255.255.0 +netconf.8.up=enabled +netconf.9.status=enabled +netconf.9.devname=eth0.104 +netconf.9.mtu=1500 +netconf.9.role=lan +netconf.9.autoip.status=disabled +netconf.9.hwaddr.status=disabled +netconf.9.hwaddr.mac= +netconf.9.ip=10.6.11.1 +netconf.9.netmask=255.255.255.0 +netconf.9.up=enabled +netmode=router +ntpclient.status=disabled +ppp.status=disabled +pwdog.status=disabled +radio.1.ack.auto=enabled +radio.1.ackdistance=600 +radio.1.acktimeout=25 +radio.1.antenna.gain=16 +radio.1.antenna.id=4 +radio.1.cable.loss=0 +radio.1.chanbw=40 +radio.1.countrycode=276 +radio.1.cwm.enable=0 +radio.1.cwm.mode=1 +radio.1.devname=ath0 +radio.1.dfs.status=enabled +radio.1.forbiasauto=0 +radio.1.ieee_mode=11naht40 +radio.1.mcastrate=15 +radio.1.mode=managed +radio.1.obey=enabled +radio.1.polling=enabled +radio.1.pollingnoack=0 +radio.1.pollingpri= +radio.1.rate.auto=enabled +radio.1.rate.mcs=15 +radio.1.reg_obey=enabled +radio.1.status=enabled +radio.1.subsystemid=0xe815 +radio.1.txpower=20 +radio.countrycode=276 +radio.rate_module=atheros +radio.status=enabled +resolv.status=disabled +resolv.host.1.name=ida39_1 +resolv.host.1.status=enabled +resolv.nameserver.1.ip= +resolv.nameserver.1.status=enabled +resolv.nameserver.2.ip= +resolv.nameserver.2.status=enabled +route.status=enabled +route.1.ip= +route.1.netmask= +route.1.gateway= +route.1.comment= +route.1.status=disabled +route6.status=enabled +route6.1.ip= +route6.1.netmask= +route6.1.gateway= +route6.1.comment= +route6.1.status=enabled +snmp.community=reudnetz +snmp.contact=reudnetz +snmp.location=reudnetz +snmp.status=enabled +sshd.auth.key.1.comment=yannik@Hydrogen +sshd.auth.key.1.status=enabled +sshd.auth.key.1.type=ssh-rsa +sshd.auth.key.1.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQDelf/wYfaV9MgefRzySO9cH8F9zswsYZ5i/huq73VpxQd6VJWsLxMUdaevkeA2v4QgTdweh2sWFSdZoTskmh0JvfQw4GVO0kZBVtTqrh8jf/9arMGGnkMyp7qbfZr1Ewa/SAeGU/XX4XhmFda8D38oKdhpX5FVmbOXu2cpWOz/hLLcRm4GNXGsApJfqrmUEXrRHxQCUEYG2Gi6Q3GbbSKbt0rskfMQ4O5TDSwvPsI8yJVC7dCxVSIPmXjysTfRkXSAVZOBGfiZBKeUCaEiZ20rTbhJkXOlAVVsnhf2mfLOpgx7+/g0g/tceU3RxWkSjizcdWyWYBbXroVtf22Zu6+H +sshd.auth.key.2.comment=a@echo +sshd.auth.key.2.status=enabled +sshd.auth.key.2.type=ssh-rsa +sshd.auth.key.2.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQC9gm2ycpPksVSTPAHFa3FW93nIW0kLo7+U4c6yj0Ggxn0TeTvmtR/+wFwAWo6u6ftDAqkErykDkFg7/T566/Nsxxhl/Gzv82yVZvE8TeyOI282w9rOjhIWMwXYzBUtgDau8hfT57XezfCy1cJphvyEWqbf1c7FLVAQ6JItTsVXeUz0OBD3xF2lCp98UpEM8QdPaIl3hcGasyZE649z4ba1aWg6yHpPum65ZhRrFom/79/AVjAX/1U21XUkqaUQzfakbhWi2CXlty5CLrc6XNyizMfbGuktiQJ1ytE9z5+hpVIl3YjG7VIoutvfbtz3e887Ye7sR/jU4DKBaoyG7fAR +sshd.auth.key.3.comment=amanita@reudnetz.org +sshd.auth.key.3.status=enabled +sshd.auth.key.3.type=ssh-rsa +sshd.auth.key.3.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQDUIZhEESnVUtjYgbxheBWMDVMU10r0PviGUhH14ar88SITx+dO5z28ACUPL6pFqni/gYW2bd1MDRUVskV+O+Z/rVAxwjokADGHXmWbUPeB1fy2t1RZ6iQ/85eLR4A4KDG/pMabhvVhM+u+TqKE6YlWwNrd9eKyeuDMm7gHcTjPetdacmdwDRzEwEYfT5I1xNFv7R0G8HzlFQbxqlYBvpuH1zOeI7MgPHR8K8a3E4AtLqxMcC+fNdJQYB+ksFVM2TrpOSCwcIEqzjtonaUL648N3fLZVgCmq5CzY8aGdBCLy/mnM/npUY9Io1SiP4g7X1Dio+iNdwzxOvw/7yOUrDxKCtTYXhOaYHWluhFtPXqJddpEsIPOuFSgdWLsDMfoYEAf8427TRWj0Eg73dNP5YImmlvbW5nkKRsibLBtMJLbamMF3hsjoKvpIcLO/vnGPPL0ZN6g759dTrdfnodW1tRr4ckPNi2254pkJg6KqnwjnqAGr/pWWmYb4t+sNHwUZCfLq/pw8X0CfarbqeNddt2sHYmGfnzVJ5oZv3fbLqB45iAR7FRpngY3lDE4ejZVMZGVzeztZKsBK3M801ZhEu49LTm5CDVs9/XtesloknNTSBk1GLVDC4oeQJ3GuRsQCOh/5NMgsYC4HgEJcyad5grzO/xre7ZcNMtCi/w8aMAJMQ== +sshd.auth.key.4.comment=inocybe@reudnetz.org +sshd.auth.key.4.status=enabled +sshd.auth.key.4.type=ssh-rsa +sshd.auth.key.4.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC7v7FvkxQ/DpCMhbqYLlxGP+YRvE2S+ofyi8O4w/0MuxFruWvmXud1UDhCyKl2YZKTuWOUhduf9ESljL+T6Oqm0tOPBZ5YBvvyV10j8uSgmlZBGdaJJjoWOvM2vCddW5WqZg19wnIfYHyPrpr48FRuKn3ZCBg9UmvwoSR46IL96bIfgzCDEkRySQ/JM2ACGXWrK3ftKvCkfFF90M4e9pXtyZyO1Dk/Wo+IGpZj3JGsLxzF3onAQ/Jueb0kBFpo36sz71iD7aj3ZehuLfFkLwiwLif07/pRob20h1vq6FeOg6JcbBDQU2TluneZ94RT+hplxjG99DD11sOXgAHWREOMsyqaAISeH8VGp4UdTw36F2i5z+gpBmrSBFaMxFm3iPI4ROu6EeKD92jq5ymADICuXn9UdcddYi+6fyhP+SuxS3KYuAWIjXi35wrHjxN5YLL56CBN2i0VeJ4AXIo4+oIIXIBy9KZYZKxsftGOm8/nnErpmFDX63Vqxd+vDY/JUUAswcWxnOdba97FKORBEnagchoCgxHK22yIbY38W1jXa3tq2XxIlAACRxLdYrF1Lp2sIZxtAkPcCC2JlhJYLwadFDYllxcn5d7npIV3y2R3aghyOKjxqPzPDnPF+7B/3zWOYSohkHvkFxNIuL20kocdcHVCukAXRCd+LdRFzWUU3w== +sshd.auth.key.5.comment=gnummig@gmail.com +sshd.auth.key.5.status=enabled +sshd.auth.key.5.type=ssh-rsa +sshd.auth.key.5.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC4W5CtqmLJj+lWzethWfBra9ogI6W30HQWCrRfccEi236lcpsX5k6O+suEoA7HwVDzcIonHMdahlrB8Z7cW8AubJ2ykhNWk/0oVN8TF6eUNS8XoridNwAE7zSOOxP7O2A1x+sGH2PuCBtVpZvgETTsothnZJH1bs2ya3pn8l/NJg2VUnj7bxcK89nMQUH6Y+m0d2faJnOJJEx6e4k25buTR6/osjJd7fd/lFS8H1qWgN3mM891yMlpW9F+be+NQfpyo6QktT+aMkRsosAqAwtsAVECvXdEDhyge2XJHPAaYREnHKN5SNJifOrB3evMDdJRUshu1jXOIEOJJueQhIPfJuriCR+WH6YmG2XZ3nkPpk/aqCaWMnXWpNrbsiTFVRsAzrvKU8RQtfnWU3PD358dcpmTAhA+5rHgYAYQiNovwQb6BvxebX6aKIrSWWj5tnrfhykRe4gWhMHQe5E2fxB1yx3H/Hxwwc3d/uIB6utrckP2vUKksjd0eXb218hGLtCJJ3WWl3sgJpVMCB5yOoXePf6q0oSmbb6oNDl3ILMhFV7tc8ezIdMmpZNIxkobA5Kfm/Oujx2tFw52FiwmR5EPJfZojeZa81iplH0f652isACijmSI/WdHGpejca/1s3P888GxH/G9Flln8vI/qQ1cFryy1+AAuFDhULdUYu50gQ== +sshd.auth.passwd=disabled +sshd.port=22 +sshd.status=enabled +syslog.remote.status=disabled +syslog.remote.tcp.status=disabled +syslog.status=disabled +system.button.reset=disabled +system.cfg.version=65546 +system.date.status=disabled +system.date.timestamp= +system.eirp.status=disabled +system.latitude= +system.longitude= +system.timezone=GMT +telnetd.status=disabled +tshaper.status=disabled +update.check.status=enabled +upnpd.status=disabled +upnpd.devname= +users.1.name=reudnetz +users.1.password=$1$FC5eCMsQ$/d9KTwkbqMxAOWXS9SehB0 +users.1.status=enabled +users.2.status=disabled +users.status=enabled +vlan.status=enabled +vlan.1.status=enabled +vlan.1.devname=eth0 +vlan.1.id=101 +vlan.1.comment=switchport 1 +vlan.2.status=enabled +vlan.2.devname=eth0 +vlan.2.id=102 +vlan.2.comment=switchport 2 +vlan.3.status=enabled +vlan.3.devname=eth0 +vlan.3.id=103 +vlan.3.comment=switchport 3 +vlan.4.status=enabled +vlan.4.devname=eth0 +vlan.4.id=104 +vlan.4.comment=switchport 4 +wireless.1.addmtikie=enabled +wireless.1.ap= +wireless.1.authmode=1 +wireless.1.devname=ath0 +wireless.1.hide_ssid=disabled +wireless.1.scan_list.channels= +wireless.1.scan_list.status=disabled +wireless.1.security.type=none +wireless.1.ssid=smogsmog +wireless.1.status=enabled +wireless.1.wds.status=enabled +wireless.hideindoor.status=disabled +wireless.status=enabled +wpasupplicant.device.1.devname=ath0 +wpasupplicant.device.1.driver=madwifi +wpasupplicant.device.1.profile=WPA-PSK +wpasupplicant.device.1.status=enabled +wpasupplicant.profile.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.bssid= +wpasupplicant.profile.1.network.1.eap.1.status=disabled +wpasupplicant.profile.1.network.1.key_mgmt.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.pairwise.1.name=CCMP +wpasupplicant.profile.1.network.1.proto.1.name=RSN +wpasupplicant.profile.1.network.1.psk=gibhiereinpasswortein +wpasupplicant.profile.1.network.1.ssid=smogsmog +wpasupplicant.status=enabled diff --git a/technikzeugs/configs/AirOS/station.cfg b/technikzeugs/configs/AirOS/station.cfg new file mode 100644 index 0000000..4518a51 --- /dev/null +++ b/technikzeugs/configs/AirOS/station.cfg @@ -0,0 +1,228 @@ +aaa.1.status=disabled +aaa.1.wpa.psk=gibthiereinpasswortein +aaa.status=disabled +bridge.status=disabled +dhcp6c.status=disabled +dhcp6d.status=disabled +dhcpc.1.devname=ath0 +dhcpc.1.fallback=192.168.10.1 +dhcpc.1.fallback_netmask=255.255.255.0 +dhcpc.1.status=enabled +dhcpc.status=enabled +dhcpd.1.devname=eth0 +dhcpd.1.dns.1.server= +dhcpd.1.dns.1.status=disabled +dhcpd.1.dns.2.server= +dhcpd.1.dns.2.status=disabled +dhcpd.1.dnsproxy=enabled +dhcpd.1.end=10.6.5.254 +dhcpd.1.lease_time=600 +dhcpd.1.netmask=255.255.255.0 +dhcpd.1.start=10.6.5.2 +dhcpd.1.status=enabled +dhcpd.status=enabled +discovery.cdp.status=enabled +discovery.status=enabled +dyndns.status=disabled +ebtables.status=disabled +ebtables.sys.arpnat.status=disabled +ebtables.sys.eap.1.devname=ath0 +ebtables.sys.eap.1.status=enabled +ebtables.sys.eap.status=enabled +ebtables.sys.status=disabled +ebtables.sys.vlan.status=disabled +gui.language=en_US +gui.network.advanced.status=enabled +httpd.https.port=443 +httpd.https.status=enabled +httpd.port=80 +httpd.session.timeout=900 +httpd.status=enabled +ip6tables.status=disabled +iptables.1.cmd=-A FIREWALL -i eth0 --src 10.6.5.0/24 --dst 192.168.42.1/32 -j ACCEPT +iptables.1.comment=allow outgoing connection to the server and the rest of the internet +iptables.1.status=enabled +iptables.2.cmd=-A FIREWALL -i eth0 --src 10.6.5.0/24 --dst ! 192.168.42.0/24 -j ACCEPT +iptables.2.comment=only allow traffic from correct subnet, disallow management access +iptables.2.status=enabled +iptables.3.cmd=-A FIREWALL -i ath0 -j ACCEPT +iptables.3.comment=accept all incoming traffic from wlan. this ist important to avoid the management rules from ubiquiti, which disallows incoming connections to the management interface +iptables.3.status=enabled +iptables.4.cmd=-A FIREWALL -i eth0 --protocol 17 --src 0.0.0.0/0 --sport 67:68 --dport 67:68 -j ACCEPT +iptables.4.comment=allow DHCP, dhcpclients use 0.0.0.0 until they get an adress +iptables.4.status=enabled +iptables.5.cmd=-A FIREWALL -j LOG +iptables.5.comment=log anything else +iptables.5.status=enabled +iptables.6.cmd=-A FIREWALL -j DROP +iptables.6.comment=disallow anything else +iptables.6.status=enabled +iptables.status=enabled +iptables.sys.dmz.status=disabled +iptables.sys.fw.status=enabled +iptables.sys.masq.status=disabled +iptables.sys.mgmt.1.devname=ath0 +iptables.sys.mgmt.1.status=enabled +iptables.sys.mgmt.status=enabled +iptables.sys.portfw.status=disabled +iptables.sys.status=enabled +iptables.sys.upnpd.devname= +iptables.sys.upnpd.status=disabled +netconf.1.autoip.status=disabled +netconf.1.devname=ath0 +netconf.1.hwaddr.mac= +netconf.1.hwaddr.status=disabled +netconf.1.ip=0.0.0.0 +netconf.1.mtu=1500 +netconf.1.netmask=255.255.255.0 +netconf.1.promisc=enabled +netconf.1.role=wan +netconf.1.status=enabled +netconf.1.up=enabled +netconf.2.autoip.status=disabled +netconf.2.devname=eth0 +netconf.2.hwaddr.mac= +netconf.2.hwaddr.status=disabled +netconf.2.ip=10.6.5.1 +netconf.2.mtu=1500 +netconf.2.netmask=255.255.255.0 +netconf.2.promisc=enabled +netconf.2.role=lan +netconf.2.status=enabled +netconf.2.up=enabled +netconf.3.autoip.status=disabled +netconf.3.devname=ath0 +netconf.3.hwaddr.mac= +netconf.3.hwaddr.status=disabled +netconf.3.mtu=1500 +netconf.3.role=mlan +netconf.3.status=disabled +netconf.3.up=enabled +netconf.status=enabled +netmode=router +ntpclient.status=disabled +ppp.status=disabled +pwdog.status=disabled +radio.1.ack.auto=enabled +radio.1.ackdistance=600 +radio.1.acktimeout=25 +radio.1.antenna.gain=16 +radio.1.antenna.id=4 +radio.1.cable.loss=0 +radio.1.chanbw=40 +radio.1.countrycode=276 +radio.1.cwm.enable=0 +radio.1.cwm.mode=1 +radio.1.devname=ath0 +radio.1.dfs.status=enabled +radio.1.forbiasauto=0 +radio.1.ieee_mode=11naht40 +radio.1.mcastrate=15 +radio.1.mode=managed +radio.1.obey=enabled +radio.1.polling=enabled +radio.1.pollingnoack=0 +radio.1.pollingpri= +radio.1.rate.auto=enabled +radio.1.rate.mcs=15 +radio.1.reg_obey=enabled +radio.1.status=enabled +radio.1.subsystemid=0xe815 +radio.1.txpower=20 +radio.countrycode=276 +radio.rate_module=atheros +radio.status=enabled +resolv.host.1.name=NanoBeam M5 16 +resolv.host.1.status=enabled +resolv.nameserver.1.ip= +resolv.nameserver.1.status=enabled +resolv.nameserver.2.ip= +resolv.nameserver.2.status=enabled +resolv.status=disabled +route.1.comment= +route.1.gateway= +route.1.ip= +route.1.netmask= +route.1.status=disabled +route.status=enabled +route6.1.comment= +route6.1.gateway= +route6.1.ip= +route6.1.netmask= +route6.1.status=enabled +route6.status=enabled +snmp.community=reudnetz +snmp.contact=reudnetz +snmp.location=reudnetz +snmp.status=enabled +sshd.auth.key.1.comment=yannik@Hydrogen +sshd.auth.key.1.status=enabled +sshd.auth.key.1.type=ssh-rsa +sshd.auth.key.1.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQDelf/wYfaV9MgefRzySO9cH8F9zswsYZ5i/huq73VpxQd6VJWsLxMUdaevkeA2v4QgTdweh2sWFSdZoTskmh0JvfQw4GVO0kZBVtTqrh8jf/9arMGGnkMyp7qbfZr1Ewa/SAeGU/XX4XhmFda8D38oKdhpX5FVmbOXu2cpWOz/hLLcRm4GNXGsApJfqrmUEXrRHxQCUEYG2Gi6Q3GbbSKbt0rskfMQ4O5TDSwvPsI8yJVC7dCxVSIPmXjysTfRkXSAVZOBGfiZBKeUCaEiZ20rTbhJkXOlAVVsnhf2mfLOpgx7+/g0g/tceU3RxWkSjizcdWyWYBbXroVtf22Zu6+H +sshd.auth.key.2.comment=a@echo +sshd.auth.key.2.status=enabled +sshd.auth.key.2.type=ssh-rsa +sshd.auth.key.2.value=AAAAB3NzaC1yc2EAAAADAQABAAABAQC9gm2ycpPksVSTPAHFa3FW93nIW0kLo7+U4c6yj0Ggxn0TeTvmtR/+wFwAWo6u6ftDAqkErykDkFg7/T566/Nsxxhl/Gzv82yVZvE8TeyOI282w9rOjhIWMwXYzBUtgDau8hfT57XezfCy1cJphvyEWqbf1c7FLVAQ6JItTsVXeUz0OBD3xF2lCp98UpEM8QdPaIl3hcGasyZE649z4ba1aWg6yHpPum65ZhRrFom/79/AVjAX/1U21XUkqaUQzfakbhWi2CXlty5CLrc6XNyizMfbGuktiQJ1ytE9z5+hpVIl3YjG7VIoutvfbtz3e887Ye7sR/jU4DKBaoyG7fAR +sshd.auth.key.3.comment=amanita@reudnetz.org +sshd.auth.key.3.status=enabled +sshd.auth.key.3.type=ssh-rsa +sshd.auth.key.3.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQDUIZhEESnVUtjYgbxheBWMDVMU10r0PviGUhH14ar88SITx+dO5z28ACUPL6pFqni/gYW2bd1MDRUVskV+O+Z/rVAxwjokADGHXmWbUPeB1fy2t1RZ6iQ/85eLR4A4KDG/pMabhvVhM+u+TqKE6YlWwNrd9eKyeuDMm7gHcTjPetdacmdwDRzEwEYfT5I1xNFv7R0G8HzlFQbxqlYBvpuH1zOeI7MgPHR8K8a3E4AtLqxMcC+fNdJQYB+ksFVM2TrpOSCwcIEqzjtonaUL648N3fLZVgCmq5CzY8aGdBCLy/mnM/npUY9Io1SiP4g7X1Dio+iNdwzxOvw/7yOUrDxKCtTYXhOaYHWluhFtPXqJddpEsIPOuFSgdWLsDMfoYEAf8427TRWj0Eg73dNP5YImmlvbW5nkKRsibLBtMJLbamMF3hsjoKvpIcLO/vnGPPL0ZN6g759dTrdfnodW1tRr4ckPNi2254pkJg6KqnwjnqAGr/pWWmYb4t+sNHwUZCfLq/pw8X0CfarbqeNddt2sHYmGfnzVJ5oZv3fbLqB45iAR7FRpngY3lDE4ejZVMZGVzeztZKsBK3M801ZhEu49LTm5CDVs9/XtesloknNTSBk1GLVDC4oeQJ3GuRsQCOh/5NMgsYC4HgEJcyad5grzO/xre7ZcNMtCi/w8aMAJMQ== +sshd.auth.key.4.comment=inocybe@reudnetz.org +sshd.auth.key.4.status=enabled +sshd.auth.key.4.type=ssh-rsa +sshd.auth.key.4.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC7v7FvkxQ/DpCMhbqYLlxGP+YRvE2S+ofyi8O4w/0MuxFruWvmXud1UDhCyKl2YZKTuWOUhduf9ESljL+T6Oqm0tOPBZ5YBvvyV10j8uSgmlZBGdaJJjoWOvM2vCddW5WqZg19wnIfYHyPrpr48FRuKn3ZCBg9UmvwoSR46IL96bIfgzCDEkRySQ/JM2ACGXWrK3ftKvCkfFF90M4e9pXtyZyO1Dk/Wo+IGpZj3JGsLxzF3onAQ/Jueb0kBFpo36sz71iD7aj3ZehuLfFkLwiwLif07/pRob20h1vq6FeOg6JcbBDQU2TluneZ94RT+hplxjG99DD11sOXgAHWREOMsyqaAISeH8VGp4UdTw36F2i5z+gpBmrSBFaMxFm3iPI4ROu6EeKD92jq5ymADICuXn9UdcddYi+6fyhP+SuxS3KYuAWIjXi35wrHjxN5YLL56CBN2i0VeJ4AXIo4+oIIXIBy9KZYZKxsftGOm8/nnErpmFDX63Vqxd+vDY/JUUAswcWxnOdba97FKORBEnagchoCgxHK22yIbY38W1jXa3tq2XxIlAACRxLdYrF1Lp2sIZxtAkPcCC2JlhJYLwadFDYllxcn5d7npIV3y2R3aghyOKjxqPzPDnPF+7B/3zWOYSohkHvkFxNIuL20kocdcHVCukAXRCd+LdRFzWUU3w== +sshd.auth.key.5.comment=gnummig@gmail.com +sshd.auth.key.5.status=enabled +sshd.auth.key.5.type=ssh-rsa +sshd.auth.key.5.value=AAAAB3NzaC1yc2EAAAADAQABAAACAQC4W5CtqmLJj+lWzethWfBra9ogI6W30HQWCrRfccEi236lcpsX5k6O+suEoA7HwVDzcIonHMdahlrB8Z7cW8AubJ2ykhNWk/0oVN8TF6eUNS8XoridNwAE7zSOOxP7O2A1x+sGH2PuCBtVpZvgETTsothnZJH1bs2ya3pn8l/NJg2VUnj7bxcK89nMQUH6Y+m0d2faJnOJJEx6e4k25buTR6/osjJd7fd/lFS8H1qWgN3mM891yMlpW9F+be+NQfpyo6QktT+aMkRsosAqAwtsAVECvXdEDhyge2XJHPAaYREnHKN5SNJifOrB3evMDdJRUshu1jXOIEOJJueQhIPfJuriCR+WH6YmG2XZ3nkPpk/aqCaWMnXWpNrbsiTFVRsAzrvKU8RQtfnWU3PD358dcpmTAhA+5rHgYAYQiNovwQb6BvxebX6aKIrSWWj5tnrfhykRe4gWhMHQe5E2fxB1yx3H/Hxwwc3d/uIB6utrckP2vUKksjd0eXb218hGLtCJJ3WWl3sgJpVMCB5yOoXePf6q0oSmbb6oNDl3ILMhFV7tc8ezIdMmpZNIxkobA5Kfm/Oujx2tFw52FiwmR5EPJfZojeZa81iplH0f652isACijmSI/WdHGpejca/1s3P888GxH/G9Flln8vI/qQ1cFryy1+AAuFDhULdUYu50gQ== +sshd.auth.passwd=disabled +sshd.port=22 +sshd.status=enabled +syslog.remote.status=disabled +syslog.remote.tcp.status=disabled +syslog.status=disabled +system.button.reset=disabled +system.cfg.version=65546 +system.date.status=disabled +system.date.timestamp= +system.eirp.status=disabled +system.latitude= +system.longitude= +system.timezone=GMT +telnetd.status=disabled +tshaper.status=disabled +update.check.status=enabled +upnpd.devname= +upnpd.status=disabled +users.1.name=reudnetz +users.1.password=$1$FC5eCMsQ$/d9KTwkbqMxAOWXS9SehB0 +users.1.status=enabled +users.2.status=disabled +users.status=enabled +vlan.status=disabled +wireless.1.addmtikie=enabled +wireless.1.ap= +wireless.1.authmode=1 +wireless.1.devname=ath0 +wireless.1.hide_ssid=disabled +wireless.1.scan_list.channels= +wireless.1.scan_list.status=disabled +wireless.1.security.type=none +wireless.1.ssid=slowpoke +wireless.1.status=enabled +wireless.1.wds.status=enabled +wireless.hideindoor.status=disabled +wireless.status=enabled +wpasupplicant.device.1.devname=ath0 +wpasupplicant.device.1.driver=madwifi +wpasupplicant.device.1.profile=WPA-PSK +wpasupplicant.device.1.status=enabled +wpasupplicant.profile.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.bssid= +wpasupplicant.profile.1.network.1.eap.1.status=disabled +wpasupplicant.profile.1.network.1.key_mgmt.1.name=WPA-PSK +wpasupplicant.profile.1.network.1.pairwise.1.name=CCMP +wpasupplicant.profile.1.network.1.proto.1.name=RSN +wpasupplicant.profile.1.network.1.psk=gibthiereinpasswortein +wpasupplicant.profile.1.network.1.ssid=slowpoke +wpasupplicant.status=enabled diff --git a/technikzeugs/configs/LEDE/router_4_subnets/README.md b/technikzeugs/configs/LEDE/router_4_subnets/README.md new file mode 100644 index 0000000..a933dc4 --- /dev/null +++ b/technikzeugs/configs/LEDE/router_4_subnets/README.md @@ -0,0 +1,21 @@ +# Router mit 4 Subnetzen in 4 VLANs + +Konkret wurde ein Ubnt EdgeRouter X (SFP) konfiguriert. + +Es werden zuerst 4 Interfaces definiert, eth_1 bis eth_4 (WAN an dem Router +auf eth_0). Jedes Interface bekommt eine IP Adresse entsprechend des Subnetzes. +Wichtig scheint `interface` zu sein was gleich für den DHCP Server (dnsmasq) +benutzt wird. `ifname` scheint beliebig zu zu sein. + +Alles Interfaces bekommen ein eigenes VLAN, Standard ist VLAN 1 für LAN und VLAN +2 für WAN. Wir haben kein LAN sondern direkt WAN mit den einzelnen Subnetzen +verbunden. Also immer ` 6t` (6t für *getaggt* an CPU). + +Die LAN VLANs fangen einfach mit 101 aufwärts an (da VLAN 2 für WAN). + +Jedem Interface wird dann ein DHCP Server zugeordnet, dabei wird das vorher +angegebene `ifname` hier zum `interface` + + +# vim options +# set tw=80 diff --git a/technikzeugs/configs/LEDE/router_4_subnets/dhcp b/technikzeugs/configs/LEDE/router_4_subnets/dhcp new file mode 100644 index 0000000..4c82d6a --- /dev/null +++ b/technikzeugs/configs/LEDE/router_4_subnets/dhcp @@ -0,0 +1,59 @@ + +config dnsmasq + option domainneeded '1' + option boguspriv '1' + option filterwin2k '0' + option localise_queries '1' + option rebind_protection '1' + option rebind_localhost '1' + option local '/lan/' + option domain 'lan' + option expandhosts '1' + option nonegcache '0' + option authoritative '1' + option readethers '1' + option leasefile '/tmp/dhcp.leases' + option resolvfile '/tmp/resolv.conf.auto' + option localservice '1' + +config dhcp 'lan' + option interface 'lan' + option start '100' + option limit '150' + option leasetime '12h' + option dhcpv6 'server' + option ra 'server' + +config dhcp 'wan' + option interface 'wan' + option ignore '1' + +config odhcpd 'odhcpd' + option maindhcp '0' + option leasefile '/tmp/hosts/odhcpd' + option leasetrigger '/usr/sbin/odhcpd-update' + +config dhcp 'eth0_1' + option start '100' + option leasetime '12h' + option limit '150' + option interface 'eth0_1' + +config dhcp 'eth0_2' + option start '100' + option leasetime '12h' + option limit '150' + option interface 'eth0_2' + +config dhcp 'eth0_3' + option start '100' + option leasetime '12h' + option limit '150' + option interface 'eth0_3' + +config dhcp 'eth0_4' + option start '100' + option leasetime '12h' + option limit '150' + option interface 'eth0_4' + diff --git a/technikzeugs/configs/LEDE/router_4_subnets/network b/technikzeugs/configs/LEDE/router_4_subnets/network new file mode 100644 index 0000000..345885f --- /dev/null +++ b/technikzeugs/configs/LEDE/router_4_subnets/network @@ -0,0 +1,88 @@ + +config interface 'loopback' + option ifname 'lo' + option proto 'static' + option ipaddr '127.0.0.1' + option netmask '255.0.0.0' + +config globals 'globals' + option ula_prefix 'fdb1:00b1:0ffb::/48' + +config interface 'lan' + option type 'bridge' + option ifname 'eth0.1' + option proto 'static' + option ipaddr '192.168.1.1' + option netmask '255.255.255.0' + option ip6assign '60' + +config device 'lan_dev' + option name 'eth0.1' + option macaddr '80:2a:a8:de:20:8a' + +config interface 'wan' + option ifname 'eth0.2' + option proto 'dhcp' + +config interface 'eth0_1' + option proto 'static' + option ifname 'eth0.101' + option ipaddr '10.6.19.1' + option netmask '255.255.255.0' + +config interface 'eth0_2' + option proto 'static' + option ifname 'eth0.102' + option ipaddr '10.6.20.1' + option netmask '255.255.255.0' + +config interface 'eth0_3' + option proto 'static' + option ifname 'eth0.103' + option ipaddr '10.6.21.1' + option netmask '255.255.255.0' + +config interface 'eth0_4' + option proto 'static' + option ifname 'eth0.104' + option ipaddr '10.6.22.1' + option netmask '255.255.255.0' + +config device 'wan_dev' + option name 'eth0.2' + option macaddr '80:2a:a8:de:20:8b' + +config interface 'wan6' + option ifname 'eth0.2' + option proto 'dhcpv6' + +config switch + option name 'switch0' + option reset '1' + option enable_vlan '1' + +config switch_vlan + option device 'switch0' + option vlan '2' + option ports '0 6t' + +config switch_vlan + option device 'switch0' + option vlan '101' + option ports '1 6t' + +config switch_vlan + option device 'switch0' + option vlan '102' + option ports '2 6t' + +config switch_vlan + option device 'switch0' + option vlan '103' + option ports '3 6t' + +config switch_vlan + option device 'switch0' + option vlan '104' + option ports '4 6t' + diff --git a/technikzeugs/configs/Readme.md b/technikzeugs/configs/Readme.md new file mode 100644 index 0000000..5df4c60 --- /dev/null +++ b/technikzeugs/configs/Readme.md @@ -0,0 +1,4 @@ +## Config-files +Hier sammeln wir die verschiedenen Konfigurationen von Geräten, die wir einsetzen oder eingesetzt haben. +Dabei wird vor allem zwischen AirOS, dem proprietären Betriebssystem von Ubiquiti und LEDE/openwrt getrennt. + diff --git a/technikzeugs/hardwareinfo/APC-UPS-CS500/APC_UPS-CS500.md b/technikzeugs/hardwareinfo/APC-UPS-CS500/APC_UPS-CS500.md new file mode 100644 index 0000000..2228e54 --- /dev/null +++ b/technikzeugs/hardwareinfo/APC-UPS-CS500/APC_UPS-CS500.md @@ -0,0 +1,50 @@ +## Erstmal Generell + +Die APC-CS500 ist eine USV, sie dient also dazu, bei Stromausfällen die angeschlossenen Geräte mit Strom zu versorgen. +In der Regel ist ein einzelner Bleigelakku eingabaut, es lassen sich aber (mit passenden Kabeln) beliebige Bleibatterien anschließen. + +## Data-Port / Das Interface + +Die USV lässt sich über den Anschluss Data-Port an einen PC anzuschließen, damit dieser den Zustand der Stromversorgung kennt. Der Port ist entgegen meines ersten Eindrucks keine Normale Ethernet-Buchse (RJ-45), sondern hat 10 Pins (RJ-50). Mit einem passenden Kabel lässt sich dieser dann mit einem USB-Anschluss verbinden. Die Kabel haben lustige Preise. + +Ein Ethernet-Stecker passt aber trotzdem in die Buchse. Nur fehlen dann die beiden äußeren Pins. Solange APC keinen der äußeren Pins für USB verwendet, ist das also alles gar kein Problem. Machen sie aber (die Schweine). + +### Das Pinout des Kabel: + +AP9827 cable for CS500 +``` +RJxx end (looking AGAINST the connector): + ------ + | -- 1 - green - USB 3 - USB+ + | -- 2 - white - USB 2 - USB- + | -- 3 + _| -- 4 - black - usb 4 - GND +| | -- 5 +|_| -- 6 + | -- 7 - brown - shield + | -- 8 + | -- 9 + | -- 10 - red - usb 1 - +5V + ------ + +USB end (looking against the connector): + ----- +| | | +| X| | 1 - red - +5V +| | | +| X| | 2 - white - USB- +| | | +| X| | 3 - green - USB+ +| | | +| X| | 4 - black - GND +| | | + ----- shield - brown - SHIELD +``` + +### Die Lösung +Deshalb habe ich auf der Platine der USV Pin 10 mit Pin 6 und Pin 1 mit Pin 5 verbunden. (Die Beiden Pins sind tatsächlich ungenutzt) +Nun lässt sich ein einfacher Ethernetstecker an ein USB-Kabel patchen und die USV mit dem PC verbinden. + +[[/uploads/apc-cs500_umbau.JPG|alt="Die Brücken auf der Platine"]] + + diff --git a/technikzeugs/hardwareinfo/APC-UPS-CS500/apc-cs500_umbau.JPG b/technikzeugs/hardwareinfo/APC-UPS-CS500/apc-cs500_umbau.JPG new file mode 100644 index 0000000..9c46b29 Binary files /dev/null and b/technikzeugs/hardwareinfo/APC-UPS-CS500/apc-cs500_umbau.JPG differ diff --git a/technikzeugs/hardwareinfo/README.md b/technikzeugs/hardwareinfo/README.md new file mode 100644 index 0000000..349e3c0 --- /dev/null +++ b/technikzeugs/hardwareinfo/README.md @@ -0,0 +1,3 @@ +## Wie benutze ich den Ordner Hardware-Info? +Hier erhält jeder Gerätetyp, der zu unserem Netz gehört einen kleinen Eintrag, in dem generelle Informationen zur Hardware gesammelt sind. +Aus den Dokueinträgen der einzelnen Geräte kann dann darauf gelinked werden. diff --git a/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TL-SG3210 CLI Reference Guide.pdf b/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TL-SG3210 CLI Reference Guide.pdf new file mode 100644 index 0000000..0a3ccd2 Binary files /dev/null and b/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TL-SG3210 CLI Reference Guide.pdf differ diff --git a/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TP-Link_jetstream.md b/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TP-Link_jetstream.md new file mode 100644 index 0000000..9f60b2c --- /dev/null +++ b/technikzeugs/hardwareinfo/TP-Link Jetstream TL-SG3210/TP-Link_jetstream.md @@ -0,0 +1,20 @@ +## Den Switch konfigurieren +Der Switch hat eine etwas seltsame Art sich konfigurieren zu lassen. Insbesondere die VLANs sind merkwürdig. + +## Vlans +vlans verwendet man, wenn man eine physikalische verbindung hat, die man aber logisch lieber so behandeln würde, als ob 2 seperate kabel/funkstrecken existieren würden. +vlans funktionieren, indem in den IP-header eine zahl von 1-4094 geschrieben wird (tag). +standardmäßig steht da 1. + +## 802.1Q VLAN +### VLAN Config +Hier kann man einstellen welche vlans es überhaupt gibt. +zum ein neues vlan anlegen auf "create" klicken. jetzt die ports auswählen, an die das vlan angeschlossen werden kann. ein port kann auch zu meheren vlans gehören. Port bezeichnet hier die physikalische lan-reinsteck-möglichkeit. an port 1 hängt meist der server. +zu link type siehe port config. +die egres rule bestimmt, ob an ungetagte pakete einer angehängt werden soll, wenn sie über dieses interface aus dem switch herrausgehen. (wahrscheinlich, further research needed) +### Port Config +Link type: es gibt im endefekt 2 möglichkeiten, access und (general|trunk). +access ist für geräte, die nicht speziell vlans können, oder denen nicht wirklich vertraut werden kann die richtigen tags zu setzen. sie können nur zu einem einzigen vlan gehören, und der tag wird entfernt, wenn ein paket über das interface raus geht, und auf das vlan, zu dem der port gehört gesetzt, wenn über das interface ein paket reinkommt. +general kann zu mehreren vlans gehören. man kann (bei der vlan config) einstellen ob ungetagte pakete getagt oder einfach so durchgeleitet werden sollen. wenn man es auf TAG stellt werden ungetagte pakete auf die pvid gestell. +trunk ist wie general, nur dass immer tag eingestellt ist. +alle angaben ohne gewähr, die switch-doku ist sehr unverständlich, diese information wurde durch experimente angenähert. diff --git a/technikzeugs/hardwareinfo/airos.md b/technikzeugs/hardwareinfo/airos.md new file mode 100644 index 0000000..34db124 --- /dev/null +++ b/technikzeugs/hardwareinfo/airos.md @@ -0,0 +1,2 @@ +### IP-Tables +bei den einstellungen der Firewall-rules ist uns aufgefallen, das von vorneherein eine management rule MNGT existiert, die alle Verbindungen wegschmeisst, die nicht von dem Gerät initiert wurden. diff --git a/technikzeugs/hardwareinfo/enviroment_sensors.md b/technikzeugs/hardwareinfo/enviroment_sensors.md new file mode 100644 index 0000000..dc88da7 --- /dev/null +++ b/technikzeugs/hardwareinfo/enviroment_sensors.md @@ -0,0 +1,127 @@ +## Server-Sensorik + +Da der Server in einem feuchten Keller steht, gegen den wir ihn mit userem Spezialgehäuse schützen (Kühlschrank), ist eine Überwachung der Umwelteinflüsse wünschenswert. +Konkret möchten wir gerne Luftfeuchte und Temperatur im Auge behalten. + +### Hardware +Die Temperatur lässt sich auch aus den Sensoren im Mainboard ablesen. Zusätzlich ist ein Pro Micro mit zwei DHT22 Sensoren und einem Auslenkungssensor verbunden. +Der DHT22 liefert Werte für Temperatur und Luftfeuchte. Einer ist im Kühlschrank und einer außen am Kühlschrank befestigt. Der Auslenkungssensor protokolliert die Türöffnung. +Für den Sensor sind angegeben +Messbereich: -40 - 80 °C, 0 - 100% RH +Genauigkeit: 0.5°C, 2% RH + +### Sofware +#### Pro Micro +Auf dem Pro Micro läuft ein Arduino-Sketch[1] +Dieser liefert CSV-Werte: +``` +86.10, 23.10, 14.20, 34.20, 0 + +86.00, 23.10, 14.10, 34.20, 0 + +86.10, 23.10, 14.20, 34.20, 0 + +86.20, 23.00, 14.20, 34.20, 0 +``` + +#### Collectd und Facette +Damit die Werte in unseren schönen Facette-Graphen auftauchen, müssen wir zuerst collectd beibringen die Werte überhaupt zu sammeln. +Dazu lässt sich entweder das Plugin "Exec" verwenden, das ein Skipt ausführt und die Rückgabewerte protokolliert oder das Plugin "tail_CSV", welches +CSV Dateien einliest, sofern es aus einer seriellen Schnittstelle lesen kann. + + + +### Dateien +[1] Das verwendete Arduino Programm: +``` +// Based on "Example testing sketch for various DHT humidity/temperature sensors" +// from ladyada, public domain +// + +#include "DHT.h" + +#define DHTPIN1 21 // what digital pin we're connected to +#define DHTPIN2 20 +#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 + + +// Connect pin 1 (on the left) of the sensor to +5V +// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 +// to 3.3V instead of 5V! +// Connect pin 2 of the sensor to whatever your DHTPIN is +// Connect pin 4 (on the right) of the sensor to GROUND +// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor + +// Initialize DHT sensor. +// Note that older versions of this library took an optional third parameter to +// tweak the timings for faster processors. This parameter is no longer needed +// as the current DHT reading algorithm adjusts itself to work on faster procs. +DHT dht1(DHTPIN1, DHTTYPE); +DHT dht2(DHTPIN2, DHTTYPE); +int door=0; +int swtch=0; +int count=0; + + +void setup() { + Serial.begin(9600); + Serial.println("Humidity inside, humidity outside, temperature inside, temperature outside, door switch"); + + dht1.begin(); + dht2.begin(); + pinMode(19,INPUT_PULLUP); +} + + +void loop() { + swtch= digitalRead(19); + if (door != swtch || count > 100 ){ + count=0; + door=swtch; + + // Wait a few seconds between measurements. + // Reading temperature or humidity takes about 250 milliseconds! + // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) + // So keep in mind, that (maximum counts) * (delay) = (time between readouts) + delay(20); + + float hin_raw = dht1.readHumidity(); + float hout_raw = dht2.readHumidity(); + // Read temperature as Celsius (the default) + float tin_raw = dht1.readTemperature(); + float tout_raw = dht2.readTemperature(); + + // the DHT22 has an statistical error of 2% for humidity and 0.5°C for temperatur. + // so lets add some offset depending on our sensors, to get to comparable values + float hin = hin_raw + 3.6; + float tin = tin_raw - 0.3 ; + float hout = hout_raw ;//- 0.026; + float tout = tout_raw + 0; + + + // Check if any reads failed and exit early (to try again). + if (isnan(hin) || isnan(tin) || isnan(hout) || isnan(tout)) { + Serial.print("Failed to read from DHT sensor!"); + Serial.print(", \t"); + Serial.println(door); + return; + } + + // print the values if everything works fine + Serial.print(hin); + Serial.print(", \t"); + Serial.print(hout); + Serial.print(", \t"); + Serial.print(tin); + Serial.print(", \t"); + Serial.print(tout); + Serial.print(", \t"); + Serial.println(door); + } + else{ + delay(20); + count++; + } +} +``` + diff --git a/technikzeugs/hardwareinfo/nanobeam M5/nanobeam_M5.md b/technikzeugs/hardwareinfo/nanobeam M5/nanobeam_M5.md new file mode 100644 index 0000000..31cf305 --- /dev/null +++ b/technikzeugs/hardwareinfo/nanobeam M5/nanobeam_M5.md @@ -0,0 +1,199 @@ +## Hardware-Bug +Anscheinend haben alle Geräte der Revision XW von Ubiquiti einen Hardwarebug im Ethernetchip. Das betrifft sowohl die Nanobeam M5, als auch die Nanostation LOCO M5. +Die Nanostation M5 ist nicht betroffen, da in ihr ein Ethernetswitch verbaut ist. +Ursprünglich dachte ich der Hardwarebug wäre nur dann ein Problem, wenn wir die Geräte mit OpenWRT bespielen, da eben noch kein adaquater Workaround in OpenWRT existiert. +Mittlerweile weiß ich aber, das auch mit der orginal Firmware (AirOS) von Ubiquiti der Bug ein Problem darstellt. Sie lösen das Promblem mit einem sehr schnellen Neustart des PHY. +Aber auch hier verliert die Antenne kurz ihre Ethernetverbindung. Wirkich akzeptabel ist das nicht. + +[1] https://dev.openwrt.org/ticket/19085 +[2] https://community.ubnt.com/t5/Installation-Troubleshooting/Nanostation-XW-Ethernet-issue/m-p/1164752#U1164752 + + +## Flashing with OpenWRT +It is possible to upload the image via AirOS. But after i did that, i was unable to connect with the device. +I needed to open the glued case (a hammer did the trick) and connect through the serial console. +After changing __/etc/config/network__ from +``` +config interface 'lan' + option ifname 'eth0.1' +``` +to +``` +config interface 'lan' + option ifname 'eth0' +``` + +everything seems to work fine. + +## Images + +[[/uploads/nanobeam/open-front.JPG]] +[[/uploads/nanobeam/open-back.JPG]] +[[/uploads/nanobeam/pcb.JPG]] + +## Bootlog OpenWRT + +``` +U-Boot 1.1.4-s776 (Nov 27 2013 - 15:58:45) + +Board: Ubiquiti Networks AR9342 board (e815-86041.1122.0030) +Reset: Normal +DRAM: 64 MB +Flash: 8 MB (0xc2, 0x20, 0x17) +Net: AR8032 Detected +eth0, eth1 +Radio: 0777:e815 +Hit any key to stop autoboot: 0 +## Booting image at 9f050000 ... + Image Name: MIPS OpenWrt Linux-3.10.49 + Created: 2014-10-02 7:10:38 UTC + Image Type: MIPS Linux Kernel Image (lzma compressed) + Data Size: 1107081 Bytes = 1.1 MB + Load Address: 80060000 + Entry Point: 80060000 + Verifying Checksum at 0x9f050040 ...OK + Uncompressing Kernel Image ... OK + +Starting kernel ... + +[ 0.000000] Linux version 3.10.49 (bb@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42625) ) #3 Wed Oct 1 14:00:51 CEST 2014 +[ 0.000000] bootconsole [early0] enabled +[ 0.000000] CPU revision is: 0001974c (MIPS 74Kc) +[ 0.000000] SoC: Atheros AR9342 rev 2 +[ 0.000000] Clocks: CPU:535.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.000MHz +[ 0.000000] Determined physical RAM map: +[ 0.000000] memory: 04000000 @ 00000000 (usable) +[ 0.000000] Initrd not found or empty - disabling initrd +[ 0.000000] Zone ranges: +[ 0.000000] Normal [mem 0x00000000-0x03ffffff] +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x00000000-0x03ffffff] +[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. +[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes +[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 +[ 0.000000] Kernel command line: board=UBNT-NM-XW console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro rootfstype=squashfs,jffs2 noinitrd +[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) +[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) +[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) +[ 0.000000] Writing ErrCtl register=00000000 +[ 0.000000] Readback ErrCtl register=00000000 +[ 0.000000] Memory: 61076k/65536k available (2369k kernel code, 4460k reserved, 621k data, 272k init, 0k highmem) +[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 +[ 0.000000] NR_IRQS:51 +[ 0.000000] Calibrating delay loop... 266.64 BogoMIPS (lpj=1333248) +[ 0.080000] pid_max: default: 32768 minimum: 301 +[ 0.080000] Mount-cache hash table entries: 512 +[ 0.090000] NET: Registered protocol family 16 +[ 0.100000] MIPS: machine is Ubiquiti Nanostation M XW +[ 0.310000] bio: create slab at 0 +[ 0.320000] Switching to clocksource MIPS +[ 0.330000] NET: Registered protocol family 2 +[ 0.330000] TCP established hash table entries: 512 (order: 0, 4096 bytes) +[ 0.330000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) +[ 0.340000] TCP: Hash tables configured (established 512 bind 512) +[ 0.340000] TCP: reno registered +[ 0.350000] UDP hash table entries: 256 (order: 0, 4096 bytes) +[ 0.350000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) +[ 0.360000] NET: Registered protocol family 1 +[ 0.380000] squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 0.390000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. +[ 0.400000] msgmni has been set to 119 +[ 0.400000] io scheduler noop registered +[ 0.400000] io scheduler deadline registered (default) +[ 0.410000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled +[ 0.440000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A +[ 0.450000] console [ttyS0] enabled, bootconsole disabled +[ 0.450000] console [ttyS0] enabled, bootconsole disabled +[ 0.460000] ath79-spi ath79-spi: master is unqueued, this is deprecated +[ 0.470000] m25p80 spi0.0: found mx25l6405d, expected m25p80 +[ 0.480000] m25p80 spi0.0: mx25l6405d (8192 Kbytes) +[ 0.480000] 5 cmdlinepart partitions found on MTD device spi0.0 +[ 0.490000] Creating 5 MTD partitions on "spi0.0": +[ 0.490000] 0x000000000000-0x000000040000 : "u-boot" +[ 0.500000] 0x000000040000-0x000000050000 : "u-boot-env" +[ 0.510000] 0x000000050000-0x0000007b0000 : "firmware" +[ 0.520000] 2 uimage-fw partitions found on MTD device firmware +[ 0.530000] 0x000000050000-0x00000015e4c9 : "kernel" +[ 0.530000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only +[ 0.550000] 0x00000015e4c9-0x0000007b0000 : "rootfs" +[ 0.550000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only +[ 0.570000] mtd: device 4 (rootfs) set to be root filesystem +[ 0.570000] 1 squashfs-split partitions found on MTD device rootfs +[ 0.580000] 0x000000380000-0x0000007b0000 : "rootfs_data" +[ 0.590000] 0x0000007b0000-0x0000007f0000 : "cfg" +[ 0.590000] 0x0000007f0000-0x000000800000 : "EEPROM" +[ 0.610000] libphy: ag71xx_mdio: probed +[ 1.160000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:01 [uid=004dd023, driver=Generic PHY] +[ 1.170000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII +[ 1.180000] TCP: cubic registered +[ 1.180000] NET: Registered protocol family 17 +[ 1.190000] Bridge firewalling registered +[ 1.190000] 8021q: 802.1Q VLAN Support v1.8 +[ 1.200000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. +[ 1.210000] Freeing unused kernel memory: 272K (8034c000 - 80390000) +procd: Console is alive +procd: - watchdog - +[ 3.590000] usbcore: registered new interface driver usbfs +[ 3.590000] usbcore: registered new interface driver hub +[ 3.600000] usbcore: registered new device driver usb +[ 3.610000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver +[ 3.620000] ehci-platform: EHCI generic platform driver +[ 3.630000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver +procd: - preinit - +Press the [f] key and hit [enter] to enter failsafe mode +Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level +[ 6.170000] eth0: link up (100Mbps/Full duplex) +jffs2 is ready +jffs2 is ready +[ 7.260000] jffs2: notice: (310) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 16 of xref (0 dead, 2 orphan) found. +switching to overlay +[ 7.300000] eth0: link down +procd: - early - +procd: - watchdog - +procd: - ubus - +procd: - init - +Please press Enter to activate this console. +[ 8.740000] NET: Registered protocol family 10 +[ 8.750000] nf_conntrack version 0.5.0 (958 buckets, 3832 max) +[ 8.760000] ip6_tables: (C) 2000-2006 Netfilter Core Team +[ 8.780000] Loading modules backported from Linux version master-2014-05-22-0-gf2032ea +[ 8.790000] Backport generated by backports.git backports-20140320-37-g5c33da0 +[ 8.800000] ip_tables: (C) 2000-2006 Netfilter Core Team +[ 8.840000] xt_time: kernel timezone is -0000 +[ 8.870000] cfg80211: Calling CRDA to update world regulatory domain +[ 8.870000] cfg80211: World regulatory domain updated: +[ 8.880000] cfg80211: DFS Master region: unset +[ 8.880000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) +[ 8.890000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) +[ 8.900000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) +[ 8.910000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) +[ 8.920000] cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A) +[ 8.920000] cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) +[ 8.930000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) +[ 8.940000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) +[ 8.950000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) +[ 9.010000] PPP generic driver version 2.4.2 +[ 9.020000] NET: Registered protocol family 24 +[ 9.120000] ieee80211 phy0: Atheros AR9340 Rev:0 mem=0xb8100000, irq=47 +[ 9.150000] cfg80211: Calling CRDA for country: US +[ 9.150000] cfg80211: Regulatory domain changed to country: US +[ 9.160000] cfg80211: DFS Master region: FCC +[ 9.160000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) +[ 9.170000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A) +[ 9.180000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 1700 mBm), (N/A) +[ 9.190000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2300 mBm), (0 s) +[ 9.200000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A) +[ 9.200000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A) +procd: - init complete - +[ 17.270000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready +[ 17.280000] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready +[ 17.280000] device eth0.1 entered promiscuous mode +[ 17.290000] device eth0 entered promiscuous mode +[ 17.290000] eth0: link up (100Mbps/Full duplex) +[ 17.310000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready +[ 17.310000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready +[ 17.320000] br-lan: port 1(eth0.1) entered forwarding state +[ 17.330000] br-lan: port 1(eth0.1) entered forwarding state +[ 19.330000] br-lan: port 1(eth0.1) entered forwarding state +``` diff --git a/technikzeugs/hardwareinfo/nanobeam M5/open-back.JPG b/technikzeugs/hardwareinfo/nanobeam M5/open-back.JPG new file mode 100644 index 0000000..cc4d808 Binary files /dev/null and b/technikzeugs/hardwareinfo/nanobeam M5/open-back.JPG differ diff --git a/technikzeugs/hardwareinfo/nanobeam M5/open-front.JPG b/technikzeugs/hardwareinfo/nanobeam M5/open-front.JPG new file mode 100644 index 0000000..0f0112f Binary files /dev/null and b/technikzeugs/hardwareinfo/nanobeam M5/open-front.JPG differ diff --git a/technikzeugs/hardwareinfo/nanobeam M5/pcb.jpg b/technikzeugs/hardwareinfo/nanobeam M5/pcb.jpg new file mode 100644 index 0000000..1b09cbe Binary files /dev/null and b/technikzeugs/hardwareinfo/nanobeam M5/pcb.jpg differ diff --git a/technikzeugs/hardwareinfo/nanostation_M5.md b/technikzeugs/hardwareinfo/nanostation_M5.md new file mode 100644 index 0000000..6d14600 --- /dev/null +++ b/technikzeugs/hardwareinfo/nanostation_M5.md @@ -0,0 +1,4 @@ +## Hardwarebug +Die Nanostation M5 ist nicht betroffen, da sie einen Switch besitz, also ein anderer Ethernetchip verbaut ist. + + diff --git a/technikzeugs/hardwareinfo/nanostation_loco_M5.md b/technikzeugs/hardwareinfo/nanostation_loco_M5.md new file mode 100644 index 0000000..8f325ff --- /dev/null +++ b/technikzeugs/hardwareinfo/nanostation_loco_M5.md @@ -0,0 +1,10 @@ +#OpenWRT +Es gibt da diesen Bug von dem Daniel sprach: Bei einem großen Teil der neueren Geräte fällt nach einigen Stunden der WLAN-Chip aus. +Nur reboot kann das lösen. Dieser Bug betrifft allerdings auch die originale Firmware, bloß macht die heimlcih sowas wie einen schnellen reboot. +Siehe: +https://dev.openwrt.org/ticket/19085 +Der letzte Eintrag im ticket klingt positiv, ist aber kaum 2 Tage alt. + +Sollten wir also vielleicht nicht einsetzen. + +ist das für uns überhaupt relevant? hardwarebugs gibt es immer wieder und überall, das os muss die dann halt verstecken, so gut es geht, und wenn die das in ihrer firmware gut geschafft haben, so dass es keinen weiteren effekt hat, dann ist das kein problem. (ihr glaubt ja garnicht wie viel hardware acpi falsch macht) diff --git a/technikzeugs/howto/README.md b/technikzeugs/howto/README.md new file mode 100644 index 0000000..f0426d3 --- /dev/null +++ b/technikzeugs/howto/README.md @@ -0,0 +1,7 @@ +# Howto +Hier sammeln wir Anleitungen für wiederkehrende Aufgaben. + +Evtl. fehlt noch: +* Kabel crimpen + + diff --git a/technikzeugs/howto/anschluss-einrichten.md b/technikzeugs/howto/anschluss-einrichten.md new file mode 100644 index 0000000..9a7b1e7 --- /dev/null +++ b/technikzeugs/howto/anschluss-einrichten.md @@ -0,0 +1,37 @@ +# Anschluss Einrichten +## In Ansible eintragen +Ansible aktualisieren + +### Subnetz und ansible_host finden +Im Ansible-Verzeichnis +``` +grep subnet -r host_vars/ | awk -F : '{print $3" "$1}' | sort +``` +ausführen. +Das neue Subnetz sollte auf das letzte Subnetz folgen. (Netzmaske beachten: z.B bei /22 vier Netze weiterzählen. +Die IP im Ansible Netz sollte ebenfalls nicht vergeben sein. +Gegebenen falls mit "grep" prüfen. +``` +grep 192.168.42. -r host_vars/ | awk -F : '{print $3" "$1}' | sort +``` +Namensschema der antennen: - + +### Neuen Eintrag in host_vars/ erstellen +Antennentemplate kopieren und passend ausfüllen. +### Antenne in hosts eintragen +Zeile in der Datei hosts ergänzen. +### Ansible ausführen +Zum Testen der Angaben +``` +ansible-playbook -CD playbooks/reload_anschluesse.yaml +``` +um sie Umzusetzen: +``` +ansible-playbook playbooks/reload_anschluesse.yaml +``` +### Git aktualisieren und pushen +wie gehabt +### Antenne konfigurieren +siehe antenne_konfigurieren.md + + diff --git a/technikzeugs/howto/antenne_konfigurieren.md b/technikzeugs/howto/antenne_konfigurieren.md new file mode 100644 index 0000000..ed9ad8b --- /dev/null +++ b/technikzeugs/howto/antenne_konfigurieren.md @@ -0,0 +1,70 @@ +# Antennen konfigurieren mit config-Datei +Diese Anleitung könnte obsolet sein / werden. + +Besorge dir die aktuelle Config-datei +Dabei ist zwischen "station" und "accesspoint" zu unterscheiden. +(evtl kommt noch eine "relay" config) + +Eine Antenne hat direkt nach dem Reset die IP-Adresse 192.168.1.20 +und "ubnt" als user und als passwort. +Country Code: DE +language: english + +Überlege dir mit welcher Antenne du die neue Antenne verbinden willst. + +## Station +Die Antenne wird als Station eingerichtet. +Das heißt, sie steht bei den Nutzendden und bildet einen Endpunkt des Netzes. +### Antenne updaten +Tab: SYSTEM +Check for updates ( and install them ) +Download firmwarefile von ubnt.com und spiele sie auf die Antenne. bei den Geräten handelt es sich um "AirMax M Series". +Aktuelle Versionen +[NanoBeam NBE-M5-16](http://dl.ubnt.com/firmwares/XW-fw/v6.0/XW.v6.0.30097.161219.1705.bin) + + +### Config datei einspielen +Tab: SYSTEM +Upload "station"-config. +Danach ist das Webinterface anhand der config ausgefüllt, die Einstellungen sind jedoch noch nicht ausgeführt. + +Nun müssen alle Anpassungen ausgeführt werden: +### Devicename einrichten +Tab: SYSTEM +Device Name: < StraßeHausnummer_1 > falls auf dem Haus bereits eine Antenne steht statt 1 z.B. 2 verwenden. +### IP Adressen einrichten +Die Addresse, die in Ansible für das Subnetz der Nutzenden vergeben wurde muss auf der Antenne eingetragen werden. +Tab: NETWORK +LAN-IP: die erste IP im Subnetz. z.B. 10.8.8.1 +FIREWALL: überall das korrekte Subnetz eintragen. +### WPA-Passphrase einrichten +Tab: WIRELESS +Security: WPA2-AES +WPA Auth: PSK +WPA KEY: schau auf dem Accesspoint nach, mit der du dich verbindest. Jede SSID bekommtihr eigenes Passwort. es wird ausschließlich auf den Antennen gespeichert. +Ändere das Passwort immer zuerst auf dem Gerät, das nicht in deiner Nähe ist. + +##Accesspoint +Die Antenne wird als Accesspoint eingerichtet. Das bedeutet, das sie auf unserem Dach steht. +### Antenne updaten +Tab: SYSTEM +Check for updates ( and install them ) +Download firmwarefile von ubnt.com und spiele sie auf die Antenne. bei den Geräten handelt es sich um "AirMax M Series". + +### Config datei einspielen +Tab: SYSTEM +Upload "accesspoint"-config. Du findest sie im wiki in technigzeugs +Danach ist das Webinterface anhand der config ausgefüllt, die Einstellungen sind jedoch noch nicht ausgeführt. + +Nun müssen alle Anpassungen ausgeführt werden: +### Devicename einrichten +Tab: SYSTEM +Device Name: < StraßeHausnummer_1 > falls auf dem Haus bereits eine Antenne steht statt 1 z.B. 2 verwenden. +### WPA-Passphrase einrichten +Tab: WIRELESS +Security: WPA2-AES +WPA Auth: PSK +WPA KEY: generiere ein neues mitdestens 23 stelliges Passwort. Trage es jedoch zuerst in der "station" ein, da du dich sonst nicht mehr verbinden kannst. Jede SSID bekommt ihr eigenes Passwort. es wird ausschließlich auf den Antennen gespeichert. +Ändere das Passwort immer zuerst auf dem Gerät, das nicht in deiner Nähe ist. + + diff --git a/technikzeugs/howto/antenne_mit_vlan_erreichen.md b/technikzeugs/howto/antenne_mit_vlan_erreichen.md new file mode 100644 index 0000000..79ff63d --- /dev/null +++ b/technikzeugs/howto/antenne_mit_vlan_erreichen.md @@ -0,0 +1,13 @@ +# Antenne mit VLAN-Config erreichen +Wenn hinter der Antenne ein Switch über VLAN mehrere Anschlüsse ermöglich, muss du dir selbst ein VLN geben, um die Antenne zu erreichen: +## Voraussetzung +Du musst die VLAN-ID und die IP-Adresse die du verwenden möchstest kennen. +Hier gilt: +VLAN-ID:101 +device:enp1s0 +IP: 10.6.8.42 + +## Einrichten +sudo ip link add link enp1s0 name enp1s0.101 type vlan id 101 +sudo ip addr add 10.6.8.42/24 brd 10.6.8.255 dev enp1s0.101 +sudo ip link set dev enp1s0.101 up diff --git a/technikzeugs/howto/antennen_anbringen.md b/technikzeugs/howto/antennen_anbringen.md new file mode 100644 index 0000000..2f11c29 --- /dev/null +++ b/technikzeugs/howto/antennen_anbringen.md @@ -0,0 +1,52 @@ +# So schließe ich neue Nutzende an + +## Vorbereitung: +Klären: +* Was ist mit einem Vertrag? +* Erlaubnis des Hausbesitzers +* Stromversorgung +* Blitzschutz +* Verantwortliche +* Wie komme ich rein? Wie aufs Dach? + +### nicht optional +* Antenne vorher konfigurieren +siehe 'antennen_konfigurieren' + +## Was brauche ich? +* Antenne +* Kletterausrüstung +* Laptop +* Werkzeug: + Es gibt eine Werkzeugkiste im Lager mit : + * LAN-Kabel (kurz) + * LAN-Kabel (lang) + * Kommunikationsmittel + * Kabeltester + * Patchzange + * Netzwerk-Stecker + * Kabelbinder +Schau am besten nach ob das Zeug auch drin ist. + +###optional +* Fernglas +* Taschenlampe +* einen Halter für die Antenne +* Schrauben +* Dübel +* Bits +* Akku-Schlagbohrer +* Stein-Bohrer + +## Wo schraube ich die Antenne an? +So dass Sichtkontakt zur Antenne besteht, mit der sich Verbunden werden soll. Dabei +* nicht an Schornsteinfegerleitern und Handgriffe +* Kabel möglichst wenig auf dem Dach entlang führen +* Dazu möglicherweise eine Halterin für die Antenne anschrauben. +* Alle Dinge die mitgenommen werden am Klettergschirr sichern. Wir wollen keine unbeabsichtigten Toten und Verletzen. + +Am optimalsten sind (wer hätte das gedacht) vorhandene Antennenmasten. + +## Dinge die für diesen Eintrag herauszufinden sind: +* Dürfen wir in Schornsteine schrauben? + diff --git a/technikzeugs/howto/kabel_ueber_straßen_spannen.md b/technikzeugs/howto/kabel_ueber_straßen_spannen.md new file mode 100644 index 0000000..afcef3c --- /dev/null +++ b/technikzeugs/howto/kabel_ueber_straßen_spannen.md @@ -0,0 +1,26 @@ +# Kabel über Straßen spannen +Anstatt Funkstrecken können auch Kabel verwendet werden, um die Nutzenden anzubinden. +Dazu empfielt es sich metallfreie Kabel zu verwenden, um den Problemen von Gewitter und Kurzschluss von Bahntrassen zu entgehen. + +## Rechtliches +Zusammenfassung von: http://www.leipzig.de/buergerservice-und-verwaltung/aemter-und-behoerdengaenge/behoerden-und-dienstleistungen/dienstleistung/erlaubnis-fuer-sondernutzung-oeffentlicher-strassen-und-plaetze-nach-territorialer-zustaendigkeit-53/ + +Generell muss ein Sondernutzungsantrag zur Verlegung eines Kabels über die Straße gestellt werden. +http://www.leipzig.de/buergerservice-und-verwaltung/aemter-und-behoerdengaenge/formulare/?tx_ewerkformsmanager_pi%5Buid%5D=97&tx_ewerkformsmanager_pi%5Baction%5D=download&tx_ewerkformsmanager_pi%5Bcontroller%5D=Form +Es muss in mindestens 4,7m Höhe angebracht sein und kostet pro Monat pro überquerung der Straße +Zone1 Zone2 Zone3 +1,60€ 1,20€ 0,80€ + +Zone1 ist das Stadtzentrum. Damit sind alle Straßen gemeint, die sich innerhalb des Promenadenrings befinden. +Zone2 endet Richtung Osten am Gerichtsweg/Ludwig-Ehrhard-Straße/Prager-Straße +Zone3 ist der Rest. Hier sind wir meistens. + +siehe auch: http://www.leipzig.de/buergerservice-und-verwaltung/aemter-und-behoerdengaenge/satzungen/?tx_ewerkformsmanager_pi%5Bcontroller%5D=Statues&tx_ewerkformsmanager_pi%5Baction%5D=download&tx_ewerkformsmanager_pi%5Buid%5D=367&tx_ewerkformsmanager_pi%5Bfilename%5D=367-561cb3394b8f6.pdf&cHash=518d90dc191631bf2ac61ad13d5dd361 + +Wir müssen noch heruasfinden, ob die Arbeiten durch ein Unternehmen aus der Liste der für Arbeiten im öffentlichen Raum zugelassenen Unternehmen durchgeführt werden muss oder nicht. +Das Ding heißt vermutlich Präqualifikationverzeichnis. + +## Technisches +Um das zu tun brauchen wir außer der Gehnehmigung, geeignetet Glasfaser und Oberleitungsrosetten oder ähnliche Wandanker. Außerdem ist zu klären, wie die Befestigung am optimalsten durchgeführt wird -> spezieller Zement, Anker, etc. +Um das Kabel in das Haus hineinzubekommen muss die Außenhaut durchbohrt werden. Die entsprechenden Brandschutzverordnungen sind in Erfahrung zu bringen. +Nach dem die Faser liegt, brauchen wir noch einen LWL-Switch und fertig ist die Verbindung. diff --git a/technikzeugs/howto/openwrtrouter_fuers_heimnetzwerk.md b/technikzeugs/howto/openwrtrouter_fuers_heimnetzwerk.md new file mode 100644 index 0000000..ebd84ab --- /dev/null +++ b/technikzeugs/howto/openwrtrouter_fuers_heimnetzwerk.md @@ -0,0 +1,50 @@ +# Openwrt Router für Heimnetzwerkeinrichten + +Eine kurze Anleitung um einen Router (hier einen TP-Link TL-WR841N) mit OpenWRT zu flashen und im Heimnetzwerk einzurichten + +## WARUM? + +OpenWRT ist freie Software. Dadurch können alle die möchten, den Quellcode der Software lesen und so sicherstellen, das sie Vertrauenswürdig ist. +Außerdem lässt sich OpenWRT sehr flexibel einsetzen und gibt den Nutzenden die volle Kontrolle über das Gerät. + +## Router flashen + +### Das Image finden +Zuerst müssen wir die passende Firmware für das Gerät finden. Dazu können wir auf wiki.openwrt.org nach dem Gerätenamen (hier: WR841N) suchen. +Im Wikiartikel steht in der Regel welches Image wie auf den Router gespielt werden kann. +Vorsicht das Wiki ist allerdings selten aktuell. Am Besten ist es unter download.openwrt.org nochmal nach einem aktuelleren Image zu suchen. Als Orientierung kann der Pfad des veralteten Images dienen. +Das richtige Image muss "factory" im namen enthalten, da wir von der Herstellerfirmware wechseln. "sysupgrade" verwenden wir wenn auf dem Router bereits OpenWRT ist und wir es updaten wollen. +Nun habe ich die Datei "" + +### Den Router anschließen +Nun musst du ein LAN-Kabel mit einem LAN-Anschluss (hier: gelb) des Routers und deinem Rechner verbinden und den Router mit Strom versorgen. +Wenn dir der Router eine Addresse gegeben hat, kannst du die IP Adresse des Routers im Browser eingeben und dich einloggen. +Die Routeradresse kannst du entweder aus den Netzwerkeistellung oder aus dem Handbuch herausfinden. Dort stehen auf die Standard-Logindaten. +Wenn du eingeloggt bist kannst du unter "Firmare upgrade" das Image auswählen und auf den Router spielen. +Damit hast du OpenWRT installiert. + +### Ganz einfache Standard-Konfiguration + +Nach jeder Einstellung muss du auf "Save and Apply" klicken, sonst vergisst der Router die Einstellungen beim Wechsel zwischen den Tabs wieder. +Im Tab "Network --> Interfaces" lassen wir alles wie gahabt. +DHCP ist an. Im LAN verteilt der Router IPs. Das lassen wir einfach so. +Auf dem WAN-Anschluss (hier: blau) holt sich der Router als DHCP-Client eine IP. +Anfragen aus dem LAN werden ans WAN weitergegeben. Anfragen aus dem WAN ins LAN aber verworfen. + +Im Tab "Network --> Wifi" müssen wir noch das WLAN benennen, mit Passwort versehen und anschalten: +Im Abschnitt Device Confuguration +musst du gar nichts machen, kannst aber die "channels" auf auto stellen. und die Breite der Kanäle auf 40Mhz. Muss aber nicht sein. + +Bei "Interface Configuration" musste du +Bei "ESSID" kannst du den Namen des Netzwerkes eintragen. +und dort dann im Tab "Wireless Security" +Encryption auf WPA2-PSK stellen und eine WLAN-Passwort in Key eintragen. + + +Unter "System --> System" geben wir dem Router noch einen netteren Namen als OpenWRT und klicken einmal auf "Sync with Browser" um die Uhrzeit einzustellen. +Zuletzt müssen wir noch im Abschnitt "System --> Administration" ein Passwort für den Router festlegen. +Ich persönlich schreibe das Passwort meistens gleich mit auf den Router, da ohnehin jeder der Zugang zu Router hat ihn auch Reseten kann. Wichtig ist das Passwort vorallem, um es Eindringlingen, die aus der Ferne in dein Netzwerk eindringen, etwas schwerer zu machen. +Sinnvoll ist es außerdem den SSH-Zugang auf LAN zu beschränken. + +##TODO +Anleitung um unsere NTP DNS etc server ergänzen diff --git a/technikzeugs/howto/tipps_und_tricks.md b/technikzeugs/howto/tipps_und_tricks.md new file mode 100644 index 0000000..8fdd3df --- /dev/null +++ b/technikzeugs/howto/tipps_und_tricks.md @@ -0,0 +1,12 @@ +### Hinweise zu den Antennen +Um zu schauen, ob die Antenne für die Nutzenden erreichbar ist macht es sinn zu schauen ob sie Leases vergibt. Die DHCP-Leases sind unter /tmp/dhcp.leases zu finden. +======= +Um zu schauen, ob die Antenne für die Nutzenden erreichbar ist macht es sinnzu schauen ob sie Leases vergibt. Die DHCP-Leases sind unter /tmp/dhcp.leases zu finden. + +Falls mal kein DHCP Server erreichbar ist geben sich die Antennen eine Fallback IP. Dann sind sie unter 192.168.10.1 zu erreichen + +###### Reset +AirOS lässt sich auf den Nanobeams durch 10s drücken auf den Resetbutton am PoE auf factory defaults zurücksetzen (, falls dies in der Software aktiviert). +Ansonsten lässt sich die Antenne direkt am Gerät durch Bedienen des Reset-Knopfs während des Bootvorgangs zurücksetzen. + +Sollte die Antenne rot blinken ist sie im Bootloade-Modus und erwartet ein Image via TFTP. Falls der Zustand durch Stromversorgung unterbrechen nicht weggeht, ist das Image vermutlich kaputt und muss neu geflasht werden. Anleitung dazu gibt im Netz bei Ubiquiti. diff --git a/technikzeugs/howto/ubiquiti-tftp-flashing.md b/technikzeugs/howto/ubiquiti-tftp-flashing.md new file mode 100644 index 0000000..3e8e721 --- /dev/null +++ b/technikzeugs/howto/ubiquiti-tftp-flashing.md @@ -0,0 +1,27 @@ +# Per TFTP ein Image auf die Antenne flashen +Wenn die Antenne abwechselnd rot und grün blinkt befindet sie sich im Bootloader und erwartet ein TFTP Image. Falls die Firmware zerschossen ist bootet sie immer in diesen Modus. Um das Problem zu beheben geben wir ihr das erwünschte Image per TFTP. + +### Image herunterladen +Das richtige Image herunterladen +https://www.ubnt.com/download/airmax-m/nanostationm/nsm5/airos-xw-board-firmware-v564 +bei mir wars das XW image. Aber es gibt auch noch XM. +https://wiki.openwrt.org/toh/ubiquiti/nanostationm5 + +### IP-Adresse einrichten +gib dir eine statische IP aus dem 192.168.1.x subnetz +die Antenne ist dann unter 192.168.1.20 zu erreichen. +das PRbieren wir besser gleich mal aus: +```ping 192.168.1.20``` + +### Flashen +``` +$: tftp 192.168.1.20 +tftp> bin +tftp> trace +tftp> put XW.v5.6.4.28924.160331.1238.bin +Sent 1965199 bytes in 35.2 seconds +tftp> quit +``` +Nun updatet die Antenne. +Danach müsste die Antenne nach 7-10 min zu erreichen sein. Nicht zwischendrin abschalten. + diff --git a/technikzeugs/howto/uplink_konfigurieren.md b/technikzeugs/howto/uplink_konfigurieren.md new file mode 100644 index 0000000..08205fa --- /dev/null +++ b/technikzeugs/howto/uplink_konfigurieren.md @@ -0,0 +1,51 @@ +# Uplink einrichten +Früher nutzten wir zwei mehr oder weniger zuverlässige Uplinks. Aus dieser Zeit stammt diese "Anleitung". + +Der Server muss so konfiguriert werden, dass eine Netzwerkschnittestelle als Uplink funktioniert. +Denkbar ist auch, je nach verfügbarkeit zwischen verschiedenen Uplinks zu wechseln +## Vorgehen und nützliche Befehle +Es bietet sich an, erstmal einen Überblink von der Ausgangssituation zu bekommen: + + ip route show + ip route list + ip route del dev + +## History aus dem Unstellen des Uplinks + + 397 ip route del 192.168.125.1 dev upstream scope link metric 1024 + 398 ip route shpw + 399 ip route show + 400 ip route del 192.168.125.0/24 dev upstream proto kernel scope link src 192.168.125.203 + 401 ip route show + 402 systemctl stop ip_forward_service + 403 systemctl stop ip_forward + 404 iptables -F + 405 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE + 406 iptables --append FORWARD -i eth0 -j ACCEPT + 407 ip route show + 408 ip route list + 409 ip route del default via 192.168.16.50 dev eth1 + 410 ip route add default via 192.168.125.1 dev upstream scope link metric 1024 + 411 ip route add 192.168.125.1 dev upstream scope link metric 1024 + 412 ip route add 192.168.125.0/24 dev upstream proto kernel scope link src 192.168.125.203 + 413 ip route + 414 ip route add default via 192.168.125.1 dev upstream + 415 ip route list + 416 vim /etc/dhcp/dhcpd.conf + 417 systemctl start ip_forward + 418 systemctl restart systemd-networkd.service + 419 ip route show + 420 ip route + 421 ping 8.8.8.8 + 422 ping 192.168.125.1 + 423 ping 192.168.42.23 + 424 ip route + 425 ip route del default via 192.168.125.1 dev upstream + 426 ip route add default via 192.168.16.50 dev eth1 + 427 ping 8.8.8.8 + 428 ping 192.168.42.23 + 429 ping 8.8.8.8 + 430 systemctl restart openvpn@to_paul.service + 431 ls + 432 ping 8.8.8.8 + diff --git a/technikzeugs/scripts/ping.sh b/technikzeugs/scripts/ping.sh new file mode 100755 index 0000000..9384dd6 --- /dev/null +++ b/technikzeugs/scripts/ping.sh @@ -0,0 +1,20 @@ +#!/bin/bash +HOSTS="10.9.8.10" +COUNT=120 +DOWN=0 +for myHost in $HOSTS +do + count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') + if [ $count -eq 0 ]; then + if [ $DOWN -eq 0 ]; then + echo "sol ($myHost) is down at $(date)" | mail -s "sol down" mail@reudnetz.org + DOWN=1 + fi + else + if [ $DOWN -eq 1 ]; then + echo "sol ($myHost) is up again at $(date)" | mail -s "sol recovered" mail@reudnetz.org + DOWN=0 + fi + fi +done + diff --git a/technikzeugs/scripts/speedtest-cli.py b/technikzeugs/scripts/speedtest-cli.py new file mode 100755 index 0000000..105c390 --- /dev/null +++ b/technikzeugs/scripts/speedtest-cli.py @@ -0,0 +1,694 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright 2012-2014 Matt Martz +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +__version__ = '0.3.1' + +# Some global variables we use +source = None +shutdown_event = None + +import os +import re +import sys +import math +import signal +import socket +import timeit +import threading + +# Used for bound_interface +socket_socket = socket.socket + +try: + import xml.etree.cElementTree as ET +except ImportError: + try: + import xml.etree.ElementTree as ET + except ImportError: + from xml.dom import minidom as DOM + ET = None + +# Begin import game to handle Python 2 and Python 3 +try: + from urllib2 import urlopen, Request, HTTPError, URLError +except ImportError: + from urllib.request import urlopen, Request, HTTPError, URLError + +try: + from httplib import HTTPConnection, HTTPSConnection +except ImportError: + from http.client import HTTPConnection, HTTPSConnection + +try: + from Queue import Queue +except ImportError: + from queue import Queue + +try: + from urlparse import urlparse +except ImportError: + from urllib.parse import urlparse + +try: + from urlparse import parse_qs +except ImportError: + try: + from urllib.parse import parse_qs + except ImportError: + from cgi import parse_qs + +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + +try: + from argparse import ArgumentParser as ArgParser +except ImportError: + from optparse import OptionParser as ArgParser + +try: + import builtins +except ImportError: + def print_(*args, **kwargs): + """The new-style print function taken from + https://pypi.python.org/pypi/six/ + + """ + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + fp.write(data) + + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +else: + print_ = getattr(builtins, 'print') + del builtins + + +def bound_socket(*args, **kwargs): + """Bind socket to a specified source IP address""" + + global source + sock = socket_socket(*args, **kwargs) + sock.bind((source, 0)) + return sock + + +def distance(origin, destination): + """Determine distance between 2 sets of [lat,lon] in km""" + + lat1, lon1 = origin + lat2, lon2 = destination + radius = 6371 # km + + dlat = math.radians(lat2 - lat1) + dlon = math.radians(lon2 - lon1) + a = (math.sin(dlat / 2) * math.sin(dlat / 2) + math.cos(math.radians(lat1)) + * math.cos(math.radians(lat2)) * math.sin(dlon / 2) + * math.sin(dlon / 2)) + c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a)) + d = radius * c + + return d + + +class FileGetter(threading.Thread): + """Thread class for retrieving a URL""" + + def __init__(self, url, start): + self.url = url + self.result = None + self.starttime = start + threading.Thread.__init__(self) + + def run(self): + self.result = [0] + try: + if (timeit.default_timer() - self.starttime) <= 10: + f = urlopen(self.url) + while 1 and not shutdown_event.isSet(): + self.result.append(len(f.read(10240))) + if self.result[-1] == 0: + break + f.close() + except IOError: + pass + + +def downloadSpeed(files, quiet=False): + """Function to launch FileGetter threads and calculate download speeds""" + + start = timeit.default_timer() + + def producer(q, files): + for file in files: + thread = FileGetter(file, start) + thread.start() + q.put(thread, True) + if not quiet and not shutdown_event.isSet(): + sys.stdout.write('.') + sys.stdout.flush() + + finished = [] + + def consumer(q, total_files): + while len(finished) < total_files: + thread = q.get(True) + while thread.isAlive(): + thread.join(timeout=0.1) + finished.append(sum(thread.result)) + del thread + + q = Queue(6) + prod_thread = threading.Thread(target=producer, args=(q, files)) + cons_thread = threading.Thread(target=consumer, args=(q, len(files))) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + while prod_thread.isAlive(): + prod_thread.join(timeout=0.1) + while cons_thread.isAlive(): + cons_thread.join(timeout=0.1) + return (sum(finished) / (timeit.default_timer() - start)) + + +class FilePutter(threading.Thread): + """Thread class for putting a URL""" + + def __init__(self, url, start, size): + self.url = url + chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' + data = chars * (int(round(int(size) / 36.0))) + self.data = ('content1=%s' % data[0:int(size) - 9]).encode() + del data + self.result = None + self.starttime = start + threading.Thread.__init__(self) + + def run(self): + try: + if ((timeit.default_timer() - self.starttime) <= 10 and + not shutdown_event.isSet()): + f = urlopen(self.url, self.data) + f.read(11) + f.close() + self.result = len(self.data) + else: + self.result = 0 + except IOError: + self.result = 0 + + +def uploadSpeed(url, sizes, quiet=False): + """Function to launch FilePutter threads and calculate upload speeds""" + + start = timeit.default_timer() + + def producer(q, sizes): + for size in sizes: + thread = FilePutter(url, start, size) + thread.start() + q.put(thread, True) + if not quiet and not shutdown_event.isSet(): + sys.stdout.write('.') + sys.stdout.flush() + + finished = [] + + def consumer(q, total_sizes): + while len(finished) < total_sizes: + thread = q.get(True) + while thread.isAlive(): + thread.join(timeout=0.1) + finished.append(thread.result) + del thread + + q = Queue(6) + prod_thread = threading.Thread(target=producer, args=(q, sizes)) + cons_thread = threading.Thread(target=consumer, args=(q, len(sizes))) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + while prod_thread.isAlive(): + prod_thread.join(timeout=0.1) + while cons_thread.isAlive(): + cons_thread.join(timeout=0.1) + return (sum(finished) / (timeit.default_timer() - start)) + + +def getAttributesByTagName(dom, tagName): + """Retrieve an attribute from an XML document and return it in a + consistent format + + Only used with xml.dom.minidom, which is likely only to be used + with python versions older than 2.5 + """ + elem = dom.getElementsByTagName(tagName)[0] + return dict(list(elem.attributes.items())) + + +def getConfig(): + """Download the speedtest.net configuration and return only the data + we are interested in + """ + + uh = urlopen('http://www.speedtest.net/speedtest-config.php') + configxml = [] + while 1: + configxml.append(uh.read(10240)) + if len(configxml[-1]) == 0: + break + if int(uh.code) != 200: + return None + uh.close() + try: + try: + root = ET.fromstring(''.encode().join(configxml)) + config = { + 'client': root.find('client').attrib, + 'times': root.find('times').attrib, + 'download': root.find('download').attrib, + 'upload': root.find('upload').attrib} + except AttributeError: + root = DOM.parseString(''.join(configxml)) + config = { + 'client': getAttributesByTagName(root, 'client'), + 'times': getAttributesByTagName(root, 'times'), + 'download': getAttributesByTagName(root, 'download'), + 'upload': getAttributesByTagName(root, 'upload')} + except SyntaxError: + print_('Failed to parse speedtest.net configuration') + sys.exit(1) + del root + del configxml + return config + + +def closestServers(client, all=False): + """Determine the 5 closest speedtest.net servers based on geographic + distance + """ + + uh = urlopen('http://www.speedtest.net/speedtest-servers-static.php') + serversxml = [] + while 1: + serversxml.append(uh.read(10240)) + if len(serversxml[-1]) == 0: + break + if int(uh.code) != 200: + return None + uh.close() + try: + try: + root = ET.fromstring(''.encode().join(serversxml)) + elements = root.getiterator('server') + except AttributeError: + root = DOM.parseString(''.join(serversxml)) + elements = root.getElementsByTagName('server') + except SyntaxError: + print_('Failed to parse list of speedtest.net servers') + sys.exit(1) + servers = {} + for server in elements: + try: + attrib = server.attrib + except AttributeError: + attrib = dict(list(server.attributes.items())) + d = distance([float(client['lat']), float(client['lon'])], + [float(attrib.get('lat')), float(attrib.get('lon'))]) + attrib['d'] = d + if d not in servers: + servers[d] = [attrib] + else: + servers[d].append(attrib) + del root + del serversxml + del elements + + closest = [] + for d in sorted(servers.keys()): + for s in servers[d]: + closest.append(s) + if len(closest) == 5 and not all: + break + else: + continue + break + + del servers + return closest + + +def getBestServer(servers): + """Perform a speedtest.net latency request to determine which + speedtest.net server has the lowest latency + """ + + results = {} + for server in servers: + cum = [] + url = '%s/latency.txt' % os.path.dirname(server['url']) + urlparts = urlparse(url) + for i in range(0, 3): + try: + if urlparts[0] == 'https': + h = HTTPSConnection(urlparts[1]) + else: + h = HTTPConnection(urlparts[1]) + start = timeit.default_timer() + h.request("GET", urlparts[2]) + r = h.getresponse() + total = (timeit.default_timer() - start) + except (HTTPError, URLError, socket.error): + cum.append(3600) + continue + text = r.read(9) + if int(r.status) == 200 and text == 'test=test'.encode(): + cum.append(total) + else: + cum.append(3600) + h.close() + avg = round((sum(cum) / 6) * 1000, 3) + results[avg] = server + fastest = sorted(results.keys())[0] + best = results[fastest] + best['latency'] = fastest + + return best + + +def ctrl_c(signum, frame): + """Catch Ctrl-C key sequence and set a shutdown_event for our threaded + operations + """ + + global shutdown_event + shutdown_event.set() + raise SystemExit('\nCancelling...') + + +def version(): + """Print the version""" + + raise SystemExit(__version__) + + +def speedtest(): + """Run the full speedtest.net test""" + + global shutdown_event, source + shutdown_event = threading.Event() + + signal.signal(signal.SIGINT, ctrl_c) + + description = ( + 'Command line interface for testing internet bandwidth using ' + 'speedtest.net.\n' + '------------------------------------------------------------' + '--------------\n' + 'https://github.com/sivel/speedtest-cli') + + parser = ArgParser(description=description) + # Give optparse.OptionParser an `add_argument` method for + # compatibility with argparse.ArgumentParser + try: + parser.add_argument = parser.add_option + except AttributeError: + pass + parser.add_argument('--bytes', dest='units', action='store_const', + const=('bytes', 1), default=('bits', 8), + help='Display values in bytes instead of bits. Does ' + 'not affect the image generated by --share') + parser.add_argument('--share', action='store_true', + help='Generate and provide a URL to the speedtest.net ' + 'share results image') + parser.add_argument('--simple', action='store_true', + help='Suppress verbose output, only show basic ' + 'information') + parser.add_argument('--list', action='store_true', + help='Display a list of speedtest.net servers ' + 'sorted by distance') + parser.add_argument('--server', help='Specify a server ID to test against') + parser.add_argument('--mini', help='URL of the Speedtest Mini server') + parser.add_argument('--source', help='Source IP address to bind to') + parser.add_argument('--version', action='store_true', + help='Show the version number and exit') + + options = parser.parse_args() + if isinstance(options, tuple): + args = options[0] + else: + args = options + del options + + # Print the version and exit + if args.version: + version() + + # If specified bind to a specific IP address + if args.source: + source = args.source + socket.socket = bound_socket + + if not args.simple: + print_('Retrieving speedtest.net configuration...') + try: + config = getConfig() + except URLError: + print_('Cannot retrieve speedtest configuration') + sys.exit(1) + + if not args.simple: + print_('Retrieving speedtest.net server list...') + if args.list or args.server: + servers = closestServers(config['client'], True) + if args.list: + serverList = [] + for server in servers: + line = ('%(id)4s) %(sponsor)s (%(name)s, %(country)s) ' + '[%(d)0.2f km]' % server) + serverList.append(line) + # Python 2.7 and newer seem to be ok with the resultant encoding + # from parsing the XML, but older versions have some issues. + # This block should detect whether we need to encode or not + try: + unicode() + print_('\n'.join(serverList).encode('utf-8', 'ignore')) + except NameError: + print_('\n'.join(serverList)) + except IOError: + pass + sys.exit(0) + else: + servers = closestServers(config['client']) + + if not args.simple: + print_('Testing from %(isp)s (%(ip)s)...' % config['client']) + + if args.server: + try: + best = getBestServer(filter(lambda x: x['id'] == args.server, + servers)) + except IndexError: + print_('Invalid server ID') + sys.exit(1) + elif args.mini: + name, ext = os.path.splitext(args.mini) + if ext: + url = os.path.dirname(args.mini) + else: + url = args.mini + urlparts = urlparse(url) + try: + f = urlopen(args.mini) + except: + print_('Invalid Speedtest Mini URL') + sys.exit(1) + else: + text = f.read() + f.close() + extension = re.findall('upload_extension: "([^"]+)"', text.decode()) + if not extension: + for ext in ['php', 'asp', 'aspx', 'jsp']: + try: + f = urlopen('%s/speedtest/upload.%s' % (args.mini, ext)) + except: + pass + else: + data = f.read().strip() + if (f.code == 200 and + len(data.splitlines()) == 1 and + re.match('size=[0-9]', data)): + extension = [ext] + break + if not urlparts or not extension: + print_('Please provide the full URL of your Speedtest Mini server') + sys.exit(1) + servers = [{ + 'sponsor': 'Speedtest Mini', + 'name': urlparts[1], + 'd': 0, + 'url': '%s/speedtest/upload.%s' % (url.rstrip('/'), extension[0]), + 'latency': 0, + 'id': 0 + }] + try: + best = getBestServer(servers) + except: + best = servers[0] + else: + if not args.simple: + print_('Selecting best server based on latency...') + best = getBestServer(servers) + + if not args.simple: + # Python 2.7 and newer seem to be ok with the resultant encoding + # from parsing the XML, but older versions have some issues. + # This block should detect whether we need to encode or not + try: + unicode() + print_(('Hosted by %(sponsor)s (%(name)s) [%(d)0.2f km]: ' + '%(latency)s ms' % best).encode('utf-8', 'ignore')) + except NameError: + print_('Hosted by %(sponsor)s (%(name)s) [%(d)0.2f km]: ' + '%(latency)s ms' % best) + else: + print_('Ping: %(latency)s ms' % best) + + sizes = [350, 500, 750, 1000, 1500, 2000, 2500, 3000, 3500, 4000] + urls = [] + for size in sizes: + for i in range(0, 4): + urls.append('%s/random%sx%s.jpg' % + (os.path.dirname(best['url']), size, size)) + if not args.simple: + print_('Testing download speed', end='') + dlspeed = downloadSpeed(urls, args.simple) + if not args.simple: + print_() + print_('Download: %0.2f M%s/s' % + ((dlspeed / 1000 / 1000) * args.units[1], args.units[0])) + + sizesizes = [int(.25 * 1000 * 1000), int(.5 * 1000 * 1000)] + sizes = [] + for size in sizesizes: + for i in range(0, 25): + sizes.append(size) + if not args.simple: + print_('Testing upload speed', end='') + ulspeed = uploadSpeed(best['url'], sizes, args.simple) + if not args.simple: + print_() + print_('Upload: %0.2f M%s/s' % + ((ulspeed / 1000 / 1000) * args.units[1], args.units[0])) + + if args.share and args.mini: + print_('Cannot generate a speedtest.net share results image while ' + 'testing against a Speedtest Mini server') + elif args.share: + dlspeedk = int(round((dlspeed / 1000) * 8, 0)) + ping = int(round(best['latency'], 0)) + ulspeedk = int(round((ulspeed / 1000) * 8, 0)) + + # Build the request to send results back to speedtest.net + # We use a list instead of a dict because the API expects parameters + # in a certain order + apiData = [ + 'download=%s' % dlspeedk, + 'ping=%s' % ping, + 'upload=%s' % ulspeedk, + 'promo=', + 'startmode=%s' % 'pingselect', + 'recommendedserverid=%s' % best['id'], + 'accuracy=%s' % 1, + 'serverid=%s' % best['id'], + 'hash=%s' % md5(('%s-%s-%s-%s' % + (ping, ulspeedk, dlspeedk, '297aae72')) + .encode()).hexdigest()] + + req = Request('http://www.speedtest.net/api/api.php', + data='&'.join(apiData).encode()) + req.add_header('Referer', 'http://c.speedtest.net/flash/speedtest.swf') + f = urlopen(req) + response = f.read() + code = f.code + f.close() + + if int(code) != 200: + print_('Could not submit results to speedtest.net') + sys.exit(1) + + qsargs = parse_qs(response.decode()) + resultid = qsargs.get('resultid') + if not resultid or len(resultid) != 1: + print_('Could not submit results to speedtest.net') + sys.exit(1) + + print_('Share results: http://www.speedtest.net/result/%s.png' % + resultid[0]) + + +def main(): + try: + speedtest() + except KeyboardInterrupt: + print_('\nCancelling...') + + +if __name__ == '__main__': + main() + +# vim:ts=4:sw=4:expandtab diff --git a/technikzeugs/theorie/Das-theoretische-Netz.md b/technikzeugs/theorie/Das-theoretische-Netz.md new file mode 100644 index 0000000..1125698 --- /dev/null +++ b/technikzeugs/theorie/Das-theoretische-Netz.md @@ -0,0 +1,116 @@ +Auf dieser Seite wird die angepeilte Infrastruktur möglichst genau beschrieben. + +## Die einfache Konfiguration +### Genereller Überblick +Anschluss beim ISP --> Der Server --> Der Switch --> PoE --> Nanostation 1 (Bridgemode) --)) Nanostation 2 (Routermode) --> PoE --> Ethernetanschluss + +### Der Server +DHCP Server für das ganze Netz + +### Der Switch +Unkritsch. Glasfaser auf Gigabit-Ethernet. Vermutlich macht es keinen Sinn einen PoE-Switch zu Benutzen + +### Nanostation 1 (Bridge) +WLAN und LAN im sind im selben Netz. Die Station holt sich ihre IP vom DHCP-Server. Sie gibt den Traffic nur durch. + +- Network Mode: Bridge +- Wireless Mode: Accesspoint +- LAN Address: DHCP +- FallbackIP: lassen wir die so? bzw. wollen wir überall die selbe Nutzen + +### Nanostation 2 (Router) +Diese Nanostation funktioniert als DHCP Relay. Sie nimmt die DHCP-Requests von der Seite des Ethernetanschlusses entgegen und leitet sie direkt an den DHCP-Server weiter. So werden Braodcasts vermieden und hinter der Nanostation benimmt sich alles wie ein Subnetz ohne das ein NAT notwendig ist. + +- Network Mode: Router +- Wireless Mode: Station +- LAN Address: DHCP +- FallbackIP: lassen wir die so? bzw. wollen wir überall die selbe Nutzen +- LAN: Relay + - DHCP Server IP: klar oder? + - Agent ID: kann leer bleiben oder eine Info über die Station enthalten + +## etwas Komplizierter für den Anfang +Statt dem direkten Anschluss vom ISP benutzen wir VPN über einen Schlandkabelanschluss: +### Genereller Überblick +Interwobz --> VNP Server ---Schlandkabelnetz---> VPN Server --> DHCP Server --> der Rest wie oben… + +### Der Server +Macht in diesem Fall VPN und DHCP. Für wenige Verbindungen reicht ein PlasteRouter aus. + +## Mesh? +Wie würde ein Meshnetz optimalerweise aussehen? + +# Alternativen: +1-1-zitat equi, wir verwenden momentan ne abgeschwächte form von 3. +Laut ben wird das eventuell problematisch wass die routing-performance auf der Nanostation 2 (Routermodus) angeht. +Das sollte mal gebenchtmarkt werden. +Ansonsten hat L2.5 auch noch seinen charme, aber dafür müssten wir nen bestimmtes modul in den ubiquity-kernel laden, +welches die nicht mitliefern, und welches es auch sonst nicht einfach so zu hohlen gibt, namentlich gretap, eventuell kann man das aber selbst kompilieren, oder bei denen anrufen, müsste man auch mal schauen. + +* L2 / VLAN-switched Netz "1 User = 1 802.1Q VLAN" + = momentaner Westnetz-Aufbau + + Hardware im Rest des Netzes braucht nur Ethernet-Funktionen + + wenig Bugs in kaufbaren Geräten (z.B. Managed Switches) + + einfach für 1 User mehrere Ports zu schalten, auch an völlig + verschiedenen Stellen im Netz + + optimaler Trafficflow bei mehreren Ports für 1 user + + zentralisiertes Routing einfach zu managen + + zentralisiertes DHCP ohne relay + - VLANs müssen an vielen Stellen geconfigt werden + => besonders scheisse wenn das Netz nicht "sternförmig" ist + - suboptimaler Trafficflow zwischen Usern (zum Router + zurück) + - Ethernet-Loops möglich, STP stinkt + - mittelmässige Debuggingfeatures auf Ethernet-Ebene + +* L2.5 / IP-tunneled L2 "1 User = 1 Extended Ethernet Bridge" + = VXLAN, GREtap (in billig), VPLS (in teuer/professionell) + Ethernet-Frames werden am Netzwerkrand/User-Schnittstelle in Tunnel + eingepackt und laufen als Eth<-IP<-Eth<-IP durch den Backbone + + Backbone kann frei auf- und umgebaut werden + + Flexibler Backbone impliziert gute Redundanzmöglichkeiten + + einfach für 1 User mehrere Ports zu schalten, auch an völlig + verschiedenen Stellen im Netz + + zentralisiertes Routing an Tunnelendpunkt + + zentralisiertes DHCP ohne relay + 0 erhöhte MTU im Backbone nötig (allgemein kein Problem) + 0 mittelmässiges Debugging (User kann kein traceroute im Backbone) + - bei VXLAN/GREtap suboptimaler Trafficflow wenn mehrere Ports für 1 + User (zentraler Router und zurück). VPLS hat das problem nicht dank + Split-Horizon-Bridging, gibts nur (noch) nicht in Open Source. + - in kaufbaren Geräten nicht bezahlbar, höchstens Mikrotik (kann VPLS) + - für Linux-Möhren muss der Support im Kernel an sein, was bei + Ubiquiti beim Standardkernel nicht ist -_- + - kaufbare Geräte z.T. mit Bugs und Antifeatures im IP-Routing + +* L3 / Routed Edge "1 Port = 1 IP-Netz" + = Routing in mehr oder weniger Reinform + + Backbone kann frei auf- und umgebaut werden + + Flexibler Backbone impliziert gute Redundanzmöglichkeiten + + generell gut optimierbarer Trafficfluss + + traceroute 4 life + - mehrere IP-Netze pro User wenn mehrere Ports + - NAT schwieriger zu managen wenns zwischen Usern applizieren soll + - dezentrales Routing, komplexes IP-Management + - DHCP entweder direkt auf Edge-Geräten oder mit Relay + - kaufbare Geräte teuer (aber noch bezahlbar) + - kaufbare Geräte z.T. mit Bugs und Antifeatures im IP-Routing + +## Homenet + Babels + +wie schon geschrieben habe ich etwas mit Freifunk Daniel geplaudert. Dabei auch über Redundanz der Antennen sowie OpenSource auf den Antennen selbst gesprochen. +Ein weiteres Szenario was ich durchdenken könnten: + +- Wir besorgen und besage Ubnt EdgeRouter für ~100€ das Stück. +- Installieren OpenWrt und [Homenet](https://github.com/sbyx/hnetd) + * Wie gut funktioniert das? Haben wir Anwendungsfälle zu anschauen? +- Im Interface Menü lässt sich neben Static und DHCP Server nun auch Homenet auswählen +- Auf *unserer* Antennen Infastruktur wird ebenfalls [OpenWRT](https://www.youtube.com/watch?v=TgHYjfTnsI4) installiert +- Damit das gut geht nutzen wir statt Loco besser die [von Daniel empfohlenen Antennen](https://www.ligowave.com/products/dlb-5-15) + * Die Antennen finde ich auch unabhängig vom Rest interessant. +- Routing machen die Geräte dann selbst, wir bauen immer mehr Antennen überall hin und wenn mal was ausfällt sollte automatisch ein Plan B umgeroutet werden. + * Naja, ich würde tatsächlich ungern ein Netz mit potentiell ausfallenden Routen bauen. Das macht für unsere Anwendung nicht so viel Sinn. Einfache Redundanz erfüllt das bei uns ja auch. +- Laut D. lässt sich das ganze gut Debuggen, mit Netzgraphen (wie ich es verstanden habe) +- Weitere Services wie Hosting von Service X machen wir auf weiteren Servern die wir ans Netz anstecken. +- Was haltet ihr davon? + +- Wie können wir solche Modelle testen? Wieviel und welche Hardware brauchen wir, wie viel Aufwand an umflashen und aufbauen ist nötig, bis wir ein Benchmark bekommen? diff --git a/technikzeugs/theorie/Diskussion-Server.md b/technikzeugs/theorie/Diskussion-Server.md new file mode 100644 index 0000000..5c1e543 --- /dev/null +++ b/technikzeugs/theorie/Diskussion-Server.md @@ -0,0 +1,107 @@ +## Anwendungen + +### Routing +Zwischen den beiden netzen "Reudnetz" und "Restinternet" Routen. Potentiell kommt später auch noch "Westnetz" hinzu. + +### DHCP +IP-Adressen an alle interessierten Teilnehmer Verteilen, in ipv6-speek wird das dann Subnetze verteilen. + +### Infrastruktur +Email, Wiki, FAQ, Monitoring, DNS. Alles in seperate VMs abgepackt, so dass das später auch auf andere Server verschoben werden kann. + +Bitte erweitern, falls ich etwas vergessen haben sollte. + +## Hardwareanforderungen +Basierend auf den Anforderungen der Anwendung hier eine Berechnung der notwendigen Hardware + +### RAM +Wir sollten definitiv ECC nutzen. + +* NAT +26 nat-einträge passen in 8kb ram, 128\*8kb = 1mb +wir haben 32 IPs, für jede können wir ein theoretisches maximum an 2\*\*16 ports für 3 protokolle (TCP, UDP, SCTP) mappen. +Maximale Anzahl an mappings: 32\*(2\*\*16)\*3 = 6291456 +⌈(6291456/26)/128⌉ = 1891 ~ 2GB +_2GB_ + +* DHCP +200 Kunden, 3 Geräte pro Kunde (PC, Laptop, Handy) ≈ 600 Geräte +Laut [internet](https://osdir.com/ml/network.dhcp.isc.dhcp-server/2004-03/msg00288.html) < 30mb RAM. + +* Infrastruktur +ich würde großzügig 256 mb/Service rechnen, könnte überprovisioniert werden, weil einiges nicht permanent benutzt wird. +5\*256+200 für VM-overhead (nur einmal weil die pages zwischen den vms gleich sind und geteilt werden) = 1.5GB +_1.5GB_ + +* Cache +Festplattenzugriffe müssen gecached werden, sonst stirbt die performance. +_1GB_ + +Summa Summarum sind wir also bei 2+1.5+1 = 3.5 GB, Also ist der Kauf von 8-16GB ram empfehlenswert. + +### Storage +Cachehierachien sind sinnvoll, Deshalb wäre eine ssd-hdd-lösung cool, Notwendig ist eine Untersuchung von aktivem speicher vs vorgehaltenem speicher um respektiv ssd und hdd-größe zu bestimmen. +Aktiver speicher ist hier die menge an Festplattenspeicher auf den inerhalb eines "kurzen" Zeitraums, ~15 minuten, zugegriffen wird, vorgehaltener Speicher ist die Menge an Daten die auf Der Festplatte herrumliegen und irgendwann benötigt werden könnten. + +* Betriebssysteme und Software +10GB/OS. 6\*10=60GB Theoretisch besteht die Möglichkeit die VMs zu deduplizieren, aber meh. +Diese Blöcke werden nur einmal, beim Start, gelesen, haben also keinen Aktiven Anteil. +_60GB_,_0GB_ + +* DHCP +Aus privacygründen wird die Leasefile nur im Ram gehalten +_0GB_,_0GB_ + +* Email +Das kann Groß werden, wenn wir es Nutzern zur verfügung stellen, aber zu dem Zeitpunkt werden wir das eh auf eine andere Maschiene auslagern. Bis dahin hat das < 10 Nutzer denen man großzügug 5GB geben kann. +10\*5 = 50GB +Emails werden einmal geschrieben, mehrfach gelesen, dann einmal gelöscht, ich würde mit weniger als 1% aktivem Anteil rechnen. +_50GB_,_1GB_ + +* Wiki +Wenn viele Bilder dazukommen, z.B. Panoramas kommen wir eventuell auf 10GB. +Häufig Gelesen werden dann maximal 3 seiten, wenn wir von max. 5 Großen bildern pro Seite ausgehen sind das 3\*5\*10=150MB +_10GB_,_1GB_ + +* FAQ +Alles textbasiert, das kommt nicht über 1GB. +_1GB_,_1GB_ + +* Monitoring +Das kann groß werden, ich würd mal 100GB veranschlagen, das sollte aber mal genauer durchgerechnet werden. +Lesen will man dann meist sätze von ner Woche oder einem Tag, selten einem Jahr, vlt. 2GB? +_100GB_,_2GB_ + +* DNS +<1GB +_1GB_,_1GB_ + + +60+0+50+10+1+100+1 = 222 GB Also 2 500GB-1TB Festplatten im RAID-1 +0+0+1+1+1+2+1 = 6 GB, Also Die Kleinste SSD die zu finden ist. +Eventuell ist es aufgrund des doch sehr kleinen aktiven Anteils sinnvoll auf eine SSD zu verzichten und auf den ram-cache zu vertrauen. +Billige kleine SSD: + + +*Paul* hab sowas Zuhause rumliegen + +### CPU/Mobo + +das ist gut. + +## Hardware +* Mobo/CPU 280€ +* RAM 90€ +* HDD 2x 2\*60€ +* Gehäuse 85€ +* Netzteil 35€ + +**= 610€** + +*Paul* warum ist das Mobo so Teuer? Und wäre es nicht besser wenn wir die CPU später noch aufrüsten könnten? +*Yannik* Unter anderem weil das ziemlich low-power und passiv gekühlt ist, CPU aufrüsten ist eher irrelevant, da die sockel sich permanent ändern. A pro pos passiv gekühlt, wir könnten statt des vorgeschlagenen Netzteils auch ein [anderes](https://geizhals.de/seasonic-ss-300m1u-300w-atx-2-31-eps12v-a819424.html) für 60€ nehmen, das bei unter 50% Last (also praktisch immer) lüfterlos ist, dann hätten wir das komplette Gerät passiv, das wäre dann zudem noch ein stück efizienter. + +### Plan B? + +Freifunk Daniel hat empfohlen [UBNT Edge Router](https://www.ubnt.com/edgemax/edgerouter-lite/) zu benutzen weil die minimal Strom brauchen und mit nem OpenWRT ähnlich zu konfigurieren sind wie nen "richtiger Server". Wenn wir spielereien wie Mail und Hosting eh als Subprojekt Anbieten könnten wir dafür auch einfach andere Server benuzten oder? +Die teile kosten auch [etwas](http://www.amazon.de/Ubiquiti-Networks-ERLite-3-EdgeRouter-Lite/dp/B00CSML06Q) weniger \ No newline at end of file diff --git a/technikzeugs/theorie/services.md b/technikzeugs/theorie/services.md new file mode 100644 index 0000000..ba70deb --- /dev/null +++ b/technikzeugs/theorie/services.md @@ -0,0 +1,52 @@ + Wir hatten ja schon einige Ideen für Interne Dienste. DA wir uns über so etwas erst Gadanken machen brauchen, wenn wir über ein ausreichend großes Netz verfügen, würde ich die Ideen hier mal für spätere Zeiten konservieren. + +Mailman (auch mit PGP) oder "Schleuder" was eindeutig den besseren namen hat +Eastereggs +Freifunk +kostenloses Internet im Park +9.7.13 sorry für fragen, aber was ist das?? ein datum??! +XMPP-Server +Tox-Bootstrap +Webserver für die Nutzer +freenet node + +Projektpaten +Wir vermitteln Menschen, die sich als Ansprechpartner um das interne Netz eines Hausprojektes kümmern + +Openstreetmapinstanz, mit umap + + +peering mit: +guifi.net + + +--- + +Services sollten Grundsätzlich 2 Zwecke erfüllen, der Menschheit und insbesondere unseren Nutzern einen *Mehrwert* bieten, und die wahrscheinlich überflüssige upload-bandbreite, die durch unseren Symetrischen Anschlüss abfällt zu verbraten. + +--- + + + +###VPN +wird tatsächlich für größere Zahl an clients recht rechenaufwändig, zudem symetrischer bandbreitenverbrauch, also eher weniger cool, zudem fraglicher Mehrwert. + +###Mailserver/Mailadressen +Nützlich, kaum Rechenaufwand, kaum Bandbreitenverbrauch, aber aufwändig einzurichten, zudem müssen wir dann zuverlässig sein, email muss funktionieren. + +###Webhosting +Ja + +###Cache +Als optional anschaltbares dingen für größere dateien sicher sinnvoll, insbesondere in hinblick auf OS-Updates und …Videos_ + +###Tor-Exit-Nodes +symetrischer bandbreitenverbrauch, killt bei benutzung garantiert die genutzte ip, oder gleich den ganzen /24, weil es in allen botnetfiltern landet. + +###(v)-Server vermieten +Ja, eventuell sogar so in richtung: wenn du bei uns nen anschluss hast hast du auch automatisch einen minivserver, mit dem du zeug tun kannst, wenn du willst. Das internet muss symetrischer werden, im moment ist das ne ziemliche konsummaschiene. Ungenutzte vserver verbrauchen halt auch praktisch keine Recouren. Helfen zudem upload zu verbraten. + + +###XMPP + +is ded. < this