Rozjíždím WordPress
Tak je to tady, už jsem taky pojídač koláčků a místo používání vlastního blogovacího software jsem přešel na WordPress. Protože jsem slyšel hrůzyplné historky na téma nebezpečnosti tohoto redakčního systému, první kroky vedly k jeho zabezpečení. Neberte prosím předchozí větu jako výzvu k útoku 🙂 Podělím se s vámi o pár zkušeností, které jsem získal.
Mám svůj virtuální stroj u AdminIT, ale nechtěl jsem kluky otravovat a tak jsem se pokusil instalovat vše svépomocí, přestože nejsem admin. První návod mi pomohl rozjet základní instalaci WP. Pro zabezpečení, aby administrace byla přístupná jen přes zabezpečený SSL protokol a vyžadovala klientský certifikát, jsem vygoogloval další návod.
Chtěl jsem použít kvalifikovaný certifikát od PostSignum. Musel jsem stáhnout certifikáty autority v PEM formátu a sloučit je do jediného souboru (cat postsignum_qca2_root.pem postsignum_qca2_sub.pem >> postsignum_CA.pem). Další problém byl ve specifikaci klientského certifikátu, nepodařilo se mi definovat požadavky na Issuera a nakonec jsem se spokojil jen s podmínkou na organization unit mého certifikátu. Ještě jsem musel nastavit velikost SSL bufferu, protože jinak padal upload souboru na chybu Request Entity Too Large
. Dále pro textová URL jsem musel předefinovat volbu AllowOverride z None na All. Pro zajímavost následují ukázky z konfigurace Apache.
/etc/apache2/sites-available/wordpress
<Directory /var/www/wordpress> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> RewriteEngine On RewriteRule ^(/wp-admin/.*) https://www.literak.cz$1 [L,R=permanent] RewriteRule ^(/wp-login.php.*) https://www.literak.cz$1 [L,R=permanent]
/etc/apache2/sites-available/wordpress-ssl
<Location /wp-admin> SSLCACertificateFile /etc/apache2/ssl/postsignum_CA.pem SSLVerifyClient require SSLVerifyDepth 3 SSLRequire %{SSL_CLIENT_S_DN_OU} eq "PXXXXX" SSLRenegBufferSize 10486000 </Location>