FTP Verbindung sicherer machen bzw. Alternativen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von wsk1000.

    FTP Verbindung sicherer machen bzw. Alternativen

    Liebe Comunity!
    ich habe mal eine sehr wichtige Frage, die sicher auch andere Interressiert.
    Und zwar, wie kann ich in einem Programm meine Zugangsdaten für einen FTP Account verschlüsseln, bzw. kann ich diese Daten auch auslagern (in my.settings)?

    Bitte fragt nicht wofür das Programm ist, da das strengstens geheim ist, da das wie ein CMS System verwendet wird.

    Noch zusätzliche. Features sind: schon bei Setup muss man ein Passwort eingeben (per PW Generator generiert), dann muss man sich mit einem Benutzeraccount anmelden, und erst dann kann man den Inhalt verändern.
    lg
    wsk1000
    PS: ich glaube (!) ich habe Framework 4.5

    wsk1000 schrieb:

    PS: ich glaube (!) ich habe Framework 4.5

    Wirklich nichts für ungut, aber ich glaube du solltest dir die Grundlagen durchlesen, bevor du mit Zugangsdaten hantierst.
    Ich würde Zugangsdaten prinzipiell in keinem Programm abspeichern. Lasse den/die User die Daten einfach in ein Textfeld o.ä. eingeben.

    Hier legst du das Zielframework fest: (Einstellungen -> Zielframework)



    ps.: Ein paar mehr Infos was du eigentlich machen möchtest wären nicht schlecht - Beispiel ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FireEmerald“ ()

    1: Das mit die Zugangsdaten in die Textbox schreiben ist so ne Sache... Vorgesehen ist das Programm nur für ein paar Personen. Je nach dem wem ich vertrauen kann (nur in meiner Schule). Der Benutzername ist zu kompliziert und das Passwort ist mein persönliches.

    2: ich glaube für mein Alter kenne ich mich relativ gut aus für vb.net.
    Ich verstehe natürlich, dass du Grundlagen vorraussetz, aber manche lernt man halt eben noch.

    3: das mit dem Framework glaube ich nur deswegen, weil die Grundeinstellung ja auf 4.5 liegt. Bis jetzt hatte ich das zumindest so.

    4: mehr Infos:
    ich logge mich ein > dann drücke ich auf die Seite die ich bearbeiten will > das Programm läd sie herunter > das Programm konvertiert html klammern in so eine Art von BB Codes > bearbeiten >speichern > hochladen > ausloggen

    5: kann man die Daten jetzt nicht in die my.settings schreiben?

    6: ich habe mal davon gelesen, dass man das mit PHP machen soll.. Nur wie PHP in VB.NET integrieren?

    Für den login: Gibt es eine Möglichkeit in vb mit MD5 bzw. Md6 zu verschlüsseln? Da kann man nämlich das verschlüsselte speichern und dann das verschlüsselte mit dem eingegeben vergleichen

    für den up/download: also (my.settings). Wie wärs mit mysql? Das solle doch auch funktionieren, oder?
    Also sicher im Internet ist man nur auf TLS - Basis unterwegs.
    Das ist bereits im Framework einprogrammiert, aber ums zu aktivieren muss man iwas komisches mit Zertifikaten installieren - ich habs noch nicht hinbekommen, und fund auch keine Anleitung, die das geändert hätte.
    Ohne TLS ist unsicher, und FTP ganz besonders unsicher, weil wenn das Passwort ausgeschnüffelt ist, installiert ein Angreifer seinen Kram auf deinem Webspace, und oder tauscht deine Dateien durch verseuchtes Zeugs aus etc.
    Php ist genauso ausschnüffelbar, nur Php stellt einem Angreifer nur genau diejenigen Methoden zur Verfügung, die halt in php gescriptet sind (und du tust gut dran, keine Methode "UploadFile" zu scripten, wies sie etwa in FTP gibt)
    Mit MD5 kann man nicht verschlüsseln, sondern nur hashen und selbst das ist nicht mehr wirklich sicher. Zudem ist es möglich das Ganze zu zu entschlüsseln, da alles dafür ja lokal beiliegt.

    Selbst mit Hash wäre es leicht austauschbar.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    nafets3646 schrieb:

    MD5-Hashes kannst du nicht entschlüsseln

    Ich weiß, der Satz bezog sich dann schon auf eine Verschlüsselung, nicht mehr den Hash ;)
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Aha ok. Vielen Dank für eure Antworten. Dann werde ich das wahrscheinlich so machen, dass man nur das Passwort eingeben muss, und der nutzername ist halt schon gespeichert, ist das sicherer?

    ich könnte die Daten auch in eine MySQL Datenbank schreiben, oder. Braucht man dafür auch ftp oder nicht?

    wsk1000 schrieb:

    dass man nur das Passwort eingeben muss

    Richtig!
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Äh, ja?! Das sind ja private Felder, die speicherst Du ja nirgends. Zumindest nicht so. Wenn Du ganz sichergehen willst, dass das Ganze aus dem Speicher entfernt wird, guggst Du ​SecureString-Klasse.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Aha. Das heist der Code würde so aussehen:

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.ComponentModel
    3. Imports System.Diagnostics
    4. Imports System.Security
    5. Public Class Form1
    6. Private Function FTPLogin()
    7. Dim securePwd As New SecureString()
    8. securePwd = ftppassword.Text
    9. 'FTP Abfrage mit securePwd
    10. End Function
    11. End Class