Server mit iLO neu starten

Möchte man einen Server im iLO neu starten, hat man die vier Auswahlmöglichkeiten Momentary Press, Press and Hold, Cold Boot und Reset System, aber was genau bewirken diese eigentlich?

Momentary Press
Ist das Gleiche, wie wenn man den Power Button am Server drückt.

Press and Hold
Ist das Gleiche, wie wenn man den Power Button 5s lang am Server drückt.

Cold Boot
Ist das Gleiche, wie wenn man das Stromkabel am Server auszieht.

Reset System
Ist das Gleiche, wie wenn man am Server den Reset Button drückt.

Auszug aus dem iLO Guid

Momentary Press button provides behavior identical to pressing the physical power button.

Press and Hold is identical to pressing the physical power button for five seconds and then releasing it. This option provides the ACPI-compatible functionality that is implemented by some operating systems. These operating systems behave differently depending upon a short press or long press. The behavior of this option might circumvent any graceful shutdown features of the operating system.

Cold Boot of the system immediately removes power from the system. The system will restart after approximately six seconds. This option is not available when the server is powered down. This option circumvents graceful operating system shutdown features.

Reset System initiates a system reset. This option is not available when the server is powered down. The behavior of this option might circumvent any graceful shutdown features of the operating system.

Am Besten ist natürlich, den Server sauber herunterzufahren. Gelingt dies nicht, muss eine der vier Varianten angewendet werden, wobei Momentary Press die schwächste und Reset System die härteste Methode ist.

Ruhezustand deaktivieren in Windows Server 2008

Auf einem Windows Server 2008 befand sich die Datei hiberfil.sys. Diese Datei entstand durch einen Ruhezustand des Servers. Meiner Meinung nach ist der Ruhezustand bei einem Server überflüssig. Mit

powercfg hibernate off

wird der Ruhezustand deaktiviert und die Datei hiberfil.sys gelöscht.

Möchte man den Ruhezustand nicht deaktivieren, die Datei hiberfil.sys aber doch löschen, kann man die Datenträgerbereinigung verwenden.

Der Button „Bereinigen“ in den Eigenschaften des Laufwerks ist standardmässige aber nicht vorhanden. Hier habe ich einen Beitrag gefunden, wie man den Button „Bereinigen“ wieder aktvieren kann: SBS 2008 Server – Verwaltung für Datenbereinigung fehlt

SSH mit fail2ban absichern

In diesem Tutorial schreibe ich darüber wie eine IP nach einer bestimmten Anzahl fehlerhaften Logins über SSH für eine bestimmte Zeit gebannt werden kann. Das Ganze ist sehr einfach.

fail2ban installieren


aptitude install fail2ban

Unter anderem sollte es in der Datei /etc/fail2ban/jail.conf folgendes geben

