Score:0

บล็อกการเข้าถึงโดยตรงผ่าน IP บนเซิร์ฟเวอร์ Apache

ธง bf
Tom

ฉันมี Load Balancer ที่ให้บริการโดย Digital Ocean ซึ่งมี IPv4 สาธารณะ ซึ่งผู้ใช้ทุกคนสามารถเข้าถึงได้ผ่าน HTTP และ HTTPs (ไม่มีวิธีบล็อกที่ต้นทาง)

เพื่อป้องกันไม่ให้ผู้ใช้และสคริปต์เข้าถึงเซิร์ฟเวอร์โดยตรงผ่าน IP ฉันได้เพิ่มกฎใน VirtualHost บนเซิร์ฟเวอร์ Apache (VPS)

ในการทดสอบของฉัน ผลตอบแทนจะเป็น 403 เสมอ ซึ่งในทางทฤษฎีแล้ว บล็อกการเข้าถึง IP นั้นใช้งานได้

แต่ฉันสังเกตว่ามีการเข้าถึงที่มาพร้อมกับ IP ส่วนตัวของโหลดบาลานเซอร์ (LAN ของ VPS) ที่ส่งคืนรหัส HTTP 200 นั่นคือบุคคล/สคริปต์สามารถเชื่อมต่อได้สำเร็จ (Public-IPv4-Load-Balancer > Local Network > VPS ของฉัน).

ด้านล่างนี้คือข้อจำกัดใน VirtualHost 000-default.conf ทั้ง HTTP และ HTTPS (การตั้งค่านี้จะเหมือนกันทั้งบนเซิร์ฟเวอร์ 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>

นี่คือบันทึกการเข้าถึงสำเร็จ

ส่วนตัว-IP-โหลด-บาลานเซอร์ - - [15/มิ.ย./2021:11:20:10 -0300] "GET / HTTP/1.0" 200 1223 "-" "https://example.com:Company-Censured Analyze ให้ "

มีการตั้งค่าใด ๆ บนเซิร์ฟเวอร์ของฉันที่ไม่ถูกต้องหรือไม่?

ezra-s avatar
ru flag
ทำไมคุณไม่เพียงแค่ 'ต้องการการปฏิเสธทั้งหมด' แทนที่จะเป็น 'เปลี่ยนเส้นทาง 403 /' ล่ะ นอกจากนี้ ให้กำหนดชื่อเซิร์ฟเวอร์ในโฮสต์เสมือนทั้งหมดเสมอ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา