Điểm:0

Chặn truy cập trực tiếp qua IP trên máy chủ Apache

lá cờ bf
Tom

Tôi có một Cân bằng tải do Digital Ocean cung cấp có IPv4 công khai, bất kỳ người dùng nào cũng có thể truy cập qua HTTP và HTTP (không có cách nào để chặn tại nguồn).

Để ngăn người dùng và tập lệnh truy cập trực tiếp vào máy chủ qua IP, tôi đã thêm một quy tắc trong VirtualHost trên máy chủ Apache (VPS).

Trong các thử nghiệm của tôi, kết quả trả về luôn là 403, nghĩa là về mặt lý thuyết, khối truy cập IP đã hoạt động.

Nhưng tôi nhận thấy rằng có một quyền truy cập đến với IP riêng của bộ cân bằng tải (LAN của VPS) trả về mã HTTP 200, nghĩa là người/tập lệnh có thể kết nối thành công (Public-IPv4-Load-Balancer > Local Network > VPS của tôi).

Dưới đây là giới hạn trong VirtualHost 000-default.conf, cho cả HTTP và HTTPS (Cài đặt này giống nhau trên cả hai máy chủ 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>

Đây là nhật ký truy cập thành công.

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

Có bất kỳ cài đặt nào trên máy chủ của tôi không chính xác không?

ezra-s avatar
lá cờ ru
Tại sao bạn không chỉ 'Yêu cầu tất cả bị từ chối' thay vì 'Chuyển hướng 403 /' đó? Ngoài ra, LUÔN LUÔN xác định Tên máy chủ trong tất cả các máy chủ ảo.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.