[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

Diese Werte müssen nur noch angepasst werden

[ssh]

enabled = true
port    = 2000
filter  = sshd
# Log aus welchem fail2ban die Loginversuche erkennen soll
logpath  = /var/log/auth.log
# Gesperrt nach x Loginversuchen
maxretry = 3
# Gesperrt für x Sekunden
bantime = 3600

Jezt sollte das Ganze schon funktionieren. Noch ein paar Kommandos zum Thema

fail2ban steuern

/etc/init.d/fail2ban {start|force-start|stop|restart|force-reload|status}

Aktueller Status von fail2ban


fail2ban-client status ssh
Status for the jail: ssh
|- filter
|  |- File list:        /var/log/auth.log
|  |- Currently failed: 1
|  `- Total failed:     1
`- action
   |- Currently banned: 1
   |  `- IP list:       192.168.20.2
   `- Total banned:     1

Aktuelle Iptable anzeigen

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports 22           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP       all  --  192.168.20.2  anywhere
RETURN     all  --  anywhere             anywher

IP wieder zulassen (unban)

iptables -D fail2ban-ssh -s 192.168.20.2 -j DROP

Vorsicht! fail2ban ist es egal, dass ich diese IP vorher aus der Iptable gelöscht habe. Nach einem Neustart von fail2ban fügt fail2ban für die IP wieder eine Blockregel in die Iptable ein. Für dieses Problem habe ich noch keine Lösung gefunden. Wenn die IP zwingend nicht geblockt werden soll, kann sie in die Ignoreliste in /etc/fail2ban/jail.conf aufgenommen werden.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 192.168.20.2
bantime  = 600
maxretry = 3

Schlussbemerkung

Auch fail2ban wird nicht zu 100% fehlerfrei sein. Nicht selten passiert es, dass eine Firewall, welche eigentlich etwas schützen sollte zum Angriff missbraucht werden kann, wenn sie schlecht konfiguriert ist.

Hier bin ich noch auf eine interessante Methode gestossen, wie man sich von einer unsicheren Umgebung auf den Server mittels OTP (one time password) per SSH einloggen kann: http://www.heise.de/security/artikel/Einmalpasswoerter-fuer-den-Heimgebrauch-270884.html

Dem Citrix XenServer eine lokale Festplatte als lokalen Storage hinzufügen

Heute habe ich zwei 1TB Festplatten in meinen Citrix XenServer eingebaut. Die Festplatten wurden im BIOS erkannt, nun musste ich diese dem Citrix XenServer 5.6 noch als lokalen Storage hinzufügen.

Bevor mit dem Tutorial begonnen wird muss ein Backup der VMs erstellt werden falls etwas schief geht!

Die Festplatten sind grundsätzlich vorhanden

fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         499     4008186   83  Linux
/dev/sda2             500         998     4008217+  83  Linux
/dev/sda3             999      121601   968743597+  83  Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

So werden die verfügbaren Festplatten angezeigt

ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Jul 23 13:07 scsi-SATA_SAMSUNG_HD103SJS246J90Z453865 -> ../../sdd
lrwxrwxrwx 1 root root  9 Jul 23 13:07 scsi-SATA_SAMSUNG_HD103SJS246J90Z453867 -> ../../sdb
lrwxrwxrwx 1 root root  9 Jul 23 13:07 scsi-SATA_WDC_WD1001FALS-_WD-WMATV2870992 -> ../../sdc
lrwxrwxrwx 1 root root  9 Jul 23 13:07 scsi-SATA_WDC_WD1001FALS-_WD-WMATV2871282 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 23 13:07 scsi-SATA_WDC_WD1001FALS-_WD-WMATV2871282-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jul 23 13:07 scsi-SATA_WDC_WD1001FALS-_WD-WMATV2871282-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jul 23 13:07 scsi-SATA_WDC_WD1001FALS-_WD-WMATV2871282-part3 -> ../../sda3

Die zwei Samsung Festplatten sdd und sdb sollen dem Citrix XenServer als lokalen Storage hinzugefügt werden.

Jetzt wird je Festplatte ein Physical Volume erstellt

pvcreate /dev/sdb
pvcreate /dev/sdd

Die zwei neuen Physical Volume sind vorhanden

pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               VG_XenStorage-d6fb2d7d-8c33-eda5-5645-a0116400251d
  PV Size               931.51 GB / not usable 6.41 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              238464
  Free PE               238463
  Allocated PE          1
  PV UUID               6N5Bfx-UiQ0-KRrJ-jkLD-hVzB-8mZ9-JXKsTW

  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               VG_XenStorage-38b07d5b-ecf5-0520-57e8-fa24bfe4e1cf
  PV Size               931.51 GB / not usable 6.41 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              238464
  Free PE               238463
  Allocated PE          1
  PV UUID               QNeO2f-81Dc-aq1b-i1Fs-hxiO-f6I1-WUdTg9

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               VG_XenStorage-cece6857-dbf2-ebc7-0a87-049bda6709d0
  PV Size               923.87 GB / not usable 9.46 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              236507
  Free PE               173295
  Allocated PE          63212
  PV UUID               7AfPF2-O6V7-wRAp-FtHT-GUN0-avM8-AvuIxv

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               VG_XenStorage-cece6857-dbf2-ebc7-0a87-049bda6709d0
  PV Size               931.51 GB / not usable 6.41 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              238464
  Free PE               0
  Allocated PE          238464
  PV UUID               uIO134-y120-iy13-VDBf-JLEX-vQin-b3B3L3

Der lokale Storage wird erstellt mit

xe sr-create type="lvm" content-type="user" device-config:device="/dev/disk/by-id/scsi-SATA_SAMSUNG_HD103SJS246J90Z453867" name-label="Local Storage 1"
xe sr-create type="lvm" content-type="user" device-config:device="/dev/disk/by-id/scsi-SATA_SAMSUNG_HD103SJS246J90Z453865" name-lable="Local Storage 2"

und die verschiedenen lokal Storage werden angezeigt mit


xe sr-list type=lvm
uuid ( RO)                : d6fb2d7d-8c33-eda5-5645-a0116400251d
          name-label ( RW): Local Storage 2
    name-description ( RW):
                host ( RO): citrixxenserver
                type ( RO): lvm
        content-type ( RO): user

uuid ( RO)                : 38b07d5b-ecf5-0520-57e8-fa24bfe4e1cf
          name-label ( RW): Local Storage 1
    name-description ( RW):
                host ( RO): citrixxenserver
                type ( RO): lvm
        content-type ( RO): user

uuid ( RO)                : cece6857-dbf2-ebc7-0a87-049bda6709d0
          name-label ( RW): Local storage
    name-description ( RW):
                host ( RO): citrixxenserver
                type ( RO): lvm
        content-type ( RO): user

Die neuen Festplatten sind jetzt hinzugefügt und werden im XenCenter angezeigt.

Update:

Wenn auf dem Citrix Xenserver eine neue VM erstellt wird, kann man auswählen, auf welchem Storage die virtuelle Festplatte der VM liegen soll. Das Bild verdeutlicht das Beispiel.

Storage

Auf Local Storage 2 und 1 könnte die virtuelle Festplatte natürlich auch abgelegt werden, wenn diese Storages nicht schon voll wären.

Ich denke, dass so zum Beispiel auch eine externe Festplatte als lokalen Storage dem Citrix XenServer hinzugefügt werden könnte. Getestet habe ich es allerdings nicht.

Eigenen Webserver für WordPress installieren

Für ein Projekt, welches ich später in meinem Heimnetzwerk umsetzen möchte, benötige ich ein installiertes WordPress auf einem lokalen Webserver im Heimnetzwerk. Ich habe jedoch keinen Webserver gehabt und habe mich deshalb ans Einrichten des Webservers für WordPress gemacht.

Packete installieren

WordPress benötigt Apache, PHP und MySQL.

aptitude install apache2 mysql-server php5

Damit Apache mit PHP und MySQL zusammenarbeiten kann, musste ich noch zwei weitere Packete installieren.

aptitude install libapache2-mod-auth-mysql php5-mysql

Die Grundlagen sind jetzt vorhanden. Weiterlesen

SSH Keyfiles einrichten

Im Moment übe ich mich im härten vonSSH. Alle Tipps und Tricks wird man wohl kaum von heute auf morgen lernen. Ein System zu härten und sicher zu machen ist ein langwieriger Prozess. Man wird immer wieder Neues entdecken und umsetzen. Dies ist ein Minihowto wie man SSH mit Keyfiles einrichten kann.

Schlüssel erzeugen

puttygen.exe von http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunterladen.

Ist das Programm gestartet klickt man auf „Generate“ und bewegt ordentlich den Mauszeiger im grauen Feld.

Danach gibt man  bei „Key passphrase“ und „Confirm passphrase“ ein langes Kennwort ein. Wird kein Passwort eingegeben kann sich jeder mit dem Privatekey ohne irgend ein Passwort mit dem Server verbinden.

Dann klickt man auf „Save private key“ und speichert den PrivateKey. Dieses File muss gut vor unbefugten Leuten geschützt werden, besonders wenn kein Kennwort verwendet wird!

Schlüssel platzieren

Auf dem Server gibt man folgende Befehle ein:

mkdir ~/.ssh
touch ~/.ssh/authorized_keys
chmod -R 700 ~/.ssh

Nun fügt man den Public Key in die Datei ~/.ssh/authorized_keys ein.

Nun sieht die Datei etwa so aus:

Silvan@sshserver:~$ cat .ssh/authorized_keys
ssh-rsa eRIN9F41TEvd [...] 5e9ydiPlpCjiK7y3==

Das ssh-rsa ist wichtig, weil der Server sonst bei einem Anmeldeversuch

Server refused our key

zurückgibt.

Authentifizierung konfigurieren

Damit die Authentifizierung mit Keyilfes funktioniert und mit Passwort nicht mehr funktioniert muss die Datei /etc/ssh/sshd_config angepasst werden

PubkeyAuthentication yes
PasswordAuthentication no

Jetzt funktioniert das Anmelden am Server mit dem Privatekey.

Weitere HowTos

Das Ganze unter Linux: http://wiki.ubuntuusers.de/SSH#Authentifizierung-ueber-Public-Keys

Das HowTo mit Bilder zu puttygen.exe und putty.exe: http://blog.murawski.ch/2010/04/ssh-authentifizierung-mit-privatekey/

SSl Explorer installieren

SSL Explorer ist ein Javaprogramm, dass mit Java 5 läuft, welches einen SSL Tunnel durch das Internet auf Port 443 aufbaut. So viel sei verraten: Durch den SSL Tunnel kann alles getunnelt werden (SSH, VPN, usw.). Sitzt man zum Beispiel hinter einer Firewall welche keine SSH Verbindung zulässt könnte diese SSH Verbindung über den SSL Tunnel getunnelt werden… (SSH over SSL oder VPN over SSL) Weiterlesen

Quotas einrichten

Dieses Wochenende habe ich die ganze Struktur meiner Sambashares meines Servers (Debian Lenny 5.0) überarbeitet. User gelöscht und hinzugefügt, Rechte geändert. Dabei musste ich auch die Quotas neu erstellen und habe gleich ein einfaches Minihowto geschrieben.

Die Quotas kommen bei mir auf einem Sambaserver zum Einstatz. Es dürfen verschiedene Benutzer Daten auf den Server hochladen und damit mir niemand den Server ausversehen oder gewollt zumüllen kann werden Quotas konfiguriert. Quotas ergeben auch anderswo Sinn, zum Beispiel bei Homeverzeichnissen.

Etwas vornweg: Quotas können nur auf Partitionen und nicht auf Ordner gesetzt werden! Die Quotas gelten für eine Partition! Los gehts. Weiterlesen