Wenn ein Server in unsere Hände kommt, ist es nicht üblich, dass der Client uns mitteilt, welche Programme installiert und konfiguriert wurden. Wir müssen es selbst herausfinden. Heute konzentrieren wir uns auf die Identifizierung des auf dem Server installierten MTA . Wenn ich sage, dass MTA installiert ist, meine ich den MTA, der aktiv ist und im System funktioniert.
Bevor Sie fortfahren, stellen Sie klar, dass dieses Lernprogramm für Linux-Umgebungen gedacht ist (obwohl einige der Methoden unter Windows anwendbar sind), und wir zeigen verschiedene Methoden, um unser Ziel zu erreichen. Einige dieser Methoden erfordern Zugriff auf die System-Shell, andere nicht.
Bei weniger erfahrenen Benutzern werden häufig Skripts verwendet, mit denen ein Webserver automatisch installiert und der Mailserver sogar automatisch installiert und konfiguriert wird. Wenn Sie später ein Problem auf diesem Server beheben müssen, müssen Sie zunächst die installierte Software ermitteln. Also werden wir ohne weiteres sehen, wie wir den MTA des Systems herausfinden können .
Was ist ein MTA?
Wenn Sie hierher gekommen sind, gehe ich davon aus, dass Sie wissen, was ein MTA ist, aber um sicherzugehen, werde ich eine kleine Einführung geben. Das Wort MTA stammt vom englischen «Mail Transfer Agent» und ist nichts weiter als eine Software, mit der wir einen E-Mail-Server konfigurieren können .
Ein MTA implementiert sowohl die Sende- als auch die Empfangsfunktion, obwohl wir ihn später so konfigurieren können, dass er eine oder beide Funktionen ausführt. Die MTAs verwenden standardmäßig den TCP-Port 25 für das SMTP-Protokoll (Simple Mail Transfer Protocol) , das am häufigsten verwendet wird.
Es gibt verschiedene Programme, die als MTA fungieren, aber einige der bekanntesten sind: Postfix, Sendmail, Exim, Qmail, Microsoft Exchange Server usw.
Identifizieren des auf einem Linux-Server installierten MTA.
Wie eingangs gesagt, werden wir verschiedene Methoden zeigen und mit den schnellsten Methoden beginnen, die das Systemterminal verwenden.
Suchen nach MTA-Tracks in der Datei / etc / passwd.
Eine einfache Möglichkeit, uns Hinweise auf die installierten MTAs zu geben, besteht darin, den Inhalt dieser Datei mit dem Befehl cat /etc/passwd
zu lesen.
Im Allgemeinen verwalten die Mailserver ihren eigenen Benutzer und ihr Arbeitsordner ist dem Pfad /var/spool/
, in dem sich die Programme befinden, die mit Warteschlangen arbeiten müssen, wie dies bei den Mailservern der Fall ist. Wir sehen zum Beispiel den Inhalt der /etc/passwd
in der wir Postfix als MTA identifizieren können:
nginx:x:111:117:nginx user,,,:/nonexistent:/bin/false mysql:x:112:118:MySQL Server,,,:/var/lib/mysql:/bin/false postfix:x:113:120::/var/spool/postfix:/bin/false
Diese Methode ist nicht unfehlbar, kann aber Hinweise geben. Um sicherzugehen, können wir die folgenden Methoden anwenden.
Mit dem Befehl lsof.
Die erste und einfachste Möglichkeit besteht darin, den Befehl lsof
zu verwenden, um die PID
des Prozesses zu ermitteln, der Port 25 sudo lsof -i :25
. Wir führen den Befehl sudo lsof -i :25
, der uns sudo lsof -i :25
:
zeo@zeohost:~$ sudo lsof -i :25 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME master 1452 root 12u IPv4 17410 0t0 TCP localhost:smtp (LISTEN) master 1452 root 13u IPv6 17411 0t0 TCP localhost:smtp (LISTEN)
In der Spalte COMMAND
wir manchmal bereits den Namen des MTA, in diesem Fall ist dies jedoch nicht der Fall, sodass wir eine zweite Prüfung mit der PID
.
Wir sehen, dass die PID in unserem Beispiel 1452 ist. Jetzt führen wir den Befehl ps p 1452
und sehen etwas wie:
zeo@zeohost:~$ ps p 1452 PID TTY STAT TIME COMMAND 1452 ? Ss 0:02 /usr/lib/postfix/sbin/master
Wenn wir ein wenig aufpassen, können wir sehen, dass der MTA, der im System in Betrieb ist, Postfix ist.
Verwenden von Telnet, um über Port 25 eine Verbindung zum Host herzustellen.
Eine zweite Möglichkeit besteht darin, Telnet zu verwenden und über Port 25 eine Verbindung zum Host herzustellen. Dazu führen wir den Befehl telnet localhost 25
Wenn die Verbindung hergestellt ist, wird normalerweise eine Meldung mit dem Namen des MTA angezeigt, wie unten dargestellt:
zeo@zeohost:~$ telnet localhost 25 Trying ::1... Connected to localhost. Escape character is '^]'. 220 vozidea.com ESMTP Postfix (Debian) quit 221 2.0.0 Bye Connection closed by foreign host.
Um die Verbindung zu quit
, schreiben Sie die quit
und drücken Sie die Entrar
.
Identifizieren Sie den verwendeten Mailserver, indem Sie die E-Mail-Header analysieren.
Eine andere Möglichkeit, den von Ihnen verwendeten Mailserver zu ermitteln, besteht darin, die E-Mail-Header zu analysieren. Dazu benötigen wir lediglich ein Google Mail-E-Mail-Konto und können über dieses Google Mail-Konto eine E-Mail von unserem Server empfangen.
Um diese E-Mail zu senden, können wir die folgenden Optionen verwenden:
- Verwenden Sie das Registrierungs- oder Kennwortwiederherstellungssystem eines Skripts, das wir auf dem Server installiert haben (WordPress, phpBB, Drupal usw.) .
- Senden Sie die E-Mail von der Konsole aus mit dem Befehl:
echo "Hola, soy el cuerpo del correo" | mail -s "Email de prueba" [email protected]
echo "Hola, soy el cuerpo del correo" | mail -s "Email de prueba" [email protected]
- Wir könnten ein kleines Skript in PHP erstellen, um eine Test-E-Mail zu senden.
Sobald wir die E-Mail in unserem Google Mail-Konto erhalten haben, öffnen wir sie und greifen auf die Option “Original anzeigen ” zu , die über das Dropdown-Menü neben dem Zeitpunkt des Eingangs der E-Mail aufgerufen werden kann.
Jetzt können wir in der ursprünglichen Nachricht die Header untersuchen , aber derjenige, der uns interessiert, ist derjenige, der mit Received: by ...
beginnt Received: by ...
da wir dort den MTA identifizieren können, wie im folgenden Beispiel gezeigt:
Received: by ns540796.ip-144-211-11.net (Postfix, from userid 10004) id D073A431BC; Sat, 8 Jul 2017 06:58:08 -0400 (EDT)
Sicher gibt es mehr Methoden, um den installierten MTA zu identifizieren, aber mit den Methoden, die in diesem Tutorial gezeigt werden, sollte es ausreichen. Wenn Sie eine andere interessante Methode kennen, zögern Sie nicht, einen Kommentar abzugeben.