Meiner Meinung nach sollte eine Endanwender Anwendung eh nie direkten Zugriff auf die Datenbank haben (ja es gibt Ausnahmen).
DB Server so gut es geht absichern, nur wirklich notwendige Benutzeraccounts mit den niedrigsten Berechtigungen die möglich sind. Zugriff aufs OS soweit es geht einschränken.
API davor stellen die die benötigten Funktionen exposed, DB Zugangsdaten verschlüsselt ablegen, bei der Konfiguration ein zufälligen Wert als Schlüssel generieren. Dient nicht zum Schutz der Zugangsdaten, sondern einfach nur damit die nicht im Klartext auf der Platte irgendwo liegen. Ebenfalls zugriff aufs OS soweit es geht einschränken.
Client zu API kommunikation über TLS (ggf. mit cert pinning).
DB Server so gut es geht absichern, nur wirklich notwendige Benutzeraccounts mit den niedrigsten Berechtigungen die möglich sind. Zugriff aufs OS soweit es geht einschränken.
API davor stellen die die benötigten Funktionen exposed, DB Zugangsdaten verschlüsselt ablegen, bei der Konfiguration ein zufälligen Wert als Schlüssel generieren. Dient nicht zum Schutz der Zugangsdaten, sondern einfach nur damit die nicht im Klartext auf der Platte irgendwo liegen. Ebenfalls zugriff aufs OS soweit es geht einschränken.
Client zu API kommunikation über TLS (ggf. mit cert pinning).
Antivirus 2.0: Der perfekte Schutz gegen Malware > Weitere Informationen
Debuggen, Fehler finden und beseitigen
Updater - Worauf sollte man bei eigenen Updatern achten?
Debuggen, Fehler finden und beseitigen
Updater - Worauf sollte man bei eigenen Updatern achten?