Clusterssh

Viele Admins stehen häufig vor der Aufgabe einen Befehl auf vielen Maschinen gleichzeitig auszuführen. Eine Möglichkeit das zu tun ist mit dem Tool clusterssh. Es lässt sich meist direkt aus den Paketquellen installieren:

sudo apt-get install clusterssh

Anschließend kann man sich mit dem folgenden Befehl auf mehreren Servern verbinden und dort gleichzeitig Befehle ausführen:

cssh server1 user@server2 server3

In der Datei ~/.clusterssh/config kann man sich verschiedene Cluster definieren. Dafür wird eine Zeile benötigt die sagt was Cluster sind, und dann jeweils eine weitere Zeile die die Cluster definiert. Beispiel:

clusters = physical webserver
physical = phys1 phys2 user@phys3
webserver = user1@web01 user2@web02 user3@web03, user1@web04 web05

Anschließend kann man sich einfach mit dem folgenden Befehl mit allen Webservern verbinden:

cssh webserver

Häufig auszuführende Kommandos kann man sich auch im Menü hinterlegen. Dafür zuständig ist die Datei ~/.csshrc_send_menu. Sie ist im XML-Format aufgebaut und kann zum Beispiel so aussehen:

<?xml version="1.0"?>
<send_menu>
  <menu title="htop">
    <command>htop%n</command>
  </menu>
  <menu title="autoremove">
    <command>sudo apt-get -y autoremove%n</command>
  </menu>
  <menu title="updates">
          <command>apt-get update &amp;&amp; apt-get dist-upgrade &amp;&amp; exit%n</command>
  </menu>
  <menu title="firewall restart">
          <command>sudo /root/skripte/firewall.sh%n</command>
  </menu>
</send_menu>

Damit das ganze funktioniert wird XML::Simple benötigt:

sudo apt-get install libxml-simple-perl

Oft benutze ich persönlich auf den Shortcut Alt+r zum Fenster neu anordnen. Ruft man auf allen Servern einen Befehl auf und schließt die Fenster auf denen der Befehl erfolgreich bearbeitet wurde, dann hat man irgendwann einen Fleckenteppich auf dem Bildschirm. Mit Alt+r wird der wieder neu angeordnet.

Update 01.02.2016: Danke @Aiko für den Kommentar, ich habe das oben in das Beispiel mit eingepflegt.

Aus dem Leben gegriffen: SSH Server absichern

Wenn es um das absichern von Systemen geht gibt es unterschiedliche Philosophien und Wege. Dazu kommen Aussagen oder Erlebnisse die im Laufe der Jahre zusammengekommen sind. Hier mal ein paar davon notiert:

  1. Ich persönlich bevorzuge eine Kombination aus AllowGroups oder AllowUsers in der sshd_config zusammen mit PermitRootLogin no und wenn möglich einem PasswordAuthentication no.
  2. Wenn man auf SSH und direkten Rootzugriff nicht verzichten möchte kann man den Nutzer mit der uid=0 einfach umbenennen zum Beispiel in von root in yolo1234. Habe ich bereits in der Wildnis gesehen.
  3. Eine ganz eigene Art- und Weise den SSH Zugriff eine Weile abzusichern hat mir ein Kollege erzählt. Einfach kein Passwort für den Root-Nutzer setzen. Das hätte ganze 9 Monate gedauert bis der erste Einbruch da war…
  4. Leaving a system so unpatched that most attackers assume it’s a honeypot and move on (via)

Ungewollten Shutdown oder Neustart eines Linuxsystems verhindern

Heute war es nun endlich soweit. In meiner nicht mehr ganz so kurzen Laufbahn als #Sysadmin habe ich es geschafft ein (Kunden)System aus versehen herunterzufahren. Angemeldet, root geworden, halt eingegeben, Schrecksekunde, shutdown -c eingegeben, Connection lost…

Per Twitter wurde ich dann auf das Paket „molly-guard“ aufmerksam gemacht.

https://twitter.com/derjoern/statuses/626343427941236736

Die Beschreibung des Debian-Paketes sagt dazu:

