Bitwarden_rs / Vaultwarden Installation unter Docker

In diesem Beitrag zeige ich dir wie du dir dein eigenen Passwortsafe installieren kannst. Ich verwende hierfür Bitwarden_rs da man hier eine schöne Einstellungswebseite hat.

Installation

sudo apt install docker.io
sudo systemctl start docker 
sudo systemctl enable docker
docker pull vaultwarden/server:latest
docker run -d --name bitwarden \
  -e ADMIN_TOKEN=Hier_gibst_du_ein_Passwort_ein \
  -e WEBSOCKET_ENABLED=true \
  -v /vw-data/:/data/ \
  -p 80:80 \
  --restart on-failure \
  vaultwarden/server:latest

Um auf die Adminoberfläche zu kommen gebe im Browser die Serveradresse und hänge ein /admin daran.

Du gelangst nun auf diese Seite hier gibst du den Admin-Token ein den du konfiguriert hast.

Nun hast du verschiedenste Einstellungsmöglichkeiten wie SMTP. Ebenfalls kannst du Hier schon Benutzer anlegen.


Domain Join mittels PowerShell

In diesem Beitrag zeige ich dir wie du einen Windows Client in eine Windows Domaine per Skript aufnimmst.

Im Beispiel ist die Domaine die „hense.local“ uns das Passwort liegt verschlüsselt unter „C:\temp“.
In einem anderen Beitrag habe ich schonmal gezeigt wie man ein Passwort mittels PowerShell verschlüsseln kann. Dies wird hier benötigt.

Schritte

  • Passwort Verschlüsseln
  • Variablen anpassen
  • Skript als Admin ausführen
### Erstellt am 22.05.2021 - Philipp Hense - it-hense.de ###

# Variablen

$DomainName = "hense.local"
$PasswortSpeicherort = C:\temp


## Ab hier nichts mehr ändern ##

#Credentials aufbauen
$username = "Administrator"
$key = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2)
$password = get-content ("$PasswortSpeicherort\passwort.txt") | convertto-securestring -key $key
$credentials = New-Object System.Management.Automation.PSCredential (“$username”, $password)

#Domain Join
Add-Computer -DomainName $DomainName -Restart -Credential $credentials

PowerShell Passwort verschlüsseln

In diesem Beitrag zeige ich dir wie du mittels PowerShell ein Passwort verschlüsseln kannst. Dies wird oftmals gebraucht um ein Passwort in ein Skript einzubauen ohne das es in Klartext eingefügt wird. Wenn du dieses Skript benötigst lade dir den Sourcecode herunter.

Skripte

### Erstellt am 23.03.2021 - Philipp Hense ###

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$Speicherort                     = New-Object system.Windows.Forms.Form
$Speicherort.ClientSize          = New-Object System.Drawing.Point(725,232)
$Speicherort.text                = "Speicherort"
$Speicherort.TopMost             = $false
$Speicherort.icon                = ".\icon.ico"

$Eingabe                         = New-Object system.Windows.Forms.TextBox
$Eingabe.multiline               = $false
$Eingabe.text                    = "z.B. C:\temp"
$Eingabe.width                   = 673
$Eingabe.height                  = 20
$Eingabe.Anchor                  = 'top,right,bottom,left'
$Eingabe.location                = New-Object System.Drawing.Point(30,78)
$Eingabe.Font                    = New-Object System.Drawing.Font('Courier New',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Italic))
$Eingabe.ForeColor               = [System.Drawing.ColorTranslator]::FromHtml("#0017ff")
$Eingabe.BackColor               = [System.Drawing.ColorTranslator]::FromHtml("#ffffff")

$Label                           = New-Object system.Windows.Forms.Label
$Label.text                      = "Bitte gebe hier den Pfad an in der das Passwort verschluesselt abgespeichert werden soll."
$Label.AutoSize                  = $true
$Label.width                     = 350
$Label.height                    = 10
$Label.Anchor                    = 'top,right,left'
$Label.location                  = New-Object System.Drawing.Point(6,15)
$Label.Font                      = New-Object System.Drawing.Font('MV Boli',12)

$abbrechen                       = New-Object system.Windows.Forms.Button
$abbrechen.text                  = "Abbrechen"
$abbrechen.width                 = 210
$abbrechen.height                = 40
$abbrechen.location              = New-Object System.Drawing.Point(116,159)
$abbrechen.Font                  = New-Object System.Drawing.Font('Tw Cen MT',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Bold))
$abbrechen.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#ff0000")
$abbrechen.BackColor             = [System.Drawing.ColorTranslator]::FromHtml("#d1d1d1")
$abbrechen.Add_Click({$Speicherort.Close()})


