Puncte:2

Remediere de traversare a directorului pentru configurația nginx

drapel in

Am descoperit că site-ul meu are această problemă și nu am reușit să o rezolv. eu am încercat mai multe lucruri, cum ar fi să verific dacă locațiile prefixate părinte pentru directivele alias Nginx se termină cu un separator de director, dar până acum nu am avut noroc. Merge_slashes on - este setarea implicită. Am citit despre AppArmour sau SELinux. Asta e calea de urmat? Am Ubuntu 18. Cu alte cuvinte, pot descărca acest fișier http://mywebsite.com///etc/passwd și vreau să evit asta. Orice ajutor este apreciat. Iată configurația mea:

Server {
  asculta 80;
  numele serverului
    .mysite.com;

 returnează 301 https://mysite.com$request_uri;
}

Server {

numele serverului
  www.mysite.com;
    asculta 443 ssl http2;
    ssl_prefer_server_ciphers Activat;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers '......
    ssl_certificat /...crt;
    cheie_certificat_ssl /..key;

    returnează 301 https://mysite.com$request_uri;
}
Server {

numele serverului
  mysite.com;
    asculta 443 ssl http2;
    ssl_prefer_server_ciphers Activat;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers '...
    ssl_certificat /...crt;
    cheie_certificat_ssl /.....cheie;

    add_header x-frame-options „SAMEORIGIN” întotdeauna;
    add_header x-xss-protection "1; mod=bloc" întotdeauna;
    add_header X-Content-Type-Options nosniff;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; $

    root /var/www/www.mysite.com;
    index index.php;

  client_max_body_size 10M;
  access_log /var/log/nginx/mysite.com.log;
  error_log /var/log/nginx/mysite.com.error.log eroare;

Locație / {
    try_files $uri $uri/ /index.php;
}

locație /cumpărături/ {
        index index.php index.html index.htm;
        rescrie ^/shop/wp-json/(.*?)$ /shopping/index.php?rest_route=/$1 ultimul;
        try_files $uri $uri/ /shop/index.php?q=$uri&$args;
}
locație ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expiră 24h;
        log_not_found off;
}

    locație ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;

 }
locație ~\.(log|salvare|htaccess|json|csv|txt|xls)$ {
     nega totul;
     pagina_eroare 403 =404 / ;
 }
    locație ~* /(?:uploads|fișiere)/.*\.php$ {
        nega totul;
}
Lou_is avatar
drapel sa
Aceasta arată mai mult ca o întrebare de configurare nginx decât o întrebare de securitate. Serverfault ar putea fi o locație mai potrivită.
Greg avatar
drapel in
Bine, multumesc! Voi posta răspunsul aici dacă îl voi găsi!
drapel jp
Răspunde asta la întrebarea ta? [Remediere de traversare a directorului pentru config nginx](https://serverfault.com/questions/1087875/directory-traversal-fix-for-nginx-config)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.