Passwort verschlüsselt

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
snowflake
User
Beiträge: 93
Registriert: Mittwoch 9. November 2016, 15:46

Hallo zusammen,

ich versende automatisch E-Mails mit folgendem Skript:

Code: Alles auswählen

import smtplib, sys
from email.mime.text import MIMEText
from email.header import Header

frm  = 'Absender <absender@abc.de>'
to   = 'Empfänger <empfaenger@abc.de>'
subj = 'E-Mailversand mit Python'
msg  = 'Dies ist eine Testmail.'

try:
  mime = MIMEText(msg, 'plain', 'utf-8')
  mime['From'] = frm
  mime['To']   = to
  mime['Subject'] = Header(subj, 'utf-8')

  smtp = smtplib.SMTP("mail.abc.net")
  smtp.starttls()
  smtp.login("xxxx@abc.de", "pw")
  smtp.sendmail(frm, to, mime.as_string())
  smtp.quit()
  print("E-Mail wurde versendet")
except:
  print("Beim E-Mail-Versand ist ein Fehler aufgetreten:", sys.exc_info())
Leider liegt das Passwort (PW) offen und somit unverschlüsselt im Programm vor. Gibt es eine Möglichkeit, dass PW zu verschlüsseln. Vor dem Versand möchte ich nicht jedes Mal das Passwort eingeben müssen bzw. ist auch nicht möglich.

Vielen Dank und schon mal alles Gute für 2017.

snowflake
Zuletzt geändert von Anonymous am Freitag 30. Dezember 2016, 16:06, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@snowflake: Natürlich gibt es die Möglichkeit *nicht*. Klar kannst Du es verschlüsseln, aber da es zum Versenden gebraucht wird, musst Du es dann entschlüsseln, und der Schlüssel *dafür* muss dem Programm ja zur Verfügung stehen, also hast Du den dann im Klartext. Und somit nichts gewonnen.

Vor wem soll das Passwort denn geschützt werden? Es darf halt niemand ausser Dir, beziehungsweise der Nutzer unter dem das ausgeführt wird, Lesezugriff auf die Datei haben in der das Passwort steht. Weil irgendwo muss es ja stehen wenn man es für den Mailserver benötigt.
snowflake
User
Beiträge: 93
Registriert: Mittwoch 9. November 2016, 15:46

Guten Abend BlackJack,

ich kann aus dem Internet heraus per SSH auf diesen Rechner zugreifen. Normalerweise habe nur ich darauf Zugriff. Mein Gedanke war, etwas mehr Sicherheit einzubauen.

Trotzdem vielen Dank und alles Gute für 2017.

snowflake
BlackJack

@snowflake: Wenn Dir der SSH-Zugang zu unsicher ist, könntest Du Passwörter verbieten und nur Zugang per hinterlegtem Schlüssel erlauben, oder den Port erst nach einer „port knocking“-Sequenz freigeben. Falls Du von dort aus von wo Du zugreifen möchtest ebenfalls einen Server hast, könntest Du ein VPN aufsetzen, statt SSH zu verwenden.
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

@snowflake: bei einem Bedrohungsszenario solltest Du Dir immer zuerst fragen, welche Risiken will ich absichern. 100% Sicherheit gibt es nicht. Also bei Dingen, die direkt ans Internet angeschlossen sind, ist das wahrscheinlichste, dass irgendeine Sicherheitslücke in irgendeinem Prozess der darauf läuft existiert und massenhaft ausgenutzt wird. Darauf kann man reagieren, indem man regelmäßig Updates aller Komponenten einspielt. Das ist aber im schlimmsten Fall zu spät. Dann gilt sowieso, alle Passwörter ändern. Es gibt dann zwei Arten von Lücken. Welche, wo man Root-Rechte ergaunert. Dagegen hilft kein noch so ausgeklügeltes Sicherheitskonzept, da Root einfach den Netzwerkverkehr mitlauschen kann, und so das Mail-Passwort auf dem Silbertablett präsentiert bekommt. Der weniger kritische Fall ist der, dass der Angreifer nur irgendwelche eingeschränkte Rechte erhält. Um da den Schaden möglichst gering zu halten, sollte jeder Dienst unter einem eigenen Benutzer laufen und sensible Daten auch nur für diesen Benutzer lesbar sein.
snowflake
User
Beiträge: 93
Registriert: Mittwoch 9. November 2016, 15:46

Ich wünsche allen ein gutes neues Jahr 2017.

Vielen Dank für die Rückmeldungen. Manches ist mir jetzt klarer geworden. Ich muss mir Gedanken machen wie ich da weiter vorgehe. Ich lege mir evtl. ein neues Postfach an, dass für mich nur untergeordnete Bedeutung hat.

Viele Grüße.

snowflake
Antworten