[gelöst] NoExec in Homedirs
Verfasst: 07.02.2018 11:31:39
Moin @ all
Gestern abend habe ich auf einem anderen Kanal, quasi hinter den Kulissen, eine Idee bekommen oder wurde dazu inspiriert (was auch immer), auf die ich von alleine wohl nicht gekommen wäre.... die mir aber durchaus sinnvoll erscheint. Dabei gehts um das Thema der unbemerkten Infiltration des eigenen Rechners durch andere/fremde. Tatsache ist wohl, dass bei einer Online-Infiltration das Homedir eines Users ein primärer Weg ins System ist, in dem dort ein Schad-Code ausgeführt wird. Oder ums anders auszudrücken, das Problem ist der berechtigte User, der Schad-Code ausführen darf und das vielleicht unbemerkt durch einen falschen Click auch tut. Ich erinnere mich dabei an mein Beispiel, in dem mit einer einzigen Bashzeile und der Verwendung des 15-Min-Pwd-Keep ein Schad-Code sich vollständige root-Rechte verschaffen kann.
Jetzt habe ich mal ein wenig rumgebastelt und würde meine Lösung gerne mal zum Draufhauen anbieten.... ... ich habe jetzt allen Homedirs mit einer Service-Unit das Recht auf "execute" entzogen. Selbst root kann in den User-Homedirs jetzt keine Anwendung mehr starten. Der Starts meines Netzwerk-Tools als root sagt z.B.:
Nach einigen Tests war mein erster Eindruck "Geil... das ist ja klasse". Bislang konnte ich keine negativen Aspekte feststellen, alles was funktionionen soll, tuts auch, nur eben in den Homedirs kann nichts mehr ausgeführt/gestartet werden.
Das ist meine Unit, also die erste laufende Version:
Ich würde mich sehr über den einen oder anderen konstruktiven Kommentar oder Kritik oder Meinung freuen.
Gestern abend habe ich auf einem anderen Kanal, quasi hinter den Kulissen, eine Idee bekommen oder wurde dazu inspiriert (was auch immer), auf die ich von alleine wohl nicht gekommen wäre.... die mir aber durchaus sinnvoll erscheint. Dabei gehts um das Thema der unbemerkten Infiltration des eigenen Rechners durch andere/fremde. Tatsache ist wohl, dass bei einer Online-Infiltration das Homedir eines Users ein primärer Weg ins System ist, in dem dort ein Schad-Code ausgeführt wird. Oder ums anders auszudrücken, das Problem ist der berechtigte User, der Schad-Code ausführen darf und das vielleicht unbemerkt durch einen falschen Click auch tut. Ich erinnere mich dabei an mein Beispiel, in dem mit einer einzigen Bashzeile und der Verwendung des 15-Min-Pwd-Keep ein Schad-Code sich vollständige root-Rechte verschaffen kann.
Jetzt habe ich mal ein wenig rumgebastelt und würde meine Lösung gerne mal zum Draufhauen anbieten.... ... ich habe jetzt allen Homedirs mit einer Service-Unit das Recht auf "execute" entzogen. Selbst root kann in den User-Homedirs jetzt keine Anwendung mehr starten. Der Starts meines Netzwerk-Tools als root sagt z.B.:
Code: Alles auswählen
root@thomaspc:/home/thomas/Downloads
# ./selnic
bash: ./selnic: Keine Berechtigung
Das ist meine Unit, also die erste laufende Version:
Code: Alles auswählen
/etc/systemd/system/noexec-home.service
Code: Alles auswählen
[Unit]
Description=thlu:noexec-home.service: Disable execute-permissions
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/bin/mount --bind /home /home
ExecStart=/bin/mount -o remount,noexec /home
[Install]
WantedBy=basic.target