$speichern                       = New-Object system.Windows.Forms.Button
$speichern.text                  = "Speichern"
$speichern.width                 = 210
$speichern.height                = 41
$speichern.location              = New-Object System.Drawing.Point(377,158)
$speichern.Font                  = New-Object System.Drawing.Font('Tw Cen MT',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Bold))
$speichern.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#03770e")
$speichern.BackColor             = [System.Drawing.ColorTranslator]::FromHtml("#d1d1d1")

$speichern.Add_Click({$Speicherort.Close(); .\passwort-hash.lnk -Eingabe $Eingabe.Text})

$copyright                       = New-Object system.Windows.Forms.Label
$copyright.text                  = " 2021 Philipp Hense"
$copyright.AutoSize              = $true
$copyright.width                 = 25
$copyright.height                = 10
$copyright.location              = New-Object System.Drawing.Point(10,218)
$copyright.Font                  = New-Object System.Drawing.Font('Microsoft Sans Serif',7)
$copyright.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#acacac")

$Speicherort.controls.AddRange(@($Eingabe,$Label,$abbrechen,$speichern,$copyright))



[void]$Speicherort.ShowDialog()
### Erstellt am 23.03.2021 - Philipp Hense ###

param (
 [string] $Eingabe = $Eingabe
)

$File = "$Eingabe"
$File_a = ("$File").TrimStart("System.Windows.Forms.TextBox, Text: ")
$File_neu = $File_a + "\passwort.txt"
$password = Read-Host Bitte Passwort eingeben -AsSecureString
$key = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2)
$password | ConvertFrom-SecureString -key $key| Set-Content ("$file_neu")

Links

Philipp Hense / Powershell-Passwort-verschlüsseln · GitLab


Eigenen Jellyfin Server unter Linux installieren

Du möchtest dir deinen eigenen Jellyfin Server installieren? Dann bist du hier richtig. In diesem Beitrag zeige ich dir wie du deinen eigenen Jellyfin Server installieren kannst.

System updaten

sudo apt-get update && sudo apt-get upgrade -y

SMB Utility installieren

sudo apt-get install cifs-utils 

Mount Point erstellen

sudo mkdir /jellyfin/
sudo mkdir /jellyfin/media

fstab Eintrag

sudo nano /etc/fstab
//192.168.0.137/Media  /jellyfin/media  cifs credentials=/home/.smbcredentials,uid=1000,gid=1000 0 0

Mit STRG+O speicherst du die Datei und mit STRG+X gehst du aus der Datei heraus.

sudo nano /home/.smbcredentials
username=Hier den Benutzer vom NAS eintragen
password=Hier das Passwort vom Benutzer eintragen

Jellyfin installieren

HTTPS-Transport für apt installieren

sudo apt install apt-transport-https

Repository hinzufügen

sudo add-apt-repository universe

Key hinzufügen

sudo wget -O - https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo apt-key add -

Konfiguration der Repository

sudo /etc/apt/sources.list.d/jellyfin.list:
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Jellyfin Package installieren

sudo apt update
sudo apt install jellyfin

Jellyfin starten

sudo systemctl enable jellyfin

Links

Jellyfin-Projekt – Jellyfin


nginx Reverse Proxy Manger installieren

In diesem Beitrag stelle Ich dir den Nginx Proxy Manager vor, ein Reverse Proxy mit einfacher, grafischer Benutzeroberfläche. Hiermit kannst du ganz leicht Reverse Proxy’s anlegen, Access Control Listen erstellen und kostenlose SSL Let’s Encrypt Zertifikate erstellen.

System updaten

sudo apt update && sudo apt upgrade -y

Docker installieren

sudo apt install docker.io
sudo systemctl start docker 
sudo systemctl enable docker

Docker Compose installieren

sudo apt install curl

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Nginx Proxy Manger installieren

Ordner erstellen

mkdir npm
cd npm

config.json erstellen

nano config.json
{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "npm",
    "user": "npm",
    "password": "npm",
    "port": 3306
  }
}

docker-compose.yml erstellen

nano docker-compose.yml
version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
    volumes:
      - ./data/mysql:/var/lib/mysql

Docker erstellen

docker-compose up -d

Webzugriff

Du kannst den nginx Proxy Mnager über folgende Adresse erreichen. http://hostip:81 (Hostip einfach dur die IP-Adresse vom Server ersetzen).

Erster Login

user: admin@example.com
pw: changeme

Links

GitHub – jc21/nginx-proxy-manager: Docker container for managing Nginx proxy hosts with a simple, powerful interface


RocketChat Installation unter Ubuntu mittels Snap

Du möchtest deinen Eigenen Chat Server installieren hierfür eignet dich der RocketChat sehr gut. Die Anforderungen hierfür sind nicht hoch und er ist in wenigen Schritten installiert.

Anforderungen

  • Ubuntu / Debian
  • min 1 GB RAM

Installation

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install snapd -y

sudo snap install rocketchat-server

Links

Snaps – Rocket.Chat Docs
Installiere unsere Apps und nutze unseren Server – Rocket.Chat – Rocket.Chat


Bitlocker Key in Active Directory schreiben

In diesem Beitrag zeige ich dir wie du einen schon vorhandenen Bitlocker Key in die Windows AD schreiben kannst.

Dies wird oftmals dann gebraucht falls die Gruppenrichtlinie nicht funktioniert hat und der Key nicht automatisch geschrieben wurde, oder das Computerkonto aus versehen gelöscht wurde.

PowerShell Skript

### Erstellt am 07.04.2021 - Philipp Hense ###

$key = manage-bde -protectors -get c: 
$key = $key.trim() -join ";"
$keymatches = ($key | select-String -pattern "ID: {(?<ID>[0-9ABCDEF-]+)};Kennwort:;(?<K>[0-9-]*)" -AllMatches).Matches
 
$key_id = $keymatches[0].Groups.Item(1).Value
$keymatches[0].Groups.Item(2).Value



manage-bde -protectors -adbackup c: -id "{$key_id}"

Führe das Skript als Admin aus!

Links

Philipp Hense / Bitlocker Key in AD schreiben · GitLab


OpenSlides Übersicht

Allgemein

In der Weboberfläche findet man links das Menü in dem man alles einstellen kann.

Startseite

Auf der Startseite wird einem in der Regel die Wichtigsten Informationen zur Veranstaltung angezeigt.

Admin Einstellungen

Wenn man als Admin die Startseite anpassen möchte klickt man rechts oben einfach auf den Stift dies funktioniert auf jeder Seite so. Nun kann man die Überschrift der Startseite ändern und den Text der unter dem Titel angezeigt werden soll.

Autopilot

Wenn du im Autopilot bist wirst du im Normalfall durch die komplette Veranstaltung geleitet. Wenn eine Wahl oder ein Antrag ansteht bekommst du eine Information dass du nun wählen darfst.

Tagesordnung

In der Tagesordnung siehst du die einzelnen Punkte die auf der Tagesordnung stehen.

Admin Einstellungen

Als Admin hast du die Möglichkeit die einzelnen Punkte zu projizieren so dass diese im Autopiloten angezeigt werden. Ebenfalls kannst du als Admin die einzelnen Punkte erstellen hierzu einfach auf das + klicken.

Wahlen

In den Wahlen werden die verschiedenen Wahlen angezeigt. Du kannst dich je nach Berechtigung selber aufstellen lassen und zur Wahl kandidieren oder auch andere Teilnehmer aufstellen. Wenn ein Wahlvorgang gestartet wurde kannst du auch direkt unter Wahlen deine Stimme abgeben.

Admin Einstellungen

Als Admin kannst du Wahlen erstellen. Ebenfalls hast du die Möglichkeit wenn du direkt in einer Wahl bist einen neuen Wahlvorgang zu Starten.

Teilnehmende

Unter dem Punkt Teilnehmende findest du alle Teilnehmende die an der Veranstaltung teilnehmen.

Admin Einstellungen

Als Admin kannst du neue Benutzer anlegen. Dies funktioniert entweder über das + oder du importierst eine CSV Datei über die drei Punkte.

CSV Import

Die CSV muss im folgenden Stil aufgebaut sein.

Titel, Vorname, Nachname, Gliederungsebene, Teilnehmernummer, Gruppen, Kommentar, Ist aktiv, Ist anwesend, Ist ein Gremium, Initiales Passwort, E-Mail, Benutzername, Geschlecht, Stimmgewicht

Dateien

Unter Dateien kannst du hochgeladene Dateien Ansehen und diese herunterladen.

Admin Einstellungen

Falls du Admin bist kannst du hier Ordner oder einzelne Dateien erstellen bzw. hochladen.

Chronik

Hier findest die wie einen Log der geführt wird sobald irgendwas in der Veranstaltung getätigt wird.

Einstellungen (Admin)

