bash in Docker Container starten

  • Container Id mit docker ps ermitteln
  • sudo docker exec -it [container id] /bin/sh



Warum ich meine Webapp nicht mit dotnet/C# und MSSQLentwickle

Eigentlich wollte ich eine Webapp „Hackinator“ mit dotnet/C# schreiben, die Installation/Konfiguration auf meinem Ubuntu 18.04 vServer wurde mir dann aber doch zu zeitaufwendig/kompliziert. Laut einer schnellen Recherche hätte ich für die Authentifizierung noch kerberos/unixodbc für Ubuntu Linux installieren/konfigurieren müssen, für mich ein absoluter Overkill, wollte doch nur mal eben schnell eine kleine Webanwendung deployen. Deshalb richte ich jetzt eine Entwicklungsumgebung mit Docker, PostgreSQL und Python ein, die fühlt sich unter Linux vermutlich wohler.

Falls ihr einen einfachen Weg kennt dotnet und MSSQL unter Linux zu betreiben schreibt es mir gerne in die Kommentare.




dotnet 6 unter Ubuntu 21.10 installieren

Bash Befehl

sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-6.0




Docker unter Ubuntu 21.10 installieren

Install per apt

apt -y install docker.io

Kontrolle nach der Installation

docker version




SSH für root erlauben unter Ubuntu 21.10

Konfig. Datei editieren

nano /etc/ssh/sshd_config

PermitRootLogin yes

Speichern

STRG+O in nano




IP Adresse unter Ubuntu 21.10 ändern

Die Vorgehensweise wie man eine IP Adresse ändert, variiert je nach Ubuntu Version sehr stark, hier ist ein möglicher Weg für Ubuntu 21.10 beschrieben:

Netzwerkkonfiguration erstellen

nano /etc/netplan/00-installer-config.yaml

network:
ethernets:
ens3:
addresses:
- 10.0.0.3/24
dhcp4: false
gateway4: 10.0.0.1
nameservers:
addresses:
- 8.8.8.8
version: 2

Konfig. übernehmen

sudo netplan apply

IP Adresse zur Kontrolle anzeigen lassen

ip a oder ip address




Sichere Webanwendungen mit ASP.NET Core erstellen

ASP.NET Core Webanwendnungen kommen ohne JavaScript, das kann in pucto IT-Sicherheit ein Vorteil sein.

Benutzer-Login erstellen

  1. Im Visual Studio „ASP.NET Core Webanwendung (Model-View-Controller / MVC)“ erstellen
  2. bei Authentifizierung „einfache Konten“ auswählen, hiermit wird automatisiert der Quellcode einer Userverwaltung generiert
  3. Im sog. Entity Framework steht der Quellcode zur Erstellung der Datenbank, unter „“Data – Migrations – …CreateIdentitySchema.cs“, d.h. die Datenbank und Tabellen werden im Quellcode vorbereitet (sog. „Code First Workflow“), desweiteren lässt sich die Migration wie bei einer Versionverwaltung (bspw. GIT) rückgängig machen

mit „update-database“ wird die Datenbank und Tabellen angelegt

Im „SQL Server-Objekt-Explorer“ sollten jetzt die Tabellen erscheinen

Anwendung erstellen

Was ist das MVC (Model View Controller Pattern)?

Schema/Bauplan zur Erstellung von Anwendungen.

Model ist die Programmlogik, welche Daten zum Controller transferiert.

View ist die für den User sichtbare Benutzeroberfläche (GUI).

Controller führt die Programmlogik und die Daten der View aus und ist das Bindeglied zwischen Model und View.

Seiten Routing im Controller anpassen

Durch den Parameter (String) „Index“ wird die Privacy Seite jetzt auf die Index Seite geroutet/umgeleitet.

Die Startseite kann in der Methode „app.MapControllerRoute“ angepasst werden.

Neue Seite „ProjectsWorkflows“ erstellen, hierzu erstellen wir einen separaten Controller „ProjectsWorkflowsControllers“.

Neuen Ordner und Index Seite (View) für den neuen Controller anlegen:

Quellen (sehr zu empfehlen)




Raspberry Pi und Pi-Hole installieren

Raspberry Pi mit Pi-Hole installieren

Schritt 1

Raspberry Pi Imager unter https://www.raspberrypi.com/software/ runterladen und OS auf SD Karte schreiben.

Schritt 2

SSH aktivieren in raspi-config

Schritt 3

Pi-Hole installieren:

curl -sSL https://install.pi-hole.net | bash

Schritt 4

Quad9 (DNSSEC) wählen









Nachdem der Pi-Hole fertig installiert wurde, kann er im Router als DNS Server konfiguriert werden, dann senden alle Geräte im Netzwerk die DNS Anfragen an den Pi-Hole. Alternativ kann jedes Netzwerkgerät die IP des Pi-Hole als DNS Server eintragen, dann wird nur das konfigurierte Gerät über den Pi-Hole geleitet.




Was ist IT-Sicherheit?


Virenschutz

Laut Bundesamt für Informationstechnik (BSI) ist ein Virenscanner auf einem Computer unerlässlich, da die Bedrohungslage steigt und Schadsoftware immer intelligenter wird, bspw. die Schadsoftware (Trojaner) Emoted, welcher es auf Einzelpersonen, Unternehmen und Regierungseinheiten abgesehen hat. In Windows ist bereits ein kostenloser Virenschutz namens „Defender“ integriert, welcher KI-gestützt Schadsoftware und Randsomware bekämpft, und laut PC-Magazine-Tests gute Dienste leistet.

Updates

Updates schließen Sicherheitslücken resp. Einfallstore für Schadsoftware (Maleware) und sollten regelmäßig installiert werden. Privatpersonen laden sich die Windows Updates meist direkt aus dem Internet herunter. In mittleren und großen Unternehmen erfolgt dies dagegen meist über die Windows Software Update Service (WSUS). Updates werden zunächst auf den WSUS Server geladen und die Clients beziehen diese vom WSUS, dadurch wird der Internet Traffic reduziert desweiteren lässt sich gezielt einstellen, welche Updates vom WSUS runtergeladen werden können bspw. nur Security Patches.  Updates können zunächst nur an Test Computer verteilt werden etc. Sie sehen, WSUS ist ein sehr professionelles Tool zur Verteilung von Windows Updates. Neben WSUS gibt es noch viele andere Software-Anbieter für das Patchmanagement, aber in Active Directory Umgebung fügt sich WSUS nahtlos ein.

Firewall

Eine Firewall soll den Computer vor Angriffen aus dem Netzwerk schützen. Im Betriebssystem Windows ist bereits eine kostenlose Firewall integriert. Standartmäßig werden ausgehende Verbindungen und dessen eingehende Antwort zugelassen. Vom Internet kommende eingehende Verbindungen müssen explizit erlaubt werden, ansonsten werden sie von der Windows Firewall blockiert. Dies bedeuted, dass die Windows Firewall meist im Hintergrund ohne manuelle Eingriffe ihren Dienst verrichtet.

Passwörter

Passwörter sollten möglichst komplex sein und für jeden Dienst/Zugang sollte ein separates gewählt werden. Ein komplexes Passwort besteht aus mind. 10 Zeichen, Klein- und Großbuchstaben sowie Sonderzeichen und Zahlen. Das bedeuted die Bitlänge sollte möglichst lang sein, damit es nicht per Zufallsgeneratoren (sog. Bruteforce Attacken) oder Erraten geknackt werden kann. Ein Passwort sollte immer geschützt gespeichert werden, bspw. in einem Passwortmanager wie KeePass.

2-Faktor-Authentifizierung

Die Zwei-Faktor-Authentifizierung (auch Authentisierung) (2FA) ist ein Identitätsnachweis bestehdn aus zwei Komponenten (Faktoren). Meist ist der 1. Faktor das Passwort und der 2. Faktor eine Smartphone-App in der das Passwort etwas per Fingerprint bestätigt werden muss. 2FA ist heutzutage für schützenswerte Zugänge (VPN, Online Banking etc.) unerlässlich.

Backup

Daten müssen nach einem Datencrash oder Vireninfektion schnell wieder hergestellt werden können, sonst kann dies zu erheblichen finanziellen Verlusten führen. 

Buchempfehlungen IT-Sicherheit

Diese Bürcher habe ich mir selbst gekauft und gelsen und kann sie empfehlen. Anbei die Werbe-Links für die Bestellung bei Amazon, wenn ihr darüber bestellt bekomme ich eine kleine Provision.

Links zum Thema IT-Sicherheit