bene: was bedeutet smtp auth genau

hallo,

ich möchte über ein php Skript Emails versenden. Da ich gelesen habe das die Funktion mail für Email-Injectons genutzt werden kann, verwende ich das Pear-Paket Mail.
Dort gibt man als Parameter neben host und port mit auth auch an, ob eine Authentifizierung erfolgen soll. Ich habe es spaßeshalber einfach mal auf false gesetzt und Benutzername/Passwort auf falsche Wert und die Mails wurden trotzdem gesendet, was mich ziemlich verwirrt.

Bedeutet das, dass jeder über den Host E-Mails verschicken kann z.B. auch Spam. Wo liegt der Fehler. Hat mein Provider was verschlafen?

Danke und Grüße
Bene

  1. Hallo!

    Dort gibt man als Parameter neben host und port mit auth auch an, ob eine Authentifizierung erfolgen soll. Ich habe es spaßeshalber einfach mal auf false gesetzt und Benutzername/Passwort auf falsche Wert und die Mails wurden trotzdem gesendet, was mich ziemlich verwirrt.

    smtp_auth wird bei SMTP-Server verwendet, um den User der die Email verschickt, auch wirklich dazu berechtigt ist, über diesen SMTP-Server Email zu versenden. In der Regel ist das der Benutzername und Passwort  die man auch für den POP3-Account hat. SMTP-Server die kein smtp_auth verwenden, sind von außen zu erreichen und werden oft als SPAM-Schleudern verwendet.

    Da Du aber Deine Mails lokal verschickst, ist das nicht relevant bzw. Du Dich schon im Netzwerk Deines Providers/Hosters befindest. Eine Authentifizierung ist nicht nötig, da Du Dich schon quasi authentifiziert hast.

    PEAR hat in diesem Paket diesen Parameter, damit Du auch Mails über SMTP-Server versenden kannst, an denen Du Dich noch authentifizieren musst.

    http://en.wikipedia.org/wiki/SMTP-AUTH

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Hallo!

      SMTP-Server die kein smtp_auth verwenden, sind von außen zu erreichen und werden oft als SPAM-Schleudern verwendet.

      Ist ist natürlich nicht ganz richtig! SMTP-Server die kein smtp_auth verwenden, können ohne Authentifizierung verwendet werden und können so anonym als SPAM-Schleuder verwendet werden.

      André Laugks

      --
      Die Frau geht, die Hilti bleibt!
      1. Hallo André,

        danke für deine Antworten.
        Ich habe versucht von mir lokal über den host ohne Authentifizierung eine Email zu verschicken und es hat funktioniert.
        Mir ist noch nicht ganz klar was das bedeutet:

        • Ist es eine Sicherheitslücke meines Providers?
        • Kann jetzt jeder über den Host eine Email verschicken und einen beliebigen Absender angeben? Oder sind meine E-Mail-Adressen besonders gefährdet, bei einer Spam-Attacke als Absender aufzutauchen.
        • ist folgendes richtig: jemand kann über den Host mit meiner Absender-Adresse eine E-Mail verschicken und es ist später nicht festzustellen ob ich diese Email verschickt habe oder jemand anderes.

        Danke und Viele Grüße
        Bene

        1. Hallo!

          Erst lesen, dann weg schicken... :-(

          • Ist es eine Sicherheitslücke meines Providers?

          Nein! Weil Du Dich im dem Netzwerk Deines Providers schon angemeldet hast. Du sagst von lokal verschickt. Das hast Du Dich über Deine Internetverbindung (DSL- oder ISDN-Anschluss) schon authentifiziert.

          • Kann jetzt jeder über den Host eine Email verschicken und einen beliebigen Absender angeben? Oder sind meine E-Mail-Adressen besonders gefährdet, bei einer Spam-Attacke als Absender aufzutauchen.
          • ist folgendes richtig: jemand kann über den Host mit meiner Absender-Adresse eine E-Mail verschicken und es ist später nicht festzustellen ob ich diese Email verschickt habe oder jemand anderes.

          Das kommt immer drauf an, von wo aus die Email verschickt wird. So lange ein Provider jemanden authentifizieren kann, dass muss nicht unbedingt direkt über einen Benutzername und Passwort für POP3- oder SMTP-Server sein.

          Die Spamer versenden ja im Namen anderer Emails. Das machen die in der Regel über ungesicherte SMTP-Server.

          Ein guter Provider schreibt Logfiles (POP3, SMTP, Internetverbindung) mit. So kann im nachhinein ein Missbrauch ermittelt werden.

          André Laugks

          --
          Die Frau geht, die Hilti bleibt!
          1. Hallo,

            Nein! Weil Du Dich im dem Netzwerk Deines Providers schon angemeldet hast. Du sagst von lokal verschickt. Das hast Du Dich über Deine Internetverbindung (DSL- oder ISDN-Anschluss) schon authentifiziert.

            verstehe ich nicht. Mit lokal habe ich das php-Skript das bei mir lokal läuft gemeint. Hast du mit lokal mein Email-Programm gemeint?
            Weil der Versand per php-Skript und per Email-Programm dürften ja völlig unabhängig sein. Das heißt wenn ich mich mit meinem Email-Programm schon authentifiziert habe, bräucht das php-Skript ja trotzdem eine Authentifizierung, oder? Wenn nicht wo wird die Authentifizierung gespeichert?

            Danke und Grüße
            Bene

            1. Hallo,

              Hi

              verstehe ich nicht. Mit lokal habe ich das php-Skript das bei mir lokal läuft gemeint. Hast du mit lokal mein Email-Programm gemeint?

              Lokal ist in diesem Fall "im Netzwerk deines Providers", wo du, andere Kunden und der Mailserver drin sind.

              Wenn die mit einer Anfrage zum Mailserver kommst, merkt dieser dass du ein Kunde (Provider-Netzwerk) bist, wodurch keine Auth. benötigt wird.

              Das man über den Provider versenden darf ist meistens der Fall, jedoch nicht zwingend.

              Danke und Grüße
              Bene

              Bitte, Sysadmin

              1. hallo,

                danke sysadmin, jetzt weiß ich was lokal bedeutet.
                Eine Frage bleibt noch offen:
                wenn ich das Skript zum Versenden der Email auf meinem Rechner also nicht lokal aufrufe, wird die Email trotzdem versendet.
                Das stellt doch ein Sicherheitsrisiko dar. Da sollte doch der smtp-Server einen Authentifizierung erzwingen oder?

                Danke und Grüße
                Bene

  2. Hallo Bene,

    Bedeutet das, dass jeder über den Host E-Mails verschicken kann z.B. auch Spam. Wo liegt der Fehler. Hat mein Provider was verschlafen?

    Wahrscheinlich nicht. Ein vernünftig konfigurierter SMTP-Server schränkt den Zugang so ein, dass er sich nicht als "Open Relay" (Spam-Schleuder) missbrauchen lässt. Dazu gibt es aber je nach Verwendungszweck des Mail-Servers verschiedene Möglichkeiten.

    Eine häufige Standard-Konfiguration ist:

    Der SMTP-Server sieht sich für bestimmte Domains als zuständiger Empfänger an. E-Mails, die an Adressen mit diesen Domains adressiert sind, werden ohne weitere Authentifizierung entgegen genommen. Meistens werden die Mails, dann in lokale Mailboxen verteilt.

    Eine Zugangsbeschränkung wäre hier aber kontraproduktiv, da prinzipiell jeder eine E-Mail an die von diesem Server verwendeten E-Mail-Adressen schicken können soll. Manchmal wird allerding ein Spam-Filter verwendet, der nach bestimmten Kriterien (z.B. IP-Adressen-Blacklist) prüft, ob die E-Mail wahrscheinlich Spam ist und ggf. den Empfang ablehnt.

    Für Mails an alle anderen E-Mail-Adressen verlangt der SMTP-Server eine Authentifizierung, um sicher zu gehen, dass nur Berechtigte E-Mails versenden können. Häufig werden bestimmte Rechner oder Netzwerke (localhost, das gesamte Firmen-Netzwerk, etc.) als vertrauenswürdig betrachtet. Versucht nun einer dieser als vertrauenswürdig angesehenen Rechner E-Mails an beliebige Adressen über den SMTP-Server zu verschicken, reicht seine IP-Adresse als Authentifizierung aus. (Dieser Fall kommt wahrscheinlich zum Tragen, wenn du mit einem PHP-Script Mails versendest.)

    Unbekannte Rechner müssen hingegen noch über SMTP Auth nachweisen, dass sie berechtigt sind, über diesen SMTP Server Mails zu versenden.

    Schöne Grüße,

    Johannes