{"id":173,"date":"2009-02-15T22:04:56","date_gmt":"2009-02-15T21:04:56","guid":{"rendered":"http:\/\/www.steve-meier.de\/?p=173"},"modified":"2009-02-15T22:04:56","modified_gmt":"2009-02-15T21:04:56","slug":"ein-bisschen-mehr-sicherheit","status":"publish","type":"post","link":"https:\/\/www.steve-meier.de\/?p=173","title":{"rendered":"Ein bisschen mehr Sicherheit"},"content":{"rendered":"<p>Das aktuelle Linux-Magazin hat einen ganz lustigen Artikel \u00fcber einen &#8220;Hacker&#8221;, der nun Strafverfolger schult. Da er im Rahmen eines Interviews zwei Tipps gibt, wie der 0815-Systemadministrator sein Linux-System etwas sicherer macht, der Autor des Artikels diese aber leider nicht aufgreift \u00fcbernehme ich das mal.<\/p>\n<p><strong>Erster Tipp: Die .bash_history auf &#8220;append-only&#8221; setzen.<\/strong><\/p>\n<p>Standardm\u00e4\u00dfig notiert die Bash alle abgesetzt Kommandos in der Datei .bash_history im Home-Verzeichnis des jeweiligen Benutzers. Ein Hacker hat nun zwei ganz einfache M\u00f6glichkeiten, dieses Protokoll zu umgehen:<\/p>\n<p><code>unset HISTFILE<\/code><\/p>\n<p>Dies l\u00f6scht die Umgebungsvariable $HISTFILE und damit &#8220;vergisst&#8221; die Bash, das sie Protokoll f\u00fchren sollte, oder<\/p>\n<p><code>cp \/dev\/null $HISTFILE<\/code><\/p>\n<p>Damit wird das Protokoll mit einer leeren Datei \u00fcberschrieben. Man k\u00f6nnte es vermutlich umst\u00e4ndlich zur\u00fcckholen, aber das tut wohl kaum jemand.<\/p>\n<p>Nun, wie sorgt man also daf\u00fcr, das die Bash immer ein vollst\u00e4ndiges, nicht l\u00f6schbares Log f\u00fchrt ?<\/p>\n<p><code>chattr +a .bash_history<\/code><\/p>\n<p>sorgt daf\u00fcr, das nur noch Daten an die Protokoll-Datei angeh\u00e4ngt werden k\u00f6nnen. Sie kann nicht mehr \u00fcberschrieben werden.<\/p>\n<p><code>readonly HISTFILE<br \/>\nreadonly HISTSIZE<br \/>\nreadonly HISTFILESIZE<br \/>\n<\/code><br \/>\nsorgen anschlie\u00dfend daf\u00fcr, das alle mit der Protokoll-Datei zusammenh\u00e4ngenden Umgebungsvariablen nicht ver\u00e4ndert werden k\u00f6nnen. Diese Einstellung sollte man (je nach Distribution) in \/etc\/profile oder \/etc\/profile.local hinterlegen.<\/p>\n<p><strong>Zweiter Tipp: Die \/home-Partition &#8220;noexec&#8221; mounten.<\/strong><\/p>\n<p>Diese Einstellung sorgt daf\u00fcr, das ein Angreifer, der Zugang zu einem Benutzeraccount erlang hat, nicht einfach irgendwelche Programme hochladen und ausf\u00fchren kann. Selbstverst\u00e4ndlich mu\u00df man dieses Flag auch f\u00fcr das \/tmp-Dateisystem setzen, da es sonst relativ sinnlos ist. Ich pers\u00f6nlich gehe sogar noch einen Schritt weiter und setze folgende Optionen f\u00fcr die \/home-Partition:<\/p>\n<p><code>noexec, nosuid, nodev<\/code><\/p>\n<p><em>noexec<\/em>: Binaries\/Scripte d\u00fcrfen nicht ausgef\u00fchrt werden<br \/>\n<em>nosuid<\/em>: Evtl. gesetzt SetUID-Bits werden ignoriert<br \/>\n<em>nodev<\/em>: Ger\u00e4tedateien k\u00f6nnen nicht angelegt\/verwendet werden.<\/p>\n<p>Um diese Optionen einsetzen zu k\u00f6nnen, mu\u00df man die Home-Verzeichnisse der Benutzer nat\u00fcrlich auf eine eigene Partition legen, das m\u00f6chte ich aber sowieso jedem Admin ans Herz legen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das aktuelle Linux-Magazin hat einen ganz lustigen Artikel \u00fcber einen &#8220;Hacker&#8221;, der nun Strafverfolger schult. Da er im Rahmen eines Interviews zwei Tipps gibt, wie der 0815-Systemadministrator sein Linux-System etwas sicherer macht, der&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/posts\/173"}],"collection":[{"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=173"}],"version-history":[{"count":10,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions"}],"predecessor-version":[{"id":183,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions\/183"}],"wp:attachment":[{"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.steve-meier.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}