Commit df0f1425 authored by Bernhard Steindl's avatar Bernhard Steindl
Browse files

initial public release

parents
# Specify filepatterns you want git to ignore.
public/
# This file is a template, and might need editing before it works on your project.
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Pages/Hugo.gitlab-ci.yml
---
# All available Hugo versions are listed here:
# https://gitlab.com/pages/hugo/container_registry
image: registry.gitlab.com/pages/hugo:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
test:
script:
- hugo
except:
variables:
- $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
pages:
script:
- hugo
artifacts:
paths:
- public
only:
variables:
- $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
[submodule "themes/PaperMod"]
path = themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod.git
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---
---
# Title
title: "000 Example"
# Enter the author's name
author: Bernhard Steindl
# Don't change
type: post
# Customize URI; default: post/filename
url: /yubikey-fuer-linux-login-als-u2f-2-faktor-verwenden/
# Date
date: 2022-01-02T18:21:11+01:00
# Is this draft?
draft: true
# Show Table of Content?
showToc: true
# Available categories. Please comment out!
categories:
#- Admin-Tipps
#- Allgemein
#- Arch Linux
#- Debian
#- Denkt's noch!
#- Grundlagen
#- Hardware
#- mariadb
#- News
#- nginx
#- Politik
#- Projekte
#- Proxmox
#- Rants
#- Satire
#- Synology
#- Tor
#- Ubiquiti Unifi
#- Windows
#- Wordpress
#- ZFS
---
# For syntax tips, look here: https://hugoloveit.com/basic-markdown-syntax/ and for syntax highlighting https://gohugo.io/content-management/syntax-highlighting/
baseURL: https://bernhardsteindl.at
languageCode: de-at
title: Bernhard Steindl's Blog
paginate: 5
theme: PaperMod
enableRobotsTXT: true
buildDrafts: false
buildFuture: false
buildExpired: false
#googleAnalytics: off
minify:
disableXML: true
minifyOutput: true
params:
env: production # to enable google analytics, opengraph, twitter-cards and schema.
title: Bernhard Steindl's Blog
description: "Website von Bernhard Steindl"
keywords: [Blog, Portfolio]
author: Bernhard Steindl
# author: ["Me", "You"] # multiple authors
#images: ["<link or path of image for opengraph, twitter-cards>"]
DateFormat: "January 2, 2006"
defaultTheme: auto # dark, light
disableThemeToggle: false
ShowReadingTime: true
ShowShareButtons: false
ShowPostNavLinks: true
ShowBreadCrumbs: true
ShowCodeCopyButtons: false
disableSpecial1stPost: false
disableScrollToTop: false
comments: false
hidemeta: false
hideSummary: false
showtoc: false
tocopen: false
assets:
# disableHLJS: true # to disable highlight.js
disableFingerprinting: true
favicon: "/favicon.ico"
favicon16x16: "/favicon-16x16.png"
favicon32x32: "/favicon-32x32.png"
apple_touch_icon: "/apple-touch-icon.png"
safari_pinned_tab: "<link / abs url>"
label:
text: "bernhardsteindl.at"
#icon: /apple-touch-icon.png
#iconHeight: 35
# profile-mode
profileMode:
enabled: false # needs to be explicitly set
title: ExampleSite
subtitle: "This is subtitle"
imageUrl: "<img location>"
imageWidth: 120
imageHeight: 120
imageTitle: my image
buttons:
- name: Posts
url: posts
- name: Tags
url: tags
# home-info mode
homeInfoParams:
Title: "Willkommen auf bernhardsteindl.at"
Content: Politik, Technik und a bissl Verkehr. Schreibt's ma afoch a Mail, wenns a eichan Senf dazua ogem wöts.
socialIcons:
- name: email
url: "mailto:kontakt@e9a.at"
- name: gitlab
url: "https://gitlab.com/e9a"
- name: github
url: "https://github.com/e9a"
cover:
hidden: true # hide everywhere but not in structured data
hiddenInList: true # hide on list pages and home
hiddenInSingle: true # hide on single page
editPost:
URL: "https://gitlab.com/e9a/bernhardsteindl.at/-/tree/master/content/"
Text: "Änderungen vorschlagen" # edit text
appendFilePath: true # to append file path to Edit link
# for search
# https://fusejs.io/api/options.html
fuseOpts:
isCaseSensitive: false
shouldSort: true
location: 0
distance: 1000
threshold: 0.4
minMatchCharLength: 0
keys: ["title", "permalink", "summary", "content"]
menu:
main:
- identifier: suche
name: suche
url: /search
weight: 10
- identifier: kategorien
name: kategorien
url: /categories/
weight: 20
- identifier: blog
name: posts
url: /posts/
weight: 30
- identifier: faq
name: faq
url: /faq/
weight: 40
- identifier: impressum
name: impressum
url: /impressum
weight: 50
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
# pygmentsUseClasses: true
# markup:
# highlight:
# # anchorLineNos: true
# codeFences: true
# guessSyntax: true
# lineNos: true
# style: monokai
outputs:
home:
- HTML
- RSS
- JSON # is necessary
---
title: "Fragen und unpassende Antworten"
url: "/faq"
ShowReadingTime: false
hidemeta: true
ShowBreadCrumbs: false
---
## Hä, warum gibts dieses e9a nimmer
Nach über 6 Jahren e9aBlog hab ich mir gedacht, ich mach mal was neues, erstens mal nicht mehr auf Wordpress-Basis, dieses stinkende PHP-Zeugs möchte ich nie mehr wieder sehen - und zweitens etwas politischer als vorher.
## Wird es auch hier Beiträge von anderen Autoren geben
Wanndann nur selten und dann extra markiert. Heißt ja auch bernhardsteindl.at und nicht jedervollkoffer.at
## Warum bist du so unfreundlich, vor allem zur ÖVP und den Nazis?
Ja
## Hast du sonst nix zu tun?
Doch doch, aber man kann nicht immer den ganzen Tag dasselbe tun, da wirst ja verrückt wie ... du?
## Ich will dir Danke sagen! (wtf?)
Bitte einmal ins Impressum schauen: [klick](/impressum)
---
title: "Impressum"
url: "/impressum"
ShowReadingTime: false
hidemeta: true
ShowBreadCrumbs: false
---
Servus, schön, dass du dir mein Impressum durchlesen willst oder musst, weil dir dein Arbeitgeber gesagt hat, du sollst eine Unterlasssungserklärung
oder sonst einen Mist vorbereiten. Dann hast du natürlich Pech und es ist nicht so schön. Wie heißt's so gerne: Augen auf bei der Berufs- und Frauenwahl.
## Adresse
Weil's sein muss aber ich sag's gleich, ich bin nicht oft daheim und die Briefbomben schickt bitte woanders hin.
Bernhard Steindl
3500 Krems an der Donau
## Elektronischer Kontakt
[E-Mail](mailto:kontakt@e9a.at), aber bitte verschlüsselt mittels PGP! Die Keys dafür befinden sich am [Mirror](https://mirror.e9a.at/keys/bsteindl-public.asc) oder bei dem [Keyserver](https://keys.openpgp.org/vks/v1/by-fingerprint/BF864BE2913B04CD01B91F576DF568762B0DC626).
### Spezielle E-Mail-Adressen
- Abmahnungen bitte nur an [bernhard-abmahnungen](mailto:bernhard-abmahnungen@e9a.at)
- Rotes Kreuz [aus-liebe-zum-menschen](aus-liebe-zum-menschen@e9a.at)
- Politik [verdrossen](verdrossen@e9a.at)
### Messenger
Da Signal leider lieber unnötige Krypto-Scheiße in den Messenger einbaut, anstatt Benutzernamen endlich einzuführen, kann ich hierzu nichts schreiben. E-Mail ist meistens sowieso der bessere Weg.
---
# Title
title: "000 Example"
# Enter the author's name
author: Christoph Scheidl
# Don't change
type: post
# Customize URI; default: post/filename
url: /yubikey-fuer-linux-login-als-u2f-2-faktor-verwenden/
# Date
date: 2022-01-02T18:21:11+01:00
# Is this draft?
draft: true
# Available categories. Please comment out!
categories:
#- Admin-Tipps
#- Allgemein
#- Arch Linux
#- Debian
#- Denkt's noch!
#- Grundlagen
#- Hardware
#- mariadb
#- News
#- nginx
#- Politik
#- Projekte
#- Proxmox
#- Rants
#- Satire
#- Synology
#- Tor
#- Ubiquiti Unifi
#- Windows
#- Wordpress
#- ZFS
---
# For syntax tips, look here: https://hugoloveit.com/basic-markdown-syntax/ and for syntax highlighting https://gohugo.io/content-management/syntax-highlighting/
---
title: Frischer Wind im Internet
author: Bernhard Steindl
type: post
date: 2018-09-26T08:58:59+00:00
url: /frischer-wind-im-internet/
categories:
- Wordpress
---
Heute ist ein großer Tag für die Menschheit. Oder zumindest für e9a.at, es erstrahlt seit heute im neuen Glanz. Eine kurze Übersicht, was ihr in Zukunft finden werdet:
* Technische Artikel zu nginx, Debian
* Kurze politische, private Statements
* Gastartikel von Freunden
Viel Spaß!
\ No newline at end of file
---
title: Nginx HSTS-Security
author: Bernhard Steindl
type: post
date: 2018-09-26T10:34:26+00:00
url: /nginx-hsts-security/
classic-editor-remember:
- block-editor
categories:
- nginx
---
Da ich viele verschiedene Websites betreue, brauche ich auch verschiedene nginx-Sicherheitsstufen um HSTS und weitere Sicherheitsfeatures zu aktivieren. Leider kann ich nicht immer aufs höchste Niveau gestellt werden, da es leider immer wieder passiert dass Google-Analytics oder andere Dritt-Scripts eingebunden werden.
Ich teile es in folgende Sicherheitsstufen ein
* HTTPS High-Security
* HTTPS Standard
* HTTPS Low Security
Man muss aber anmerken, dass jegliche Konfiguration sicherer ist, als die Standard-Config.
### High Security
<pre class="wp-block-preformatted">#
# HTTPSconfig for enhanced security
#<br />
ssl_session_cache shared:SSL:10m;
access_log off;
# Security headers
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline'; script-src 'self';";<br />
# Allow only newer protocols<br /># Newer nginx supports also TLS1.3<br />ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 91.239.100.100 89.233.43.71 valid=300s;
resolver_timeout 5s;<br />
# Diffie-Hellmann params
ssl_dhparam /etc/ssl/private/dhparams.pem;<br />
#Hide nginx version
server_tokens off;</pre>
### Standard Security
Diese erlaubt ein Laden von Drittresourcen, ideal beispielsweise für eine Nextcloud. HSTS ist aber immer noch für die Haupt- und Subdomains erzwungen.
<pre class="wp-block-preformatted">#
# HTTPSconfig for enhanced security
#<br />
ssl_session_cache shared:SSL:10m;
access_log off;
<br /># Security headers
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header Content-Security-Policy "default-src https: ";
add_header Referrer-Policy: same-origin;<br />
# Allow only newer protocols
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+AESGCM:EECDH:EDH::DHE-RSA-AES256-GCM-SHA384:!MD5:!RC4:!LOW:!MEDIUM:!CAMELLIA:!ECDSA:!DES:!DSS:!3DES:!NULL";
# ssl_ecdh_curve secp384r1:prime256v1; Not compatible with Chrome
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 91.239.100.100 89.233.43.71 valid=300s;
resolver_timeout 5s;
ssl_ecdh_curve auto;<br />
# Diffie-Hellmann params
ssl_dhparam /etc/ssl/private/dhparams.pem;<br />
# Hide nginx version
server_tokens off;</pre>
### Low Security
Dies ist eine herabgesetzte Config, die HSTS nicht erzwingt. Ideal für Websites, die nicht komplett in der alleinigen Kontrolle sind.
<pre class="wp-block-preformatted">#
# HTTPSconfig for low security
#<br />
ssl_session_cache shared:SSL:10m;
access_log off;<br />
# Security headers
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'";
<br /># Allow only newer protocols
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 91.239.100.100 89.233.43.71 valid=300s;
resolver_timeout 5s;
<br /># Diffie-Hellmann params
ssl_dhparam /etc/ssl/private/dhparams.pem;<br />
# Hide nginx version
server_tokens off;</pre>
### Weitere Absicherungsmöglichkeiten
In den Configs wurde bereits ein ssl_dhparam erwähnt. Durch moderne Algorithmen werden Diffie-Hellmann-Parameter zwar seltener verwendet, aber der Standard liegt bei 1024-Bit und damit sehr unsicher.
Wir generieren einen Key mit 4096-Bit Größe, um ausreichend abgesichert zu sein:
<pre class="wp-block-preformatted"><code>openssl dhparam -out dhparams.pem 4096</code></pre>
\ No newline at end of file
---
title: 'Docker CE: Download und Installation'
author: Bernhard Steindl
type: post
date: 2018-10-03T09:52:28+00:00
url: /docker-ce-download-und-installation/
categories:
- Debian
- Proxmox
---
Da mir immer wieder die Frage gestellt wird, wie man Docker eigentlich auf seinen Rechner installiert. Man muss durchaus zwischen den verschiedenen Versionen und Anwendungen unterscheiden.<figure class="wp-block-image">
<img loading="lazy" width="1375" height="585" src="https://blog.e9a.at/wp-content/uploads/2018/10/grafik.png" alt="" class="wp-image-50" srcset="https://blog.e9a.at/wp-content/uploads/2018/10/grafik.png 1375w, https://blog.e9a.at/wp-content/uploads/2018/10/grafik-300x128.png 300w, https://blog.e9a.at/wp-content/uploads/2018/10/grafik-768x327.png 768w, https://blog.e9a.at/wp-content/uploads/2018/10/grafik-1024x436.png 1024w" sizes="(max-width: 1375px) 100vw, 1375px" /> <figcaption>Übersicht der Editionen auf [docker.com][1]</figcaption></figure>
Es ist zu beachten, dass nur die Community Edition frei ist, der Rest ist kommerzielle Software und kostenpflichtig. Dieser Artikel behandelt nur die frei erhältliche Docker CE!
### Download
#### Windows
Da Windows das meistverbreiteste Betriebssystem auf Consumer-PCs sind, müssen auch diese behandelt werden.
Docker basiert auf die Technologie des Linux-Kernels und muss daher in einer virtuellen Maschine betrieben werden. Dazu stellt das Docker-Team folgende zwei Lösungen zur Verfügung:
* Docker for Windows; Hyper-V-basierend
* Docker Toolbox; benötigt Oracle VirtualBox
Es ist zu beachten, dass Hyper-V nur auf Windows 10 Pro (und höher) lauffähig ist. Bei allen anderen Versionen ist die Toolbox vorzuziehen, auch wenn die Entwicklung schon eingestellt ist.
* [Docker Toolbox.exe (211 MB)][2]
* [Docker for Windows (521 MB)][3]
Weitere Informationen zur Installation findet Ihr [hier.][4]
#### macOS
Auch macOS ist kein Linux und muss daher ein Linux virtualisieren. Auch hier gibt es zwei Lösungen, wobei ab macOS 10.10 Yosemite auch die performantere Docker for Mac-Edition lauffähig ist.
* [Docker for Mac (500MB)][5]
* [Docker Toolbox (202MB)][6]
#### Linux
Naturgemäß einfach ist die Installation auf einer Linux-Distribution. Die Installation ist je nach Distro unterschiedlich:
* [Debian][7]
* [CentOS][8]
* [Fedora][9]
* [Ubuntu][10]
* [sonstige Binaries][11]
### Installation
Docker ist dann relativ schnell installiert &#8211; zumindest auf Linux. Danach könnt ihr direkt auf den Docker Hub schauen und euch mit Docker-Compose etwas zusammenbasteln. Viel Spaß!
[][4]
[1]: https://docs.docker.com/install/overview/
[2]: https://download.docker.com/win/stable/DockerToolbox.exe
[3]: https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
[4]: https://docs.docker.com/docker-for-windows/install/
[5]: https://download.docker.com/mac/stable/Docker.dmg
[6]: https://download.docker.com/mac/stable/DockerToolbox.pkg
[7]: https://docs.docker.com/install/linux/docker-ce/debian/
[8]: https://docs.docker.com/install/linux/docker-ce/centos/
[9]: https://docs.docker.com/install/linux/docker-ce/fedora/
[10]: https://docs.docker.com/install/linux/docker-ce/ubuntu/
[11]: https://docs.docker.com/install/linux/docker-ce/binaries/
\ No newline at end of file
---
title: 'Debian Locale Error perl: warning: Setting locale failed. perl: warning: Please check that your locale settings'
author: Christoph Scheidl
type: post
date: 2018-10-08T08:31:57+00:00
url: /debian-locale-error-perl-warning-setting-locale-failed-perl-warning-please-check-that-your-locale-settings/
categories:
- Debian
---
**Update 26. Oktober 2018:**
Das Problem kommt anscheinend nicht von Debian selbst, sondern von KDE, wenn man englische Sprache mit deutschem Tastaturlayout kombiniert. Die Lösung des Problems liegt dann wo anders, nämlich in den Dateien /home/user/.config/plasma-localerc und /home/user/.config/plasma-locale-settings.sh
In diesen Datein dann dementsprechend wie unten gezeigt ausbessern.
**Originalartikel:**
Als Österreicher, der seine Systeme auf Englisch nutzt, aber das Tastaturlayout auf Deutsch verwendet, habe ich bei jeder Debian-Installation (dementsprechend auch bei Ubuntu) immer das Problem, das folgender Fehler kommt:
<pre class="wp-block-code"><code>perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = (unset),
LC_MEASUREMENT = "de_AT.UTF-8",
LC_PAPER = "de_AT.UTF-8",
LC_MONETARY = "de_AT.UTF-8",
LC_NAME = "de_AT.UTF-8",
LC_ADDRESS = "de_AT.UTF-8",
LC_NUMERIC = "de_AT.UTF-8",
LC_TELEPHONE = "de_AT.UTF-8",
LC_IDENTIFICATION = "de_AT.UTF-8",
LC_TIME = "de_AT.UTF-8",
LANG = "en_AT.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory</code></pre>
Im Internet findet man darüber nur wenige Informationen, was es mit diesem Fehler auf sich hat, bzw. keine konkrete Lösung. Das Problem ist aber schnell beseitigt: Dazu einfach die Datei /etc/default/locale mit root-Rechten bearbeiten, und die Sprache &#8222;en\_AT.UTF-8&#8220; mit &#8222;en\_US.UTF-8&#8220; ausbessern. Danach noch die Locale generieren lassen mit dem Befehl &#8222;sudo dpkg-reconfigure locales&#8220; und &#8222;en_US.UTF-8&#8220; in der Liste anhaken.
Eine weiter Möglichkeit kann sein, am zu wartenden System in der Datei /etc/ssh/sshd\_config die Zeile &#8222;AcceptEnv LANG LC\_*&#8220; auf &#8222;AcceptEnv no&#8220; umzustellen.
###### Links und Credit
<p style="font-size:12px">
Nähere Infos zum Gesamtprozess findet man auch im Thomas-Krenn Wiki: <a href="https://www.thomas-krenn.com/de/wiki/Perl_warning_Setting_locale_failed_unter_Debian">https://www.thomas-krenn.com/de/wiki/Perl_warning_Setting_locale_failed_unter_Debian</a>
</p>
<p style="font-size:12px">
<a href="https://www.thomas-krenn.com/de/wiki/Perl_warning_Setting_locale_failed_unter_Debian"></a><br /><a href="https://www.thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurieren">https://www.thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurieren</a>
</p>
\ No newline at end of file
---
title: APC USV mit USB ausrüsten
author: Christoph Scheidl
type: post
date: 2018-10-26T14:43:33+00:00
url: /apc-usv-mit-usb-ausruesten/
categories: