Meine Vorgehensweise wäre so:
- Das ganze auf eine Domain/Subdomain legen, welche nicht öffentlich bekannt ist. Das ganze auf einen Unterordner der IP zu legen ist zu gefährlich
- Zugang via SSL (HTTPS) absichern
- Authentifizierung über ein Client SSL Zertifikat
- Für das php_ssh Modul KEINERLEI SSH Schlüssel auf der Festplatte des Servers ablegen. Wenn hier schlüssel nötig sein sollten, diese auf jeden Fall bei jedem Login hochladen und nach einem Timeout sofort wieder löschen.
- Den SSH Dienst / Fail2Ban so konfigurieren, dass auch Verbindungen die auf localhost gehen gesichert sind. Dies ist je nach Distribution nicht immer der Fall.
- Den Ordner den PHP für Session Files und Uploads verwendet für diese eine Applikation ändern und den Ordner so restriktiv wie möglichen machen, damit kein anderer Linux Benutzer diesen Ordner einsehen kann.
- Die Applikation als FastCGI unter einem gesonderten Benutzer laufen lassen.