F
feiz
Eroberer
Hi.
Ich versuche grade meinen router/homeserver etwas sicherer zu machen.
Ich möchte das Linux Kernsystem absichern.
Z.B. durch eine gute Rechteverteilung, chroots usw.
OS: Debian Linux.
Leider klappt nicht alles so wie ich es mir vorstelle. Ich hätte ja gerne gehabt, wenn man als Admin mit dem Useraccount per SSH eingelogt hat, erst mal in einem chroot ist.
Dadurch wollte ich verhindern, dass ein geknacker User Account Verzeichnisse wie z.B. /etc auslesen kann und der Hacker die Systemkonfiguration sehen kann / auf Schwachstellen untersuchen kann.
Direkt per ssh als Admin oder Root einloggen ist natürlich auch gesperrt
Hab nur ein paar Grundlegende Befehle in den chroot rein getan.
Außerdem habe ich SU für den chroot neu kompiliert.
Der Plan war, dass der Admin mit dem Useraccount im chroot dann su anwendet und so aus dem Gefängnis rauskommt auf den eigentlichen Adminaccount.
Also quasi doppelt einloggen: Von aussen mit dem Admin-Useraccount erst mal in das chroot. Und von da dann per SU auf den Admin Account. Ein HAcker müsste also schon 2 Hürden überwinden, wenn er per SSH Login eindringen will.
Leider klappt das nicht. wenn ich mit dem useraccount mit SSH einlogge bin ich wie gewünscht im chroot. Nur sobald ich su benutze schließt sich sofort die SSH Session und ich bin vom Server weg.
Also musste ich den admin ssh login doch wieder freischalten, was ja nicht Sinn der Sache ist.
Kann mir da jemand helfen?
2. Ich will ne Gruppe anlegen namens sys oder so.
Alle Linux Konten die für das System gebraucht werden, dann in diese Gruppe packen. als sekundäre Gruppe.
Die eigentlichen Benutzeraccounts nicht.
und dann chmod o-rwx /etc , Das selbe mit /bin und /usr.
Somit wollte ich den normalen Useraccounts den Zugang zu /etc und co verwehren.
Die CGI Scripte lasse ich zur sicherheit unter einem normalen Benutzeraccount laufen der nicht in die SYS Gruppe rein soll. Es könnte ja z.B. mal einen Angriff über meine Perl CGI Scripte geben.
und der Angreifer könnte dann eventuell /etc auslesen und Schwachstellen in der Konfiguration suchen. Das soll halt nicht mehr so leicht möglich sein.
Wenn ich dann ein Programm installiere, über apt-get oder so, und das einen User anlegt, muss ich den natürlich auch in die Gruppe sys packen.
Ist sowas sinnvoll oder nutzlos? Oder führt es sogar zu Problemen?
Ich versuche grade meinen router/homeserver etwas sicherer zu machen.
Ich möchte das Linux Kernsystem absichern.
Z.B. durch eine gute Rechteverteilung, chroots usw.
OS: Debian Linux.
Leider klappt nicht alles so wie ich es mir vorstelle. Ich hätte ja gerne gehabt, wenn man als Admin mit dem Useraccount per SSH eingelogt hat, erst mal in einem chroot ist.
Dadurch wollte ich verhindern, dass ein geknacker User Account Verzeichnisse wie z.B. /etc auslesen kann und der Hacker die Systemkonfiguration sehen kann / auf Schwachstellen untersuchen kann.
Direkt per ssh als Admin oder Root einloggen ist natürlich auch gesperrt
Hab nur ein paar Grundlegende Befehle in den chroot rein getan.
Außerdem habe ich SU für den chroot neu kompiliert.
Der Plan war, dass der Admin mit dem Useraccount im chroot dann su anwendet und so aus dem Gefängnis rauskommt auf den eigentlichen Adminaccount.
Also quasi doppelt einloggen: Von aussen mit dem Admin-Useraccount erst mal in das chroot. Und von da dann per SU auf den Admin Account. Ein HAcker müsste also schon 2 Hürden überwinden, wenn er per SSH Login eindringen will.
Leider klappt das nicht. wenn ich mit dem useraccount mit SSH einlogge bin ich wie gewünscht im chroot. Nur sobald ich su benutze schließt sich sofort die SSH Session und ich bin vom Server weg.
Also musste ich den admin ssh login doch wieder freischalten, was ja nicht Sinn der Sache ist.
Kann mir da jemand helfen?
2. Ich will ne Gruppe anlegen namens sys oder so.
Alle Linux Konten die für das System gebraucht werden, dann in diese Gruppe packen. als sekundäre Gruppe.
Die eigentlichen Benutzeraccounts nicht.
und dann chmod o-rwx /etc , Das selbe mit /bin und /usr.
Somit wollte ich den normalen Useraccounts den Zugang zu /etc und co verwehren.
Die CGI Scripte lasse ich zur sicherheit unter einem normalen Benutzeraccount laufen der nicht in die SYS Gruppe rein soll. Es könnte ja z.B. mal einen Angriff über meine Perl CGI Scripte geben.
und der Angreifer könnte dann eventuell /etc auslesen und Schwachstellen in der Konfiguration suchen. Das soll halt nicht mehr so leicht möglich sein.
Wenn ich dann ein Programm installiere, über apt-get oder so, und das einen User anlegt, muss ich den natürlich auch in die Gruppe sys packen.
Ist sowas sinnvoll oder nutzlos? Oder führt es sogar zu Problemen?