====== Proxmox Konfigurationen ====== ===== Sicherheit ===== Das Proxmox Administration Interface wird durch eine vorgeschaltete Authentifizierung geschützt. Hierzu wird die .htaccess Datei verwendet sowie ein lokaler Proxy der auf den Standard Port 8006 weiterleitet. Das Interface wird zusätzlich für den externen Zugriff gesperrt, womit es nur möglich ist, über den Proxy auf das Interface zuzugreifen. Mithilfe von LetsEncrypt und Certbot wird die Verbindungen per SSL gesichert. Installation & Konfiguration Nginx apt update && apt install nginx certbot python3-certbot-nginx apache2-utils Generierung eines temporären Snakeoil Cert, dadurch muss später keine config erneut angepasst werden openssl req -x509 -nodes -days 1 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt nano /etc/nginx/sites-available/DOMAINNAME.conf server { listen 80; server_name DOMAINNAME; access_log /var/log/nginx/access_DOMAINNAME.log error_log /var/log/nginx/access_DOMAINNAME.log proxy_redirect off; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass https://127.0.0.1:8006; proxy_buffering off; client_max_body_size 0; proxy_connect_timeout 3600s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; send_timeout 3600; auth_basic "418"; auth_basic_user_file /etc/nginx/.htpasswd_SERVERNAME; } } htpasswd -c /etc/nginx/.htpasswd_SERVERNAME NUTZERNAME ln -s /etc/nginx/sites-available/DOMAINNAME.conf /etc/nginx/sites-enabled/DOMAINNAME.conf systemctl restart nginx Wenn der Zugriff nun mittels Domainnamen im Webbrowser geschieht, per HTTP, sollte das Interface der Proxmox Konsole angezeigt werden. Certbot hilft uns, die Verbindung per SSL einzurichten sowie das Zertifikat automatisch zu aktualisieren. certbot --register-unsafely-without-email --nginx -d DOMAINNAME Jetzt wird der Zugriff automatisch auf HTTPS weitergeleitet, um eine sichere Verbindung zu gewährleisten. Als Letztes muss nun der Zugriff auf dem Port 8006 auf das Interface untersagt werden. nano /etc/default/pveproxy ALLOW_FROM="127.0.0.1" DENY_FROM="all" POLICY="allow" systemctl restart pveproxy