Allgemein

Django mit Mysql Datenbank

Veröffentlicht am

Django benötigt für das Model Prinzip eine eigene Datenbank. Standardmäßig hat es die SQLite Datenbank mit am Board , jedoch kann die Datenbank auch auf eine besser skalierbare Datenbank wie PostgreSQL, MySQL oder Oracle laufen. Ich habe mich gegen die SQLite Version und für die MySQL Datenbank entschieden, daher gehe ich in diesem Beitrag auf die MySQL Integrierung ein. SQLite sollte unter keinen Umständen in einer produktiv Umgebung genutzt werden! Um Mysql verwenden zu können, benötigen wir ein DB API Treiber wie mysqlclient. Mysqlclient ist ebenfalls die bevorzugte Wahl von Django. Die dazugehörige Dokumentation von Django kann unter dem Tutorial […]

Allgemein

Shell Backup Script erzeugen

Veröffentlicht am

Backups sind wohl eines der wichtigsten Dinge auf einem Server und so darf es natürlich auch nicht auf meinem Server fehlen. Statt einer Software Solution habe ich mir meine mit Hilfe von Shell selbst geschrieben. Das Script ist relativ schmal gehalten, erledigt aber alles mit bravour. Es hat eine Vorhalte Zeit von 5 Tagen welches in der Variable mindir abgespeichert ist. Es werden also insgesamt die letzten 5 Backups beibehalten, die älteren Backups werden automatisch gelöscht.  Die For Schleife beinhaltet alle Ordner die gesichert werden sollen. Das Interessante ist der find Aufruf, um die ältesten Backups zu finden und diese […]

Allgemein

IPs mittels iptables automatisch blockieren lassen

Veröffentlicht am

Eigentlich wollte ich meinen vServer noch sicherer machen, indem ich von Seiten wie myip.ms eine vorgefertigte Blackliste herunterlade. Die gezogenen IPs sollten mittels iptables blockiert werden. Ich hatte auch schon soweit alles fertig geschrieben, ein Python3 Script, ein Shell Script und die SQL Scripte zum Anlegen der Datenbank. Allerdings habe ich nach ein „paar“ Einträgen folgende Nachricht von iptables bekommen: iptables: Memory allocation problem. Nach ein bisschen Internet Recherche fand ich heraus, dass mich mein Hoster auf eine bestimmte Anzahl an iptable Einträgen begrenzt. Die maximal Möglichen Einträge findet ihr mit diesem Befehl. egrep „failcnt|numiptent“ /proc/user_beancounters numiptent steht dabei für […]

Allgemein

SSH Email bei Client Verbindung

Veröffentlicht am

Mein vServer hat zurzeit den SSH Port offen. Dieser befindet sich zwar nicht mehr standardmäßig auf dem Port 22, um sogenannte Bots größtenteils vom Server zu halten, allerdings wollte ich bei jedem Connect informiert werden, damit ich im Falle einer Kompromittierung direkt reagieren kann. Der Port kann in der /etc/ssh/sshd_config angepasst werden. Die eigentliche Mail Benachrichtigung, in der es in diesem Beitrag auch geht, muss in pam.d eingerichtet werden. Eine, wie ich finde gute Seite, die pam.d beschreibt, ist https://web.archive.org/web/20180303034326/http://www.tuxradar.com/content/how-pam-works Kommen wir weiter zu den Änderungen der Datei. Öffnen wir die ssh Datei mit einem beliebigen Editor, in meinem Fall […]

Allgemein

User löschen in Mysql

Veröffentlicht am

Einen Benutzer in Mysql zu löschen ist nicht sonderlich schwer. Es wird lediglich ein root Benutzer auf der Mysql Datenbank benötigt. mysql -uroot -ppasswort Sobald man sich erfolgreich angemeldet hat, tippe folgenden Befehl ein, um all Benutzer der Datenbank zu sehen. select user,host from mysql.user; Sucht dabei euren Benutzer aus, den ihr löschen wollt und merkt euch den User + Host. Diese Informationen werden beim Entfernen der Privilegien und des eigentlichen Benutzers benötigt. Ich hab mir den remote User ausgesucht. Ihr müsst unbedingt aufpassen, dass ihr keinen Mysql oder den Benutzer einer anderen DB erwischt! Das % Zeichen bedeutet im […]

Allgemein

OpenVPN Email bei Clientverbindung

Veröffentlicht am

