====== Apache ====== ===== OTP ověření ===== https://www.clearhat.org/post/configure-one-time-password-k-2fa-or-mfa-apache-using-mod-authn-otp-and-freeotp Upravený skript, generuje QR kód, který je použitelný jak pro Apache reverse proxy tak pro Mikrotik VPN Skript ''createOTPuser'' je ve složce ''sbin'' na reverzním proxy. Při generování více uživatelů lze použít vstupní csv soubor ''users.csv''.\\ Skript vygeneruje QR png soubor, ''hotp_users.txt'' soubor s údaji pro OTP konfiguraci Apache serveru(/etc/apache2/OTP/users.otp) a soubor ''mikrotik_users.txt'' s údaji pro konfigurace ''User manageru'' v Mikrotiku.\\ #!/bin/bash # Kontrola vstupn_ch parametr_ if [ "$#" -ne 2 ]; then echo "Pou_it_: $0 AuthType basic AuthName "OTP Protected Area" AuthBasicProvider OTP OTPAuthUsersFile "/etc/apache2/OTP/users.otp" Require valid-user # other options... ServerName has.sweethome.local ProxyPreserveHost On #ProxyRequests off ProxyPass /api/websocket ws://10.199.0.200:8123/api/websocket ProxyPassReverse /api/websocket ws://10.199.0.200:8123/api/websocket ProxyPass / http://10.199.0.200:8123/ ProxyPassReverse / http://10.199.0.200:8123/ Header always set X-Frame-Options SAMEORIGIN Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options nosniff ErrorLog ${APACHE_LOG_DIR}/homeassistant_error.log CustomLog ${APACHE_LOG_DIR}/homeassistant_access.log combined service apache2 restart Pozor Apache standardně předává autorizační hlavičky, to. zn. pokud backend server podporuje Basic Authentication, tak mu přijde jméno a OTP heslo. Nedojde k ověření a systém se "zacyklí - nezacyklí, ale vypadá to tak". Proto je potřeba přidat do konfigurace host v Apache parametr ''RequestHeader unset Authorization'' Příklad konfigurace pro Jira AuthType basic AuthName "OTP Protected Area" AuthBasicProvider OTP OTPAuthUsersFile "/etc/apache2/OTP/users.otp" Require valid-user # other options... AllowEncodedSlashes On # JIRA ServerName jira.tool4dev.com #ServerAlias jira.hpl.cz jira.griffteam.com jira.griffteam.cz RewriteEngine On RewriteCond %{HTTP_HOST} ^jira\.hpl\.cz$ [NC] RewriteRule ^ https://jira.tool4dev.com%{REQUEST_URI} [R=302,L] SSLEngine on SSLProxyEngine on ProxyPreserveHost on ProxyPass / https://192.168.10.58/ keepalive=On ProxyPassReverse / https://192.168.10.58/ # Odstrani halvicku Authoriztion pred odeslanim na backend server RequestHeader unset Authorization SSLProxyCheckPeerCN off SSLCertificateFile /etc/ssl/certs/jira.hpl.cz.cer SSLCACertificateFile /etc/ssl/certs/ca.cer SSLCertificateKeyFile /etc/ssl/private/jira.hpl.cz.key RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Ssl on #SSLProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 LogLevel warn ErrorLog ${APACHE_LOG_DIR}/jira_error.log CustomLog ${APACHE_LOG_DIR}/jira_access.log combined ===== Chyba mail, webmail ===== Na mailovém serveru přestal fungovat webmail.\\ Při pokusu o restart serveru se objevila se následující hláška:\\ Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:443\\ Pomohlo zahashování řádků v souboru ports.cfg. V souboru nesmí být vícenásobně použit příkaz Listen pro stejný port. Kde se tam vzaly duplicitní záznamy je otázka? Je možné, že v rámci update balíků Apache.\\ NameVirtualHost *:80 Listen 80 ### ### # If you add NameVirtualHost *:443 here, you will also have to change ### # the VirtualHost statement in /etc/apache2/sites-available/default-ssl ### # to ### # Server Name Indication for SSL named virtual hosts is currently not ### # supported by MSIE on Windows XP. ### Listen 443 ### ### Listen 443