Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Sicherheitsaspekte bei FTP
Kriz
myCSharp.de - Member



Dabei seit:
Beiträge: 114

Themenstarter:

Sicherheitsaspekte bei FTP

beantworten | zitieren | melden

Hallo zusammen,

ich entwickle eine Weboberfläche mit der Bilder auf einen FTP Server geladen werden können, diese werden dann in einer App, sowie auf weiteren Websites verwendet.

Technisch habe ich keine Frage, mir geht es um die verschiedenen Sicherheitsaspekte, an die ich denken müsste. Also wie würdet ihr Dateiupload sichern? Mir fällt da spontan erstmal nur ein, anhand der Dateiendung zu checken, ob die Datei überhaupt eine Grafikdatei ist. Das lässt sich natürlich sehr leicht umgehen, indem man eine Exe beispielsweise einfach nur umbenennt.
Also wo sollte ich da ansetzen mit dem Sicherheitskonzept?

Danke schonmal!
private Nachricht | Beiträge des Benutzers
Diräkt
myCSharp.de - Member



Dabei seit:
Beiträge: 611
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo Kriz

Ich würde Dir von FTP abraten (auch von den sichereren Varianten wie FTPS oder SFTP). Nutze dafür besser eine REST API (bspw. ASP.NET Core Web Api) und lege die Bilder in einem BlobStorage ab. Die Authentifizierung kannst du da bspw. über ein Token im Header machen... (OAuth, ...)

Nun zu Deiner Frage. Dein Controller könnte die ersten paar bytes auslesen und daran erkennen ob es sich um ein Bild handelt.

(Achtung bei sehr vielen Requests könnte das recht Memory intensiv werden )

Beste Grüsse

Diräkt
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Diräkt am .
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.977
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Zur Übertragung würde ich auch eine REST Api empfehlen.
Das ganze sollte aber dann pber Https laufen, damit die Daten/Bilder nicht einfach mitgelesen werden können.

Der Dateityp selber sollte sich via Mime ermitteln lassen.
Dafür bietet .NET auch schon einige Klassen.

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.832

beantworten | zitieren | melden

Zitat von Kriz
Also wo sollte ich da ansetzen mit dem Sicherheitskonzept?
Mit den Grundlagen :-)
Ein Sicherheitskonzept startet i.d.R. mit der Authentifizierung. Und allein an dem Punkt muss Dir klar werden, dass der simple FTP Standard nur Basic Authentication ermöglicht, was weit weg von einer sicheren Art und Weise im Jahr 2021 ist.
Willst Du etwas, was auch heute noch als sicher deklariert ist, dann kommst Du an einem Token-basierten AuthN Verfahren nicht vorbei - und dann biste schnell beim HTTP Upload und nicht bei FTP.
private Nachricht | Beiträge des Benutzers
Kriz
myCSharp.de - Member



Dabei seit:
Beiträge: 114

Themenstarter:

beantworten | zitieren | melden

Ok, dann werde ich mich von FTP verabschieden und es per HTTP Upload machen.
Danke für die Hinweise!

Falls noch jemand auf die gleiche Idee kommt mit FTP arbeiten zu wollen,hier ein gutes Video, warum man es nicht mehr machen sollte:
private Nachricht | Beiträge des Benutzers