Ich benutze OpenVPN auf meinem vServer, um eigene Services von der Außenwelt abzuschotten. Sobald ich mich allerdings mit OpenVPN authentifiziert habe, sollen eben jene Services erreichbar sein. Der Vorteil dieser Lösung ist, dass ich nur einen Port, den von OpenVPN, öffentlich stellen muss. Alle anderen Dienste verweilen im internen Netz und sind soweit von außen nicht mehr erreichbar. Dies habe ich durch Firewall regeln festgelegt. Für meinen SSH Dienst hatte ich schon einen Prozess geschrieben, der mich per Mail informiert, sobald eine Verbindung erfolgreich hergestellt wurde. Dies wollte ich nun auch für OpenVPN nachziehen. Dafür installieren wir eine Abhängigkeit: apt […]

Blog

check_mk auf Ubuntu installieren und einrichten

Veröffentlicht am

check_mk ist, wie nagios und icinga2, ein Monitoring Tool. Vorerst basierte es auf dem nagios Kern, profitiert mittlerweile aber schon von seinem eigenen Monitoring Kern, genannt checkmk MultiCore(CMC). Der Kern ist das Herzstück eines jeden Monitoringsystems, da es die Plugins anstößt, die Ergebnisse sammelt und aufbereitet. Laut Hersteller sind über 1700 „intelligenter Plugins“ verfügbar, die die Hosts überwachen können. Dabei ermittelt der Kern den differenzierten Zustand(OK,WARN,CRIT). Die Einsatzbereiche von check_mk befinden sich im Servermonitoring, Applikationmonitoring,Netzwerkmonitoring, Cloudmonitoring,Speichermonitoring, Datenbankmonitoring, Umgebungsmonitoring, sowie Containermonitoring. Der Vorteil gegenüber anderen Monitoringsystemen soll der vereinfachte Aufwand sein, Hosts und Services einzurichten. Dafür verwendet check_mk eine Webschnittstelle. Nagios […]

Blog

Gesichtserkennung in Python Part II

Veröffentlicht am

Im ersten Gesichtserkennung Tutorial habe ich an einem existierenden Beispiel gezeigt, wie diese einzurichten ist. Ich habe das Script nun um folgende Funktionen erweitert. Die erste Erweiterung ermöglicht das Erkennen von mehreren Personen. Die Zweite begrüßt erkannte Personen mit einer persönlichen Sprachnachricht. Für diese Erweiterung habe ich die Dateistruktur leicht verändert:   im Ordner faces liegen Bilder von bekannten Personen. Die gleichnamige Sprachdatei liegt dabei unter welcomemessage. Der Code selber liegt im Root Ordner face_recognition. Schaut man sich die Unterschiede zwischen dem Code in Part I und Part II an, so bemerkt man, dass es nur kleine Änderungen sind. Ich […]

Blog

Gesichtserkennung in Python

Veröffentlicht am

Ich habe mich intensiver mit der Gesichtserkennung auf dem Raspberry Pi beschäftigt. Alles was benötigt wird ist natürlich der Raspberry, als auch eine für den Pi geeignete Kamera. Unter Gesichtserkennung versteht man eine Analyse der menschlichen Merkmale am Kopf. Dazu gehören z.B. die Augen, Nase und Mund. Das hat natürlich jeder Mensch, daher wird die Position, Form und der Abstand verglichen, da diese Merkmale für jeden Menschen einzigartig sind. Die Merkmale werden auch als der biometrische Token bezeichnet. Dieser Token wird in einem System gespeichert und fortan für die Gesichtserkennung benutzt. Das System berechnet die selben Werte bei einen neuem […]

Allgemein

Shell Script zum Kopieren

Veröffentlicht am

Ich habe mir heute mal ein keines Shell Script geschrieben, welches mir Dateien hin und hier schiebt. Ziel war es die Daten von meinem Test System in die Produktiv Ordner meines Webserver zu schieben. Da es mehrere Ordner sind, war und ist es ziemlich mühselig Änderungen auf die produktiven Seiten zu kopieren. Die Funktionsweise ist eigentlich ziemlich schnell erklärt. Im Array sind meine Produktiv Systeme, bzw. Ordner. In der ersten IF-Anweisung prüft er ob die Datei, die ich der Shell als Parameter übergeben habe, überhaupt im Test existiert. Sollte dies der Fall sein, springt das Script in ein Loop über […]