Puncte:0

Blocați accesul direct prin IP pe serverul Apache

drapel bf
Tom

Am un Load Balancer furnizat de Digital Ocean care are un IPv4 public, care poate fi accesat prin HTTP și HTTPs de către orice utilizator (nu există nicio modalitate de a bloca la sursă).

Pentru a împiedica utilizatorii și scripturile să acceseze serverul direct prin IP, am adăugat o regulă în VirtualHost pe serverele Apache (VPS).

În testele mele, returnarea este întotdeauna 403, adică teoretic a funcționat blocul de acces IP.

Dar am observat că a existat un acces cu IP-ul privat al echilibratorului de încărcare (LAN of VPS) care a returnat codul HTTP 200, adică persoana/scriptul s-a putut conecta cu succes (Public-IPv4-Load-Balancer > Rețea locală > VPS-ul meu).

Mai jos este restricția din VirtualHost 000-default.conf, atât pentru HTTP, cât și pentru HTTPS (Această setare este aceeași pe ambele servere Apache (VPS)).

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        LogLevel notice core:info
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        ErrorLog syslog:local1

        Header append X-FRAME-OPTIONS "SAMEORIGIN"

</VirtualHost>

<VirtualHost *:80>
    ServerName VPS-PUBLIC-IP
    Redirect 403 /
    ErrorDocument 403 "The operation had an error."
    DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
    ServerName LOAD-BALANCER-PUBLIC-IPV4
    Redirect 403 /
    ErrorDocument 403 "The operation had an error."
    DocumentRoot /var/www/html
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html

        ServerName LOAD-BALANCER-PUBLIC-IPV4
        Redirect 403 /
        ErrorDocument 403 "The operation had an error."

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on

        SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
        </Directory>

    </VirtualHost>
</IfModule>

Acesta este jurnalul de acces reușit.

PRIVATE-IP-LOAD-BALANCER - - [15/Jun/2021:11:20:10 -0300] "GET / HTTP/1.0" 200 1223 "-" "https://example.com:Company-Censured Analyze Provides ."

Există setări incorecte pe serverul meu?

ezra-s avatar
drapel ru
De ce nu pur și simplu „Solicită toate refuzate” în loc de „Redirecționare 403 /”? De asemenea, definiți ÎNTOTDEAUNA ServerName în toate virtualhosts.

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.