πŸ–οΈ
Dev & Ops
Admin
Admin
  • Admin Book
  • Network
    • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹
      • ΠžΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚
    • Tools
      • tshark
      • Анализ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°
      • curl
      • nmap
      • masscan
      • ifconfig
      • netcat/nc/socat
      • iptables
      • netstat
      • downloaders
      • openvpn3
      • tcpdump
      • databases
        • mysql
        • mssql
      • smbclient
    • ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹
      • ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹
        • pop3
        • smtp
        • imap
        • DMARC, SPF, DKIM
      • TOR
      • 2G/3G/4G/5G
      • DNS
        • Banner Grabbing
        • rDNS (ΠΈΠ»ΠΈ PTR-записи)
        • Zone Transfer
        • ΠšΡƒΠΏΠΈΡ‚ΡŒ свой Π΄ΠΎΠΌΠ΅Π½
      • ssh
      • snmp
      • icmp
      • ldap
      • cisco
    • ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π½ΡŽΠ°Π½ΡΡ‹ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы
    • MacOS
    • RedHat
    • Linux
      • Настройка Debian
        • Intro
        • Oh My ZSH
        • Установка графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
        • Firewall
      • Ѐайловая систСма
        • proc
        • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π°
        • Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ дисков, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, Ρ„Π°ΠΉΠ»ΠΎΠ²
        • Π Π°Π±ΠΎΡ‚Π° с дисками
        • Π Π°Π±ΠΎΡ‚Π° с Ρ„Π»Π΅ΡˆΠΊΠ°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ устройствами
      • Network
      • Security
        • namespaces & cgroups
        • SELinux
        • AppArmor
        • eBPF
        • audit.d
        • Seccomp
      • Background Services and Crons
      • Troubleshooting
        • Если Π½Π΅Ρ‚ Π·Π²ΡƒΠΊΠ°
      • Cases
        • nohup ΠŸΠΎΠ΄Π½ΡΡ‚ΡŒ сСрвСр Π±Π΅Π· привязки ΠΊ ssh-сСссии
        • ΠžΡ‚Π²ΡΠ·Π°Ρ‚ΡŒ процСсс ΠΎΡ‚ родитСля Π² bash
        • ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ консоль (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ ^[[D)
        • Установка ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹
        • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния глобально
        • RDP Clients
      • ΠšΠΎΠΌΠ°Π½Π΄Ρ‹
        • Бписок ΠΊΠΎΠΌΠ°Π½Π΄ BusyBox
        • source
        • grep
        • ps
        • find
        • vi
    • Windows
      • Packet Managers
      • Π’ΡƒΠ»Π·Ρ‹ для администрирования
      • ΠŸΡƒΡ‚ΠΈ Π½Π° систСмС
      • Π Π°Π±ΠΎΡ‚Π° с bat-Π½ΠΈΠΊΠ°ΠΌΠΈ
      • ipconfig
      • Π₯арактСристики ΠΊΠΎΠΌΠΏΠ°
      • Microsoft Store
      • ΠžΠ±Ρ€Π°Π·Ρ‹ Windows
      • cmd
        • reg
        • sc
        • net
        • Бписок Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π΄ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ страницы)
    • Tools
      • Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€
      • Π Π°Π±ΠΎΡ‚Π° с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ
      • Terminals
      • osquery
      • saltstack
      • chef
  • Tools
    • Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ свою Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π»Π°Π±Ρƒ Π½Π° Π±Π°Π·Π΅ Windows
    • S3
    • ΠŸΠΎΠΊΡƒΠΏΠΊΠ° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
    • Настройка ΠΏΠΎΡ‡Ρ‚Ρ‹
      • Docker
      • iRedMail
      • Postfix (SMTP)
      • Dovecot (IMAP)
      • RoundCube
      • Π”Ρ€ΡƒΠ³ΠΈΠ΅ инструкции
      • fail2ban
    • Splunk
    • РаспрСдСлСнныС вычислСния
      • Apache Hadoop
      • Уязвимости
    • Databases
      • ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹
      • MongoDB
      • postgres
      • Redis
      • mysql
      • H2 Database
      • Experiments
        • neo4j
        • edgedb
    • Servers
      • WEB
        • Apache
        • Nginx
        • Oracle
        • IIS
        • Passenger
      • one line servers
      • Pi-hole: свой dns сСрвСр
    • Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСрами
      • HP iLO
    • VPN
      • Pulse Secure SSL VPN
      • VPN WireGuard
      • OpenVPN
    • CI/CD
      • Gitlab CI
      • TeamCity JetBrains
      • jenkins
        • Для Ρ‡Π΅Π³ΠΎ
        • Установка
        • Basic Usage
        • Pipelines
        • Blue Ocean
        • Security
    • Визуализация/ΠžΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ/Π Π°Π±ΠΎΡ‚Π° с событиями
      • Allure
      • Logstash
      • Kibana
      • Grafana
      • Elasticsearch
        • ВСория
        • ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°
      • Kafka
      • Rsyslog
    • RackTables
    • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ сСти, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ событий
      • Prometheus
      • Zabbix
      • snort
      • moloch
  • Learning
    • Онлайн курсы
    • ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²
      • DevOps
      • DevSecOps
Powered by GitBook
On this page
  • Π‘ΠΆΠ°Ρ‚ΠΈΠ΅
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HTTP/2
  • Preload and HTTP/2 Push
  • ΠŸΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  1. Tools
  2. Servers
  3. WEB

Nginx

PreviousApacheNextOracle

Last updated 2 years ago

ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ http, Π½ΠΎ ΠΈ tcp/udp/ssh.. Ρ‚Ρ€Π°Ρ„ΠΈΠΊ

Настройка ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΠ°ΠΌ: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ NginxConfig β€”

Path Traversal in misconfig aliases:

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅

  • gzip + brotli

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HTTP/2

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² ΠΊΡƒΡ‡Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (для HTTP/1.1 Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²)

Preload and HTTP/2 Push

Preload β€” ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ статики Π΅Ρ‰Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² (ΠΊΠ°ΠΊ Ρ‚ΠΎ подсовываСт)

HTTP/2 Push (объявлСно deprecated, Π½ΠΎ Π΅Ρ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ)

ΠŸΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

somedir/
    nginx/
        certs/  β€” это сСрт для TLS (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой Π²ΠΎΠΎΠ±Ρ‰Π΅, лишь Π±Ρ‹ Π±Ρ‹Π»)
            cert.crt
            cert.key
            domain.csr  
        nginx.conf
    stunnel/  β€” proxy-server для построСния туннСля (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой сСрвис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ flask)
        certs/
            ...
        Dockerfile
        stunnel.txt
    docker-compose.yml

nginx.conf: ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ Host-Π·Π°Π³ΠΎΠ²ΠΊΠ° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π»ΠΈΠ±ΠΎ Π½Π° http Π»ΠΈΠ±ΠΎ Π½Π° stunnel (Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅)

server {
    listen 443 ssl;
    server_name  example.com;
    ssl_certificate /etc/nginx/certs/cert.crt;
    ssl_certificate_key /etc/nginx/certs/cert.key;    
    location / {
        proxy_pass http://example.com:80/;
        error_log /var/log/front_end_errors.log;
    }
}

server {
    listen 443 ssl;
    server_name  evil.com;
    ssl_certificate /etc/nginx/certs/cert.crt;
    ssl_certificate_key /etc/nginx/certs/cert.key;    
    location / {
        proxy_pass http://evil.com:80/;
        error_log /var/log/front_end_errors.log;
    }
}

server {
    listen 443 ssl;
    server_name  somesite.com;
    ssl_certificate /etc/nginx/certs/cert.crt;
    ssl_certificate_key /etc/nginx/certs/cert.key;    
    location / {
        proxy_pass http://stunnel:5555/;
        proxy_set_header Host somesite.com;
        error_log /var/log/front_end_errors.log;
    }
}

docker-compose.yml:

version: "3"
services:
  nginx:
    image: nginx
    ports:
      - "443:443"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./nginx/certs:/etc/nginx/certs

  stunnel:
    build: stunnel
    dns:
      - 8.8.8.8


https://do.nginxconfig.io/
https://www.acunetix.com/vulnerabilities/web/path-traversal-via-misconfigured-nginx-alias/