Hier kannst verschiedenes zur Veranstaltung einstellen wie zum Beispiel

  • Allgemein
    • Veranstaltungsname
    • Kurzbeschreibung der Veranstaltung
    • Veranstaltungszeitraum
    • Veranstaltungsort
    • Livekonferenzen
    • Gast Zugriff erlauben
    • Design Einstellungen
  • Tagesordnung
    • Beginn der Veranstaltung
    • Nummerierung der Punkte
  • Anträge
    • Wie die Abstimmung erfolgen soll
  • Wahlen
    • Wahlmethode
    • Art der Stimmangabe
    • Stimmrecht
    • Export
  • Teilnehmende
    • Sortierung
    • Stimmgewicht aktivieren
    • Anwesenheit
    • PDF Export
    • E-Mail Einstellungen
Hallo {name},

bei der Jahreshauptversammlung nutzen wir das Tool OpenSlides für Abstimmungen und Wahlen.


hier ist Ihr persönlicher Abstimmungs-Zugang:

    {url}
    Benutzername: {username}
    Passwort: {password}

Die Zugangsdaten sind geheim und dürfen unter keinen Umständen weitergegeben werden!


Mit freundlichen Grüßen 


Diese E-Mail wurde automatisch erstellt.

Links

OpenSlides Server erstellen – IT-Hense
OpenSlides Handbuch


UniFi Network Controller unter Linux installieren

Falls du dir gerne die Kosten für den UniFi Cloud Key sparen möchtest kannst du dies auch ganz einfach selber installieren. In diesem Beitrag zeige ich dir wie du dies machen kannst.

Systemanforderungen

  • Ubuntu / Debian Server
  • Webbrowser deiner Wahl

Installation

Alle schritte werden als root User ausgeführt.

System auf Updates Prüfen

apt update 
apt upgrade 

ca-certificates und wget installieren

apt install ca-certificates wget

Download des Skriptes

wget https://get.glennr.nl/unifi/install/install_latest/unifi-latest.sh 

Skript ausführen

bash unifi-latest.sh


OpenSlides Server erstellen

Da bei mir in einem Verein Neuwahlen anstanden und es durch die aktuelle Situation (Corona) leider nicht möglich war eine Offline Wahl zu veranstalten, mussten wir uns Gedanken machen wie wir das ganze umsetzen könnten. Nach einigen Tagen Suchen sind wir auf das Programm OpenSlides gestoßen. Im folgenden zeige ich dir wie du deinen eigen OpenSlides Server aufsetzen kannst.

Funktionen

  • Projektor
  • Tagesordnung
  • Redelisten
  • Antragsverwaltung
  • Wahlen verwalten und Ergebnisse protokollieren
  • eVoting (Abstimmungen und Wahlen live durchführen)
  • Teilnehmerverwaltung
  • Volltextsuche
  • responsive Design
  • Datenimport/-export
  • Mehrsprachigkeit

Systemanforderungen

  • Ubuntu / Debian
  • 512 MB Ram
  • Python >= 3.6
  • Browser deiner Wahl

Installation

Installiere zunächst einmal Python mit diesem Befehl:

sudo apt-get install build-essential python3-dev python3-venv

Als zweiten Schritt solltest du ein Virtual Enviromnent erstellen. Dies machst du mit den folgenden Befehlen:

mkdir OpenSlides
cd OpenSlides
python3 -m venv .virtualenv
source .virtualenv/bin/activate
pip install --upgrade setuptools pip

Installiere nun OpenSlides.

pip install openslides

Mit folgendem Befehl Startest du OpenSlides:

openslides

Anmelden

Du kannst dich über http://IP-Adresse:8000 anmelden: Der Erste Benutzer ist admin mit dem Passwort admin.

Konfigurationsdatei

Da ich das ganze als root User ausgeführt habe liegt die Konfigurationsdatei bei mir unter

nano /root/.config/openslides/settings.py

Elektronisches Wählen

Falls du die Wahlen online Durchführen willst musst du in der Konfig folgendes einfügen.

ENABLE_ELECTRONIC_VOTING = True

Email Einstellungen

EMAIL_HOST = ''
EMAIL_PORT = 587
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
EMAIL_TIMEOUT = None
DEFAULT_FROM_EMAIL = ''

Diesen Teil gibt es schon in der Konfig ändere hier nur deine Werte ab.

Im Anschluss kannst du OpenSlides wieder starten und die Einstellungen werden übernommen.

Autostart von OpenSlides

Falls du OpenSlides automatisch nach einem Reboot starten lassen möchtest benötigst du einfach ein Shell Skript.

nano /root/openslides-starten.sh
#!/bin/bash

cd /root/OpenSlides
source .virtualenv/bin/activate
openslides

Nun musst du das Skript ausführbar machen.

chmod +x /root/openslides-starten.sh

Im Letzten Schritt fügst du im Crontab noch das Skript ein.

crontab -e
@reboot /root/openslides-starten.sh

Links

OpenSlides: das digitale Antrags- und Versammlungssystem