Hier die Checkliste als kostenlosen Download ECC-Zertifikate-XCA.pdf.
RSA Checkliste für SSL-Zerfikate erstellen mit XCA für Portainer
ECC wird oft als zukunftssicherer angesehen, da es auf mathematischen Konzepten basiert, die voraussichtlich auch bei Fortschritten in der Kryptanalyse sicher bleiben. RSA hingegen könnte anfälliger für Angriffe werden, wenn leistungsfähigere Computer und Algorithmen entwickelt werden. ECC wird aufgrund seiner Effizienz und Sicherheitseigenschaften RSA in vielen modernen Anwendungen ersetzen. ECC läuft aber halt noch nicht überall. Portainer kann leider noch keine ECC (secp256k1), deshalb in diesen Beitrag einer Zertifikatserzeugung mit RSA Key und XCA.
Es sind diese 9 Schritte nötig. Unten gibt es die Checkliste zum kostenlosen Download.
1. XCA installieren (https://hohnstaedt.de/xca/index.php)
2. XCA starten (XCA-Menü: Zubehör-XCA, http://blog.wenzlaff.de/?p=20761) „RSA Checkliste für SSL-Zerfikate erstellen mit XCA für Portainer“ weiterlesen
Zensus 2022 – Volkszählung
Probleme mit Zensus 2022 Online Seite. Habe mir das Zertifikat auch mal angeschaut:
Details hier bei Heise.
Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down“
Seit dem 10. Juni 2021 werden Impf-Zertifikate (sogenannte Impfbescheinigungen) in Deutschland in Impfzentren ausgegeben. Den QR-Code kann man auch mit einem Raspberry Pi validieren (von lateinisch validus „kräftig, wirksam, fest“) und den Inhalt des QR-Codes im Klartext ausgeben. Am Beispiel eines Raspberry Pi Zero W sind folgende 6 Schritte nötig.
1. Wir brauchen das Impfzertifikat, also den QR-Code als PNG oder JPG-Bild in einer Datei z.B. max-mustermann.png.
Wie z.B.:
Aber nur den QR-Code, nicht die ganze Seite des Impfzertifikats. … „Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down““ weiterlesen
Wie kann ein laufender Windows Rechner (oder Raspberry Pi) initial mit Debian 8 Jessie und WordPress 4.3 (mit SSL https) aufgesetzt werden?
Wie kann ein laufender Windows XP Rechner (oder Raspberry Pi) auf Debian 8 Jessie mit WordPress 4.3 (SSL), Apache2 (SSL, https), MySql und phpMyadmin erstellt werden? Hier die gewünschte Architektur:
Alle Daten auf den Windows Rechner müssen vorher gesichert werden, da das ganze System mit Linux überschrieben wird.
Debian Jessie
installieren
z.B. tools/win32-loader/stable/win32-loader.exe laden und installieren mit SSH Zugang, ohne GUI
Beim Raspberry Pi, analog vorgehen, wie hier im Blog schon beschrieben.
LAMP
installieren mit:
1 |
apt-get install apache2 mysql-client mysql-server php5 php5-mysql php5-curl php5-gd unzip phpmyadmin |
WordPress Database
erstellen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
mysql -u root -p # Passwort # wpdatabase, wpuser und passwort selbst wählen # evl. Database löschen mit DROP DATABASE wpdatabase; CREATE DATABASE wpdatabase; CREATE USER wpuser@localhost IDENTIFIED BY 'wppass'; GRANT ALL PRIVILEGES ON wpdatabase.* TO wpuser@localhost; FLUSH PRIVILEGES; exit # Apache und MySql restarten service apache2 restart service mysql restart |
WordPress
4.3 laden erstellen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# ins tmp Verzeichnis gehen cd /tmp # Wordpress aktuelle Version laden wget -c http://wordpress.org/latest.zip # Archive auspacken unzip -q latest.zip -d /var/www/html/ # oder wenn es ein tar.gz ist dann tar zxf wordpress-4.5.3-de_DE.tar.gz -C /var/www/html/ # Rechte vergeben chown -R www-data.www-data /var/www/html/wordpress chmod -R 755 /var/www/html/wordpress mkdir -p /var/www/html/wordpress/wp-content/uploads chown -R www-data.www-data /var/www/html/wordpress/wp-content/uploads cd /var/www/html/wordpress/ # kopieren des Beispiel cp wp-config-sample.php wp-config.php # in wp-config.php den Databasenamen, User und Passwort eintragen nano wp-config.php # im Browser aufruen und Sprache und User wählen http://localhost/wordpress/ # testen # gleich noch den Datei upload Size vergrößern # in der /var/www/html/wordpress/.htaccess die folgenden Einträge machen: vi /var/www/html/wordpress/.htaccess php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300 # unnötige Dateien löschen rm wp-config-sample.php rm readme.html rm liesmich.html rm /wp-admin/install.php # Optional: Neue Sicherheitsschlüssel (Salt) generieren über https://api.wordpress.org/secret-key/1.1/salt/ # und diesen generierten Block in die <strong>wp-config.php</strong> Datei einfügen # #define('AUTH_KEY', '-+jiH||`2);cZjy.Vy5C|!NX{KNv,Ov@=XK|SALR8++C.axK4b(Ep4U_RWAV|Ir;'); #define('SECURE_AUTH_KEY', '.+WZ>Ul&)Qak2uhZ-.(Y^]},n!.&R.VRl~+o*~7*dP{{4s*iyMO7L^{o/#lq7Xs1'); #define('LOGGED_IN_KEY', '_T)TC.YN6r9wxM*lRbjGc0dy2;<nQA+SBk|JYoU[1S~l0xLLBWbK2x+fl<1G*IP$'); #define('NONCE_KEY', 'vVrz#TDgM[,Te(v[hStvF][>ZfI;$K.^ IstOP`k>IfNo3j8h~|2rvxU&%=[eJ@w'); #define('AUTH_SALT', '/ qC?UB4&>H&hy#=:;sP6m 0}[u~oDJGhBdqskc{gY+j1yJU~/>rBL91P8kGtnG_'); #define('SECURE_AUTH_SALT', 'tUd3QTYMV.g|86`=!-?EN_P~N+jB$LwD|q-b?g[G@E!9.,{G2n|1X1_2-+Fv,y=:'); #define('LOGGED_IN_SALT', '?d`pE;|nVH?81n2#@[VYOB__Nh.l:v=4F5_uajQ4jp.,h$Z8#N2DZ}^=|sQi7?d4'); #define('NONCE_SALT', 'C*-+6P_j/o0FTQC1.(GHJ[tXNCpou<RyB.@:mx&spG@{-9< Wk|r!zoJUiwY@:M:'); # Optional die wp-config.php sichern mit folgenden Eintrag in der <strong>.htaccess</strong> Datei: <FilesMatch "(wp-config.php)"> order deny,allow deny from all </FilesMatch> |
Optional ein paar gute Plugins installieren. Hier mal eine kleine Auswahl z.B.:
Schon alt, läuft aber noch „Limit Login Attempts„.
Wenn man sich da selbst aussperrt, einfach in der DB folgenden SQL absetzen:
1 |
UPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts' |
Hier noch ein paar:
Optional kann noch ein PDF Export für die Tabellen integriert werden, wie hier beschrieben und auch gleich die Extension für das automatische URL converting.
Optional: PhpMyAdmin
installieren
In /etc/phpmyadmin/apache.conf den Eintrag
1 2 3 4 5 6 7 8 9 |
#<Directory /usr/share/phpmyadmin> # Options FollowSymLinks # DirectoryIndex index.php Require ip 127.0.0.1 10.0.0.0/24 # Apache restart service apache2 restart # Aufruf im Browser (IP)/phpmyadmin # Anmelden mit MySql Datenbankuser und Passwort |
Selbstsignierte SSL Zertifikate für Apache2
erzeugen und installieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
mkdir .ssl cd .ssl openssl req -new -days 999 -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key # Diese Fragen beantworten # Country Name (2 letter code) [AU]:DE # State or Province Name (full name) [Some-State]:Niedersachsen # Locality Name (eg, city) []:Hannover # Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Blog # Organizational Unit Name (eg, section) []:Dept of Blogging # Common Name (e.g. server FQDN or YOUR name) []:kleinhirn.eu # Email Address []:webmaster@yourdomain.com sudo cp server.crt /etc/ssl/certs sudo cp server.key /etc/ssl/private service apache2 restart # SSL Modul aktivieren a2enmod ssl service apache2 restart # Rewrite Modul für später aktivieren a2enmod rewrite service apache2 restart # Status anschauen systemctl status apache2.service # ergänzen der erzeugten Zertifikate in sudo vi /etc/apache2/sites-available/default-ssl.conf # ServerName mydomain.com:443 SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key # Default Seite aktivieren a2ensite default-ssl.conf # Server Restart service apache2 restart # http deaktivieren und https setzen in /etc/apache2/sites-enabled/titled 000-default.conf vi /etc/apache2/sites-enabled/titled 000-default.conf # Inhalt der Datei: ServerName xxx ServerAlias www.xxx Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted ServerAdmin webmaster@xxx.de DocumentRoot /var/www/html/wordpress SSLEngine on SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key #SSLCACertificateFile /home/me/domain.com.crt ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # Test ob der Blog mit https und den Zertifikaten läuft im Browser https://(IP)/wordpress/wp-login.php |
Optional: Testen
welche Ports offen sind und deaktivieren!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
nmap ip # oder sudo nmap -sT -O -v ip # wenn der Port 80 noch offen ist, in vi /etc/apache2/ports.conf # Auskommentieren oder löschen der Zeile # Listen 80 # Wenn der Port 111 rpcbind offen ist (wird für Samba gebraucht), kann der auch mit dem Tool sysv-rc-conf abgeschalte werden # Tool installieren sudo apt-get install sysv-rc-conf # Tool starten sysv-rc-conf # in der letzten Spalte wo das S ist mit der Space Taste ausschalten # in der Zeile mit rpcbind # Rechner restarten reboot # neuer Check mit nmap nmap ip # alles ok, nur die gewünschten Ports sind offen # Checken welche Module installiert sind mit apache2ctl -M # Unnötige module deaktivieren z.B. das status_module (shared) a2dismod status # Server restart service apache2 restart # Checken ob das status modul deaktiviert wurde apache2ctl -M |
Optional: Vorhandenen Blog mit dem WP Plugin
„All In One WP Migration“
exportieren und importieren, wie hier schon mal beschrieben.
Beim export evl. in „Find (text) Replace with (another-text) in the database“ den Eintrag xxx.ALTE-DOMAINE durch YYY-NEUE-DOMAINE ersetzen.
Die *.wpress Datei dann importieren.
Optional testen, welche Apache Version läuft mit:
1 2 |
apachectl -V # Ergebnis: Apache/2.4.10 (Debian) |
Optional, die History löschen, so das die erstellten Passwörter nicht ausgelesen werden können
1 |
history -c |
Super, der WordPress Blog läuft nun verschlüsselt über https 😉