Skip to content

NGINX - Standard .conf

NGINX
  • Hier mal meine Standardeinstellungen, die ich so benutze.

        #### SSL & Nginx Settings - Begin
    
        # Grundeinstellungen 
        ssl_session_timeout 10m;
        ssl_session_cache shared:SSL:10m;
        ssl_buffer_size 8k;
    
    
        # OSCP Online Certificate Status Protocol
        ssl_stapling_verify on;
        ssl_stapling on;
    
        # enables TLSv1.2 & TLSv1.3
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1;
    
        # SSL Certificate
        ssl_certificate      /etc/letsencrypt/live/frank-mankel.de/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/frank-mankel.de/privkey.pem;
        ssl_dhparam /etc/nginx/dhparam.pem;
    
        # HSTS
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; always";
    
        # Cookie
        proxy_cookie_path / "/; HTTPOnly; Secure";
    
        # X-Frame-Options
        add_header X-Frame-Options “SAMEORIGIN”;
             
        # Referrer
        add_header Referrer-Policy “no-referrer”;
              
        # Robots
        add_header X-Robots-Tag all;
    
        # X-Download
        add_header X-Download-Options noopen;
    
        # X-Permitted-Cross-Domain-Policies
        add_header X-Permitted-Cross-Domain-Policies none;
    
        # Remove X-Powered-By, which is an information leak
        fastcgi_hide_header X-Powered-By;
    
        # Remove X-Powered-By, which is an information leak
        fastcgi_hide_header X-Powered-By;
    
        #### SSL & Nginx Settings - End
    
  • Da oben habe ich was übersehen. In der Standard Config von Nginx stehen ein paar Sachen schon drin. Das brauchen wir ja dann nicht noch in den Configsfiles der Webseiten.

    # disable content type sniffing for more security
    add_header "X-Content-Type-Options" "nosniff";
    
    # force the latest IE version
    add_header "X-UA-Compatible" "IE=Edge";
        
    # enable anti-cross-site scripting filter built into IE 8+
    add_header "X-XSS-Protection" "1; mode=block";
    

    Ich habe die Doppelten im ersten Beitrag gelöscht.

  • Als kleiner Tipp, die meisten Anbieter von Software haben mittlerweile Beispiele, wie man das konfiguriert. Hier mal ein Beispiel von Nextcloud.

  • 0 Stimmen
    1 Beiträge
    10 Aufrufe
    Niemand hat geantwortet
  • AI Bots aussperren

    Linux linux block-ai nginx
    2
    0 Stimmen
    2 Beiträge
    109 Aufrufe
    FrankMF
    Wir können das noch für eine sanfte Methode erweitern, das ist die Datei robots.txt, wo man sich in alten Zeiten mal dran hielt. Einige Bots machen das, andere nicht. Praktisch, das o.g. Projekt bietet diese Datei auch an. Dann werden wir das kurz mal mit einbauen. ai-block.sh #!/bin/bash # Script um AI-Bots zu blocken # https://github.com/ai-robots-txt/ai.robots.txt/tree/main mkdir /root/AI-test cd /root/AI-test ## Daten holen curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/nginx-block-ai-bots.conf curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/robots.txt ## Daten in nginx einbauen mv nginx-block-ai-bots.conf /etc/nginx/blocklists/ mv robots.txt /var/www/html ## NGINX neustarten systemctl restart nginx.service Damit das in nginx funktioniert. Den Server Block um folgendes erweitern. # Serve robots.txt directly from Nginx location = /robots.txt { root /var/www/html; try_files $uri =404; } Kurzer Test https://<DOMAIN>/robots.txt Ergebnis User-agent: AI2Bot User-agent: Ai2Bot-Dolma User-agent: Amazonbot User-agent: anthropic-ai User-agent: Applebot User-agent: Applebot-Extended User-agent: Brightbot 1.0 User-agent: Bytespider User-agent: CCBot User-agent: ChatGPT-User User-agent: Claude-Web User-agent: ClaudeBot User-agent: cohere-ai User-agent: cohere-training-data-crawler User-agent: Crawlspace User-agent: Diffbot User-agent: DuckAssistBot User-agent: FacebookBot User-agent: FriendlyCrawler User-agent: Google-Extended User-agent: GoogleOther User-agent: GoogleOther-Image User-agent: GoogleOther-Video User-agent: GPTBot User-agent: iaskspider/2.0 User-agent: ICC-Crawler User-agent: ImagesiftBot User-agent: img2dataset User-agent: imgproxy User-agent: ISSCyberRiskCrawler User-agent: Kangaroo Bot User-agent: Meta-ExternalAgent User-agent: Meta-ExternalFetcher User-agent: OAI-SearchBot User-agent: omgili User-agent: omgilibot User-agent: PanguBot User-agent: Perplexity-User User-agent: PerplexityBot User-agent: PetalBot User-agent: Scrapy User-agent: SemrushBot-OCOB User-agent: SemrushBot-SWA User-agent: Sidetrade indexer bot User-agent: Timpibot User-agent: VelenPublicWebCrawler User-agent: Webzio-Extended User-agent: YouBot Disallow: /
  • Debian 11 - nginx mit Seafile

    NGINX nginx
    3
    0 Stimmen
    3 Beiträge
    222 Aufrufe
    H
    Hi, ja es ist zu Warm Hab mich vielleicht etwas falsch ausgedrückt. Ich suche ne möglichkeit bzw. ein Howto wie ich Seafile für einen bekannten auf ein Shared Hosting Paket installiert bekomme.
  • Bitwarden_RS auf einem Debian Buster 10 Server installieren!

    Angeheftet Linux nginx bitwardenrs linux
    85
    14
    1 Stimmen
    85 Beiträge
    7k Aufrufe
    N
    Immer wieder gerne. Dieses mal gab es richtig etwas zu tun: 13 files changed, 137 insertions(+), 96 deletions(-) Und das nur, damit es überhaupt wieder baut. Danach folgten noch 5 Bugfixing Runden, wobei zwei davon (lediglich) das Packaging betrafen. Ergänzend noch ein Hinweis: Port 3012 für die Websocket Verbindungen ist jetzt offiziell deprecated und wird demnächst vollständig aus Vaultwarden entfernt. Genau jetzt wäre der richtige Zeitpunkt die Apache/Nginx Konfiguration dahingehend anzupassen. Hierfür habe ich neue Templates online gestellt. Apache: https://bitwarden-deb.tech-network.de/Apache-VirtualHost.example.conf Nginx: https://bitwarden-deb.tech-network.de/Nginx-VirtualHost.example.conf Schönen Sonntag!
  • NGINX & Webmin

    NGINX webmin nginx
    3
    2
    0 Stimmen
    3 Beiträge
    977 Aufrufe
    FrankMF
    Das was da oben steht über Firewalld, ganz schnell vergessen. Das brauchen wir nicht, hat auch nur Probleme gemacht.... [image: 1570989394499-21edf29c-ec9a-4cb5-a8ba-8bc534e4f4ec-grafik-resized.png] Man kann ganz normal mit iptables arbeiten, man sollte schon mal eine Firewall konfiguriert haben, das macht es etwas einfacher. Kurzer Test, ob das so klappt wie erwartet. frank@debian:~$ nmap 192.168.3.6 Starting Nmap 7.70 ( https://nmap.org ) at 2019-10-13 19:57 CEST Nmap scan report for 192.168.3.6 Host is up (0.0011s latency). Not shown: 996 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp closed https 10000/tcp open snet-sensor-mgmt Das hier sind aktuell die Regeln. root@rockpro64:~# iptables-legacy -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp multiport ports ssh ACCEPT tcp -- anywhere anywhere tcp multiport ports webmin ACCEPT tcp -- anywhere anywhere tcp multiport ports http ACCEPT tcp -- anywhere anywhere tcp multiport ports https Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Wenn ich das so die ganze Zeit teste, dann zweifel ich immer daran, ob solche Tools(Webmin) irgend einen Vorteil haben!? Mir macht das mittlerweile mehr Arbeit, als wenn ich das alles schnell eben auf der Konsole erledige. Vielleicht bin ich auch nur mittlerweile zu weit weg, von grafischen UI. Ich gebe dem Webmin aber noch ein paar Tage, gibt noch ein paar Sachen zu entdecken.
  • NodeBB & ads.txt

    Verschoben NGINX nginx
    1
    0 Stimmen
    1 Beiträge
    242 Aufrufe
    Niemand hat geantwortet
  • NGINX - www entfernen

    NGINX nginx
    2
    0 Stimmen
    2 Beiträge
    365 Aufrufe
    FrankMF
    Es geht noch eleganter. Für eine Domain wie frank-mankel.de z.B. so. Muss das mal hier parken, damit ich nicht immer wieder danach suchen muss. server { server_name www.example.com example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name www.example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name example.com; <locations for processing requests> } Quelle: https://serverfault.com/questions/258378/remove-www-and-redirect-to-https-with-nginx
  • nginx konfigurieren

    NodeBB nodebb nginx linux
    1
    0 Stimmen
    1 Beiträge
    656 Aufrufe
    Niemand hat geantwortet