Von außen kann nicht auf Apache2 zugegriffen werden

Von außen kann nicht auf Apache2 zugegriffen werden

Ich hoste eine Standardsite für einen Apache2-Server auf AWS EC2 (Ubuntu) mit Elastic IP.

Sicherheitsgruppe so eingestellt, dass alle eingehenden Daten geöffnet werden (zu Testzwecken).

Ich kann über SSH mit einer öffentlichen IP auf den Server zugreifen, aber nicht über HTTP.

Ich kann die Site vom lokalen Host aus durchsuchen (mit lynx 127.0.0.1).

Ich kann die Site auch von einem anderen EC2 im selben Subnetz aus durchsuchen.

Hier sind meine iptables:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Offene Ports:

tcp               LISTEN             0                  128                                   0.0.0.0:22                                 0.0.0.0:*                                  
tcp               LISTEN             0                  511                                         *:80                                       *:*                                  
tcp               LISTEN             0                  128                                      [::]:22                                    [::]:*                                  
tcp               LISTEN             0                  511                                         *:443                                      *:*  

Firewalls sind inaktiv.

Ich habe auch gerade versucht, Nginx auf der zweiten VM zu installieren, die ich im selben Subnetz gestartet habe, und seltsamerweise kann ich auch nicht auf den Webserver über Port 80 zugreifen.

Ich habe jetzt auch eine neue Instanz in einem separaten Subnetz erstellt und kann sie immer noch nicht über HTTP erreichen. Über SSH ist sie jedoch erreichbar.

Ich bin nicht sicher, was ich übersehe.

Aktualisierung 1:

Das ist äußerst bizarr, ich habe auf dieser Maschine auch MySQL laufen, das auch zugänglich ist. Routing und Sicherheitsgruppen scheinen alle korrekt zu sein, aber aus irgendeinem Grund wird der HTTP- und HTTPS-Verkehr durch etwas blockiert.

Aktualisierung 2:

Ich habe die Flow-Protokolle auf VPC aktiviert und alle meine Anfragen an Port 80 wurden abgelehnt, 22 und 3306 kamen ohne Probleme an.

my.ip.goes.here. 10.1.1.68 64087 80 6 1 64 1694528397 1694528415 REJECT OK

Netzwerk-ACList so eingestellt, dass alle ein- und ausgehenden Verbindungen zugelassen werden:

100 All traffic All All 0.0.0.0/0   Allow
*       All traffic All All 0.0.0.0/0   Deny

Sicherheitsgruppelässt den gesamten ein- und ausgehenden Datenverkehr zu:

All Traffic 0.0.0.0/0

Das wird immer merkwürdiger.

Antwort1

Versuchen Sie, mit tspdump Pakete zu verfolgen – ob das Paket beim Host ankommt oder nicht. Wenn das Paket ankommt, blockiert oder verwirft es offensichtlich etwas auf dem Server. Setzen Sie alle Firewall-Regeln komplett zurück, oder noch besser, schalten Sie sie (zum Testen) komplett aus. Überprüfen Sie zunächst die Einstellungen des Webservers, es ist möglich, dass etwas nicht richtig konfiguriert ist. Versuchen Sie, eine einfache statische Seite einzufügen und diese Maßnahmen zu kombinieren – Sie werden das Problem auf jeden Fall herausfinden.

Antwort2

Ich habe eine Lösung gefunden.

Ich habe Nginx auf Port 81 geöffnet, was einwandfrei funktionierte, und daher dachte ich, dass es nur die Web-Ports blockiert.

Nach einiger Recherche lag dies daran, dass mein EC2 mit „EC2 Abuse Report“ gemeldet wurde.

Zwischen Millionen von E-Mails gab es eine:

Wir haben Missbrauchsberichte erhalten, die auf Ressourcen in Ihrem AWS-Konto hinweisen. Aus diesem Grund haben wir die folgenden Schritte gegen die betroffenen Ressourcen unternommen, um die Aktivität einzudämmen:

**Blockierte eingehende HTTP-Ports 80,8080 und 443 in der Region**

Zuvor gab es in dieser Region verschiedene EC2-Instanzen, auf denen eine bestimmte Software installiert war, die gehackt und heruntergefahren wurde.

Es wäre toll, wenn dies bei der EC2-Instanz irgendwie in der Konsole angezeigt würde.

verwandte Informationen