Schützt Rechner vor unbeabsichtigtem Herunterfahren/Neustart
 
Dieses Paket installiert ein Shell-Skript, welches die Befehle 
shutdown/reboot/halt/poweroff überlagert. Das Skript ruft zunächst 
eine Reihe weiterer Skripte auf, die alle erfolgreich durchlaufen 
müssen, bevor molly-guard den realen Befehl aufruft.
 
Eines der Skripte sucht nach bestehenden SSH-Sitzungen. Wenn einer 
der vier Befehle interaktiv innerhalb einer SSH-Sitzung aufgerufen 
wird, fragt Sie das Shell-Skript nach dem Namen des Rechners, der 
heruntergefahren werden soll. Das sollte Sie angemessen vor 
unbeabsichtigtem Herunterfahren und neuem Starten schützen.
 
molly-guard lenkt die ursprünglichen Binärprogramme nach 
/lib/molly-guard/ um. Sie können molly-guard umgehen, indem Sie die 
Binärprogramme direkt aufrufen.

Für die Zukunft habe ich mir gemerkt: apt-get install molly-guard

Firefox OS – Eine Betrachtung (06/2015)

ffoslock
Ich habe vor ein paar Wochen mir in einer Geburtstagsaktion von Comebuy das ZTE Open C für 29,90€ geholt. Zwei Dinge waren für mich ausschlaggebend:

  1. Der günstige Preis
  2. Firefox OS als Betriebssystem

Ich wollte schon immer einmal Firefox OS auf einem echten Gerät und nicht nur im Emulator ausprobieren.

Vorinstalliert war die Version 1.3. Es gab auch gleich ein paar Updates, danach war Schluss. Da es sich explizit um ein Spielgerät handelt habe ich auch gleich verschiedene Dinge ausprobiert. Erste Anlaufstelle war die Community Build Seite von Mozilla für das Gerät:

Das rooten ging nur unter Windows. Die Anleitung es auch unter VirtualBox zu machen hat bei mir nicht funktioniert.
ffosstart

Ich habe ca. zwei Wochen mit den Nightlies von 3.0 gespielt. Die funktionierten aber irgendwann nicht mehr, die SIM Karte wurde nicht mehr erkannt und auch Updates ließen sich nicht mehr einspielen. Ich bin dann auf die Aurora Builds gewechselt die vollkommen stabil laufen.

Grundsätzlich ist mein Fazit positiv. Im Prinzip kann das Gerät alles das was ich brauche: Telefonieren, SMS-Schreiben und das ein- oder andere im Netz nachschauen. Damit das ganze komfortabler wird habe ich folgende Apps aus dem Marketplace installiert:

  • CardDAVSync – Um meine Adressbücher einfach zu synchronisieren. CalDAV ist ins Betriebssystem integriert, CardDAV nicht.

  • Dateimananger – Macht genau das was der Name suggeriert.

  • Macaw – Twitter Client. Nostalgie aus den guten alten WebOS Zeiten… *schnief*

  • Tfe RSS – RSS Feedreader Client für Tiny Tiny RSS

 

Außerdem gefallen mir noch

 

Es gibt aber auch Apps die mir fehlen…

  • SSH. Es gibt zwar ein Projekt auf Github (fxos-firemote), das scheint aber nicht wirklich aktiv zu sein.
  • DLNA. Im Kontext von Stingray, dem Projekt um Firefox OS auf den Fernseher zu bringen, wird da zwar dran gearbeitet, etwas fertiges gibt es aber noch nicht.
  • Monitoring. Irgendetwas um Nagios / Icinga vernünftig im Blick zu behalten. Nix gefunden.

 

Ansonsten ist noch festzuhalten, dass mir die folgenden Befehle oft geholfen haben:

adb reboot recovery
adb reboot bootloader
fastboot flash recovery recovery.img
adb sideload blafasel.zip

Bei dem recovery.img geht für FirefoxOS Updates übrigens nur das, welches in dem bei ZTE zum Download angebotenen Paket existiert.

Update 2015-06-27: Nicht ausprobiert aber zum festhalten: Adblock…
Update 2015-09-05: Link zu Tfe RSS korrigiert