Selbstzerrstörung in Syno NAS einbauen

Status
Für weitere Antworten geschlossen.

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Habe mir ein Script geschrieben, welches beim Boot des Synology NASes (bei mir DSM 7.1) ausgeführt wird und bestimmte Verzeichnisse/Dateien löscht, wenn das NAS nicht im Heimnetzwerk "erwacht".
Die Idee kam mir, als einem Bekannten die Bude von der Polizei gestürmt wurde. Die nehmen einfach alles mit, was iwie wie ein Computer aussieht (inkl Handy).

Man erstelle das Script startup.sh im Verzeichnis /usr/local/etc/rc.d . Es muss die Endung .sh und Rechte 755 haben!
Um da zu hantieren, melde Dich per SSH als Admin-User an (den, den Du halt als Admin auf der Diskstation konfiguriert hast).
In der Konsole dann ganz normal mit sudo nano ... arbeiten.

Das Script sieht wie folgt aus. Es prüft auf die IP des Gateways (von Vorteil, wenn diese nicht Standard 192.168.1.1 bzw 192.168.178.1 ist) und einem weiteren Gerät (zBsp Server). Geräte, welche eigentlich immer laufen.
Wenn beide nicht erreichbar sind, wartet das Script die in wartezeit definierten Sekunden ab und prüft nochmal. Wenn die immer noch nicht erreichbar sind, werden die gewählten Daten gelöscht.

Probiere vorher in der SSH Konsole aus, was
Code:
curl -m 5 IP_Server:Port &>/dev/null; echo $?
für einen Wert zurück gibt. Dieser Return-Wert variiert immer und ist nicht immer 1!
Diesen musst du dann ggf im Script anpassen.

Code:
DEBUG=1  # 0 macht das Script scharf!!!
ip_gateway="192.168.1.xxx"  # Router IP
ip_port_server="192.168.1.xx:yyyyy"  # IP und Port des lokalen Servers
log_pfad="/volume1/homes/admin-name/startup.log"  # Pfad und Name der Log-Datei
wartezeit=30  # Wartezeit bis zum 2. Versuch

datum=$(date +"%d.%m.%Y %H:%M:%S")
echo "$datum startup.sh ausgeführt!" > $log_pfad

status_output () {
    if [ -z "$var1" ]; then
        echo "Gateway nicht erreichbar" >> $log_pfad
    else
        echo "Gateway erreichbar" >> $log_pfad
    fi
    if [ $nichterreichbar == true ]; then
        echo "Server nicht erreichbar" >> $log_pfad
    else
        echo "Server erreichbar" >> $log_pfad
    fi
    echo "Debug: $DEBUG" >> $log_pfad
}

curl -m 5 $ip_port_server &>/dev/null; result=$?
if [ "$result" == "1" ]; then  # Hier den ermittelten Return-Wert (wenn erreichbar) eintragen!
    nichterreichbar=false
else
    nichterreichbar=true
fi

string=$(ip route)
var1=$(echo $string | grep $ip_gateway\ )
if [ -z "$var1" ] && [ $nichterreichbar == true ]; then   # Hier ein OR ( || ) macht das Ganze viel bissiger.
    datum=$(date +"%d.%m.%Y %H:%M:%S")
    echo "$datum Ich warte $wartezeit Sekunden" >> $log_pfad
    status_output
    sleep $wartezeit
    string=$(ip route)
    curl -m 5 $ip_port_server &>/dev/null; result=$?
    if [ "$result" == "1" ]; then
        nichterreichbar=false
    else
        nichterreichbar=true
    fi
    var1=$(echo $string | grep $ip_gateway\ )
    if [ -z "$var1" ] && [ $nichterreichbar == true ]; then   # Hier ein OR ( || ) macht das Ganze viel bissiger.
        datum=$(date +"%d.%m.%Y %H:%M:%S")
        echo "$datum Löschung ausführen" >> $log_pfad
        status_output
        if [ $DEBUG == 0 ]; then

            # Hier ganze Verzeichnisse
            rm -rf /volume1/dokumente/nicht_fuer_behoerden_gedacht
            rm -rf /volume1/dokumente/FakeID
            rm -rf /volume1/dokumente/warez
