Unser neuer Virenscan-Robot für sicherere Uploads
Da Menschen immer mehr Bereiche ihres Lebens auf digitale Plattformen verlagern, steigen die Risiken, und ihr Schutz wird wichtiger denn je.
Ob wir native Apps, APIs oder Webanwendungen entwickeln: Als Entwickler / Ops ist es unsere Verantwortung, einiges an Überlegung und Zeit zu investieren, um unsere Nutzer vor denjenigen zu schützen, die böse Absichten haben.
Eingaben bereinigen, Firewalls einrichten, Upgrades ausrollen, die zulässigen SSL-Versionen einschränken – die Liste wird immer länger.
Zusätzliche Herausforderungen entstehen, wenn Sie Endnutzern erlauben, Dateien hochzuladen. Denn damit geben Sie im Grunde jedem, der eine Tastatur bedienen kann, die Möglichkeit, potenziell schädliche Dateien auf Ihrer ansonsten sorgfältig abgesicherten Plattform zu speichern.
Natürlich ist es möglich, dass eine schädliche Datei einfach dort liegt und nichts passiert. Dennoch besteht immer das Risiko, dass Schlimmes geschieht, und Sie sollten auf Folgendes achten:
Erstens müssen Sie sehr genau darauf achten, dass eine schädliche Datei nicht doch irgendwie ausgeführt wird. Wahrscheinlich haben Sie 100 Mechanismen im Einsatz, um das zu verhindern: Ausführungsbits entfernen, jegliche Benutzereingaben escapen und so weiter. Aber es gibt immer einen 101. Weg, all das zu umgehen. Mit genügend Zeit und Motivation findet ein gewiefter Hacker diesen Weg und führt seine bzw. ihre Datei auf Ihrer Plattform aus. Die Risiken reichen von offengelegten Geheimnissen bis hin zu zerstörten Daten.
Zweitens erlauben Sie Uploads von Nutzern vermutlich deshalb, damit andere Nutzer die Inhalte konsumieren können. Das bedeutet: Wurde eine schädliche Datei hochgeladen, sind Sie nun ein Verteiler von Malware. Es lässt sich nicht sagen, ob die Konsumenten die Datei ausführen, ob ihr lokales Antivirenprogramm anschlägt und sie schlecht über Sie reden oder ob sie den Virus unwissentlich weitergeben. Wenn Ihre Inhalte zudem für Web-Crawler zugänglich sind, werden Suchmaschinen wie Google das bemerken, was Ihrem Ranking und damit Ihrem Geschäft schadet.
Wie man es auch betrachtet: Wenn Sie eine Art Türsteher hätten, der Trojaner, Viren, Malware und andere bösartige Bedrohungen abweist, bevor sie Ihre Plattform erreichen – sämtliche Risiken würden sich drastisch verringern.
Deshalb hat sich das Transloadit-Team an die Arbeit gemacht und einen brandneuen Robot entwickelt, der Ihnen dabei hilft: /file/virusscan.
Auch wenn 100 % Sicherheit ein Mythos ist, basiert /file/virusscan auf dem weit verbreiteten ClamAV. Wenn Sie ihn als Türsteher einsetzen, kann er nahezu 4 Millionen Trojaner, Viren, Malware und andere bösartige Bedrohungen erkennen und abweisen.
Diesen Schutz zu aktivieren, ist so einfach, wie Ihren Instructions ein paar Zeilen hinzuzufügen.
Vielleicht haben Ihre Instructions Uploads bisher ins iPad-Format konvertiert, einige Vorschau-Thumbnails extrahiert und die Ergebnisse per SFTP auf Ihren privaten Server exportiert:
{
"steps": {
"ipad": {
"use": ":original",
"robot": "/video/encode",
"preset": "ipad-high"
},
"thumbnails": {
"use": "ipad",
"robot": "/video/thumbs"
},
"store": {
"use": [":original", "ipad", "thumbnails"],
"robot": "/sftp/store",
"credentials": "sftp_destination",
"path": "./transloadit-uploads/${unique_prefix}/${file.url_name}"
}
}
}
Diese Beispiele verwenden den aktuellen Standard-FFmpeg-Stack. Ersetzen Sie
sftp_destination durch Ihre SFTP-Template-Zugangsdaten
und wählen Sie einen Zielpfad auf Ihrem Server.
Um Malware abzuweisen, fügen Sie am Anfang einen Step namens scanned hinzu:
{
"steps": {
"scanned": {
"use": ":original",
"robot": "/file/virusscan"
},
"ipad": {
"use": "scanned",
"robot": "/video/encode",
"preset": "ipad-high"
},
"thumbnails": {
"use": "ipad",
"robot": "/video/thumbs"
},
"store": {
"use": ["scanned", "ipad", "thumbnails"],
"robot": "/sftp/store",
"credentials": "sftp_destination",
"path": "./transloadit-uploads/${unique_prefix}/${file.url_name}"
}
}
}
Wie Sie sehen, haben wir einen Step zum Scannen hinzugefügt. Er verarbeitet
:original, und andere Steps, die
zuvor auf :original zurückgriffen, verweisen nun auf unseren neu hinzugefügten
Step scanned. Ganz so, wie man eine Reihe von Unix-Tools zusammensteckt.
Lieben Sie nicht auch die Flexibilität unserer
Assembly-Ablauflogik? 😄
In diesem typischen Beispiel kontrollieren wir den Zugang bereits beim ersten Step. Ähnlich wie unser Robot /file/filter funktioniert, können Sie den Virenscan aber an jedem beliebigen Step einfügen. Das ist sinnvoll, wenn Sie Inhalte von anderen Orten importieren, wie Sie es mit unserem Robot /http/import tun würden. In einem solchen Fall würden Sie zuerst importieren, dann scannen und erst dann mit dem Encoding und dem Export fortfahren, wenn wir keine Bedrohung finden konnten.
Wenn Sie mehr über diesen Robot oder seine Parameter wie
error_on_decline erfahren möchten, besuchen Sie bitte seine
Dokumentation.
Sie können /file/virusscan ab heute zu den $/GB-Preisen Ihres Tarifs nutzen.
