Posts

Raspi als Honeypot preparieren

Wenn ihr auch eine  Raspi im lokalen Netzwerk angeschlossen habt und außerdem nicht sicher seit was die anderen Geräte wie TV oder Xbox in eurem Netzwerk so machen, könnt ihr dem Raspi noch eine Zusatzfunktion verleihen. Installiert einen Honeypot auf dem Gerät.

Ein Honeypot ist im Grunde ein Dienst, den keiner braucht und deshalb nicht nutzt. Fängt ein Angreifer an das Netzwerk auszuspähen, trifft er zwangsläufig auf die vom Honeypot bereitgestellten Dienste und versucht diese zu inspizieren.

Nun gibt sich der Honeypot wie ein echter Dienst aus und protokoliert die Aktivitäten. Eine Benachrichtigung, z.B. via Email informiert den Administrator über ein potentielles Problem.

Wie also den Raspi zu einem Honeypot machen. Die Software tiny-honeypot bietet, was wir benötigen. Dazu muss vorerst git und xinetd installiert werden.

apt update
apt install git xinetd

nun kann das Projekt abgeholt werden und in das System integriert werden

git clone https://github.com/tiny-honeypot/thp.git
cd thp/
ch…

Das letzte Geheimnis

Um die Kommunikation zwischen mehreren IT-Systemen zu sichern läuft man immer wieder in das Problem des letzten Geheimnisses.

Wir wollen eine Kommunikation aufbauen, die zum einen abhörsicher ist, zum anderen beide Seiten eindeutig identifizieren soll. Der erste Teil ist dank asynchroner Verschlüsselung nicht mehr schwer. Jede Seite hält einen öffentlichen Schlüssel der anderen Seite. Da niemand dazwischen, ohne den privaten Schlüssel die Daten lesen kann sind die Daten vor fremden 'Ohren' sicher.

Der zweite Teil wird gelöst, indem sich jede Seite durch ein Geheimnis, z.B. Passwort identifiziert. Auch hier kommen asynchrone Schlüssel zur Anwendung. Eine Zeichenfolge wird verschlüsselt und dem gegenüber geschickt. Kann dieser die Zeichen entschlüsseln, wurde er erfolgreich identifiziert.

Was aber, wenn ein System kompromittiert wird? Wenn ein Dritter Zugriff auf Datenbank oder Dateisystem bekommt, oder Programmcode auf dem gesicherten System ausführen kann. Er kann private Schl…

Merken: MariaDB Datenbank und User aufsetzen in 5 Minuten

Auch hier zuerst den Docker-Container starten. Ich benötige eine Version 10.2. Hier wieder der Link zur Beschreibung des Containers.

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=nein -d mariadb:10.2
und nun den Client aufrufen


docker run -it --link mariadb:mysql --rm mariadb sh -c 'exec mysql -hmariadb -uroot -pnein'
Nachdem die Datenbank-Instanz bereit steht, die Datenbank, Benutzer und Rechte anlegen:

CREATE DATABASE testdb1;
CREATE USER 'usr_testdb1'@'localhost' IDENTIFIED BY 'nein';
GRANT ALL PRIVILEGES ON testdb1.* TO 'usr_testdb1'@'localhost';


Oder/Und eine Benutzer, der auch von außen zugreifen kann:

CREATE USER 'usr_testdb1'@'%' IDENTIFIED BY 'nein';
GRANT ALL PRIVILEGES ON testdb1.* TO 'usr_testdb1'@'%';

Merken: Postgresql Datenbank und User aufsetzen in 5 Minuten

Zuerst Postgres im Docker-Container starten und den Client aufrufen. Die Version ist natürlich optional. Hier der Link zur Beschreibung des Containers.

docker run --name postgres -e POSTGRES_PASSWORD=nein -d postgres:9.6.7
docker run -it --rm --link postgres:postgres postgres psql -h postgres -U postgres
Jetzt die Datenbank anlegen:

CREATE DATABASE testdb1 WITH ENCODING='UTF8';
Den Benutzer:

CREATE USER usr_testdb1 WITH PASSWORD 'nein';
Und nun die Berechtigungen:

GRANT ALL PRIVILEGES ON DATABASE testdb1 TO usr_testdb1;
Fertig!

Hello

Und wieder ein neuer Versuch in der Konzeptreihe: 'Wie gestalte ich meinen Blog'. Einiges an Erfahrung kann ich schon zur Umsetzung bringen. Das grundlegende Problem...

Zum einen soll die Software erklärt und beschrieben werden, die ich in Open-Source-Projekten (OSS) entwickle. Zum anderen beschreibe ich technische Kniffe und Lösungen die ich gefunden oder mir besonders aufgefallen sind.

Da das Bloggen auf englisch immer wieder dazu führt, dass das Vorhaben einschläft, nun ein Blog in zwei Sprachen. Also mein privater Blog auf deutsch und die OSS Inhalte auf englisch.

Ich bin gespannt, ob es funktioniert...