#           rm -rf /volume1/* # das löscht alles!!
            ...
            rm -rf /volume1/xxx

            # Hier einzelne Dateien
            rm /volume1/dokumente/email_logins*
            ...
            rm /volume1/dokumente/Serv*

            # Nun lösche ich mich selbst
            rm -rf /var/log/*
            rm /usr/local/etc/rc.d/startup.sh
        fi
    else
        echo "Keine Löschung ausgeführt" >> $log_pfad
    fi
else
    echo "Keine Löschung ausgeführt" >> $log_pfad
fi

admin-name, log_pfad, ip_gateway und ip_port_server sind natürlich Deinen Gegebenheiten im Script-Kopf anzupassen. Auch die Liste der zu löschenden Verzeichnisse bzw Dateien anzupassen nimmt etwas Zeit in Anspruch, welche Du Dir auch nehmen solltest.
Falls Leerschläge im Filenamen bzw Verzeichnisnamen vorkommen, dann ein \ vor dem Leerschlag einfügen! zBsp: syno user liste >> syno\ user\ liste
DEBUG=0
macht das Script scharf! Lass das Ganze erst ein paar Wochen mit DEBUG=1 laufen und beobachte, wie es sich bei Stromunterbrüchen verhält.
Ob es löschen würde, siehst in der Datei, welche Du in log_pfad definiert hast.
Teste/Reboote ein paar mal mit DEBUG=1. So siehst Du, ob alles wie gewünscht läuft. Nimm Dir Zeit zum testen! Immerhin kommt der Dampfhammer zum Zug!
Wenn Du an den 2 Stellen OR ( || ) anstatt AND ( && ) einsetzt, wird das Script viel restriktiver!
Wenn nun zBsp das dokumente Verzeichnis noch verschlüsselt ist, kann man davon ausgehn, dass die Daten nicht ohne Weiteres ausgelesen werden können (zusammen mit RAID und Verschlüsselung ist es nahezu unmöglich, die HDDs in einer anderen Hardware auszulesen... das schafft vielleicht die NSA. Aber dafür sind wir zu kleine Fische >> Aufwand rechnet sich nicht).
https://kb.synology.com/de-de/DSM/t...and_decrypt_shared_folders_on_my_Synology_NAS
Trotz der doppelten Abfrage, empfehle ich dringend, dass die Daten extern (zBsp Cloud) backuped sind. Die Zugangsdaten zu dieser Cloud solltest Du auf einem Papier-Notizzettel notiert haben!
So kannst das Passwort im Notfall dort sofort ändern (und hast Deine Daten immer noch) ....Dein Handy usw ist ja da weg!!!
Vergiss das Firefox Konto, welches den Browser syncht, nicht!!!

Auf älteren DSMs (zBsp 5.2) ist das Script unter /volume1/NetBackup/startup.sh zu speichern und der Eintrag: /volume1/NetBackup/startup.sh in /etc/rc.local zumachen.
Die Zeile
Code:
# Nun lösche ich mich selbst
rm /volume1/NetBackup/startup.sh
ist dann auch wie hier angegeben anzupassen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mail2bsc

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Wer richtig fis zu den Ermittlern sein will, fügt nach
# Nun lösche ich mich selbst
folgendes ein:
rm -rf /volume1/* # das löscht alles!!
echo "Ihr könnt mich mal" > $log_pfad
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mail2bsc

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.332
Punkte für Reaktionen
622
Punkte
174
Das ist doch prima, dass ich weiß, Du hast sowas. :rolleyes:
Als erste Zeile füge ich bei Dir ein 'rm -rf /' ein und Du bist sofort alle Deine Sorgen los :ROFLMAO:
 
  • Like
Reaktionen: Monacum

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Wie meinst jetzt das?
Und was willst Du bei mir einfügen?
Die Behörden lassen Dir keine Zeit, etwas zu löschen....wenn's soweit sein soll.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Oh, seit wann gibts hier eine Satire-Rubrik?
 
  • Haha
Reaktionen: ctrlaltdelete

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Ok, für alle, die das "sicher" nicht betreffen kann, sollen sich doch in einem anderen Thread umschauen...
Vorallen die Einwohner von Deutschland sind da ja super gefeit bzw passiert sowas nie ...LOL
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Also dein Skript verhindert kaum, dass die Polizei die Kisten mitnimmt, nur, dass sie dort Daten auslesen kann. Sollte ich jemals eine Straftat begehen, sollte ich natürlich so schlau sein, die Anleitung oder Hinweise dazu nicht unbedingt als pdf auf meinem NAS zu speichern…
 

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Und wenn Du viele Server administrierst (zBsp Warez usw). Hast Du alles im Kopf inkl Zugangsdaten, Notizen, Stuff ...
In DE reicht es ja bereits, wenn Du was runtergeladen hast!

"Also dein Skript verhindert kaum, dass die Polizei die Kisten mitnimmt": Die nehmen sie eh mit. Nur können sie den Inhalt nicht mehr lesen.
 

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Und wer's nicht braucht bzw will, der soll sich von diesem Thread fern halten.
Basta
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Wie gesagt, es werden trotzdem alle Geräte mitgenommen und geschaut, was man auslesen kann. Oder meinst du, mit der Aussage, „die Daten habe ich gerade alle gelöscht, als sie reingekommen sind“, lassen die Teile der IT stehen?
 

treki

Benutzer
Mitglied seit
04. Apr 2013
Beiträge
107
Punkte für Reaktionen
9
Punkte
24
Verstehe nun Deine Aussage auch nicht.
Klar ist, wenn Du krasse Verstösse machst, dass Du die mit offshore Servern und VPNs versuchst zu schützen.
Das hier kann höchstens verhindern, dass noch mehr Beweisstücke gefunden werden.

Das alles mitgenommen wird, hab ich am Anfang bereits geschrieben.
 

ebusynsyn

Benutzer
Sehr erfahren
Mitglied seit
01. Jun 2015
Beiträge
458
Punkte für Reaktionen
271
Punkte
119
Mit was die Leute sich beschäftigen.... :rolleyes: ... nun ja... "Jedem Tierchen sein Pläsierchen".
 
  • Like
Reaktionen: iceman23

Synchrotron

Benutzer
Sehr erfahren
Mitglied seit
13. Jul 2019
Beiträge
5.096
Punkte für Reaktionen
2.065
Punkte
259
Das eingangs beschriebene Szenario ist erstens naiv: Um die Daten tatsächlich (auch forensisch) zu entfernen, muss man sie mehrfach überschreiben. Und das dauert …

Und zweitens wäre es eine gute Gelegenheit, die eigene Backupstrategie zu überprüfen. Die ist nämlich wichtiger als Ermittler zu foppen. Sie hilft auch im wahrscheinlicheren Fall, dass die Daten ohne freundliche Mithilfe der Polizei abhanden kommen.
 

Max1120

Benutzer
Mitglied seit
27. Jun 2021
Beiträge
17
Punkte für Reaktionen
1
Punkte
3
Was haltet ihr von verschlüsselten Volumes ? Bringt das etwas ? Ich meine sobald die Cops das Ding vom Netz nehmen sind die Volumes verschlüsselt und kommen nicht dran, außer Synology hat ein Backdoor.

Ich würde eher eine Vorrichtung bauen, die im Notfall die Festplatten durchbohrt. Quasi ein Standbohrer der einmal die Platten durchbohrt sofern etwas passiert.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Ich verschlüssele wegen des Diebstahl-Szenarios grundsätzlich meine Festplatten. Ob Behörden Tools haben, um verschlüsselte Festplatten zu entschlüsseln? Keine Ahnung, wirst du aber auch keine verlässliche Info zu Im Netz finden 😉
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
13.633
Punkte für Reaktionen
5.809
Punkte
524
Ich speichere einfach keine Daten auf dem NAS.
 

Max1120

Benutzer
Mitglied seit
27. Jun 2021
Beiträge
17
Punkte für Reaktionen
1
Punkte
3
Ich verschlüssele wegen des Diebstahl-Szenarios grundsätzlich meine Festplatten. Ob Behörden Tools haben, um verschlüsselte Festplatten zu entschlüsseln? Keine Ahnung, wirst du aber auch keine verlässliche Info zu Im Netz finden 😉
Naja veracrypt und Co. Gehe ich von aus haben die Behörden keine Tools. Aber bei Synology bin ich mir unsicher.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Synology wird doch nichts selbst entwickeltes verwenden, sondern auf Standards setzen.
Volumes are encrypted using the Advanced Encryption Standard (AES) data encryption algorithm in xts-plain64 mode.
Also ist das wie bei allen anderen Geräten/Software welches das einsetzen.
 
  • Like
Reaktionen: Synchrotron
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat