Unterschiede zwischen den Revisionen 10 und 20 (über 10 Versionen hinweg)
Revision 10 vom 2009-05-16 12:20:16
Größe: 11687
Autor: BodoBellut
Kommentar:
Revision 20 vom 2010-02-14 14:44:49
Größe: 12956
Autor: BodoBellut
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
<<TableOfContents>>
Zeile 119: Zeile 121:
=== Schutz vor SSH Brute-Force-Angriffen ===

Um SSH Brute-Force-Attacken abzuwehren kann das Skript [[attachment:ssh_bruteforce_block.txt|ssh_bruteforce_block]] verwendet werden. Im oberen Teil des Skriptes müssen die Werte der Variablen ''DEV'' und ''PING_NETZ'' angepasst werden, dabei gibt ''DEV'' das Netztwerkinterface an, das geschützt werden soll und ''PING_NETZ'' gibt einen IP-Bereich an, der grundsätzlich nicht geblockt werden soll.
Zeile 124: Zeile 130:
}}}
vi /etc/inittab
    H0:23:respawn:/sbin/getty -L hvc0 115200 vt100
}}}

Ein evtl. auf ''ttyS0'' konfiguriertes getty muss deaktiviert werden, das getty auf ''hvc0'' kann natürlich erst gestartet werden, nachdem der Dom0-Kernel gebootet wurde.
Zeile 261: Zeile 270:

        # xenhopt=dom0_mem=131072 sched=sedf com1=115200,8n1 console=com1,vga
        # xenkopt=console=tty0 console=hvc0
Zeile 265: Zeile 271:

vi /etc/xen-tools/xen-tools.conf
        serial_device = hvc0
Zeile 292: Zeile 295:
Wurde eine Xen-Dom0 installiert bietet sich an, zusätzliche Munin-Plugins zu installieren und zu konfigurieren:
{{{
==== Xen-Dom0 ====

Soll das neue System als Xen-Dom0 fungieren sind einige weitere Paket zu installieren bzw. konfigurieren:
{{{
vi /boot/grub/menu.lst
        # xenhopt=dom0_mem=131072 sched=sedf com1=115200,8n1 console=com1,vga
        # xenkopt=console=tty0 console=hvc0
update-grub

vi /etc/xen-tools/xen-tools.conf
        serial_device = hvc0
        disk_device = xvda
Zeile 332: Zeile 346:
===== shutdown vs. save =====

Bei lenny werden DomUs beim shutdown der Dom0 automatisch gesichert, beim Start der Dom0 werden sie in ihrem vorherigen Zustand wiederhergestellt. Wer möchte, dass die DomUs beim shutdown der Dom0 stattdessen ebenfalls herunter gefahren werden muss in der Datei

{{{/etc/default/xendomains}}}

die Zeile

{{{XENDOMAINS_SAVE=/var/lib/xen/save}}}

durch

{{{XENDOMAINS_SAVE=""}}}

ersetzt werden.
Zeile 334: Zeile 364:
|| Dom0 || linux-image-xen-686 || || Dom0 || linux-image-xen-686 und linux-modules-xen-686 ||

Installation eines Basissystems auf Basis von Debian GNU/Linux lenny

/!\ Diese Anleitung enthält die Konfiguration für ein echtes System, mit allergrößter Wahrscheinlichkeit müssen einige bis alle Daten angepasst werden.

/!\ Es ist empfehlenswert, vor der Benutzung dieser Anleitung diese einmal vollständig zu lesen.

vorbereitende Schritte

Hardware

Das zu installierende System muss so konfiguriert werden, dass dieses via Ethernet bootet, unterstützt die verbaute Hardware dies nicht kann auf eine Etherboot-Diskette oder einen Etherboot-USB-Stick zurück gegriffen werden.

Switch

Der Switch cs1.ping.de muss so konfiguriert werden, dass der Port des zu installierenden Systems nativ im VLan 30 (Büronetz) befindet:

interface ethernet 1/47
 description #3 - Rautedrei (ted2)
 switchport allowed vlan add 30 untagged
 switchport native vlan 30
 switchport allowed vlan remove 1

Bei der Gelegenheit können auch weitere VLans hinzugefügt werden, wenn bereits bekannt ist, welche für dieses System in Frage kommen:

 switchport allowed vlan add 50,100 tagged

Eine unvollständige Übersicht über die VLans:

Name

Nummer

Büronetz

30

Prima-Netz

50

PING Server-Netz 1

10

PING Server-Netz 2

100

PING Server-Netz 3

110

DHCP Server

Der DHCP Server (aktuell auf leary.ping.de) muss so konfiguriert werden, dass das System eine IP zugewiesen bekommt und der Debian Installer gebootet wird:

        host rautedrei {
                hardware ethernet 00:0c:76:15:14:9e;
                filename "/pxelinux.0";
                fixed-address 192.168.0.37;
                option domain-name "ping.de";
        }

Dabei ist selbstverständlich darauf zu achten, dass keine IP doppelt vergeben wird.

Die MAC-Adresse kann entweder der Hardwaredokumentation entnommen werden, auf einem Aufkleber an der Hardware gefunden werden, den Boot-Meldungen des Systems entnommen werden oder man bootet die Hardware ohne Konfiguration des DHCP-Servers und wirft einen Blick in die Logdatei des DHCP-Servers. Wen das zu komplizierzt ist der sollte die Finger von der Installation eines Linux-Systems lassen.

Debian-Installer

Nach erfolgreicher Konfiguration von Hardware, Switch und DHCP-Server sollte das System nun den Debian Installer starten.

Hier nun eine Zusammenfassung der gestellten Fragen und deren Antworten:

Frage

Antwort

Installation Language

English

Country

Other

Country

Europe

Country

Germany

Keyboard

German

Network Card

Netzwerkkarte auswählen, ggf. ausprobieren

Hostname

rautedrei

Domainname

ping.de

Debian Mirror

enter manually

Debian Mirror

lou.ping.de

Partition Disks

partition manually

Enter root Password

root-Passwort

Create User

beliebigen Benutzer anlegen

Installation Tasks

standard system

Bei einigen Systemen kann es passieren, dass der Installer aufgrund ihm unbekannter Namensgebung den Bootloader grub nicht installieren kann. Dann bietet sich folgendes Vorgehen auf einer Konsole an:

chroot /target /bin/bash
apt-get install grub
grub-install /dev/i2o/hda
update-grub
vi /boot/grub/menu.lst
  groot (hd0,0)
update-grub
exit

Zurück zum Installer geht es weiter mit Continue without boot loader

Jetzt sollte der Installer den Reboot anbieten, dieser Vorschlag sollte akzeptiert werden. Beim Reboot ist darauf zu achten, dass das System jetzt nicht wieder via Ethernet bootet sondern das soeben installierte System.

Abschluss

Nach dem Reboot in das soeben installierte System sollten noch ein paar Dinge erledigt werden.

Remote Zugang

apt-get install openssh-server
vi /etc/ssh/sshd_config
    PermitRootLogin no
/etc/init.d/ssh restart
vi /etc/inittab
    T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
init q

Jetzt sollte der Zugang sowohl per ssh als auch serieller Konsole funktionieren, es ist äußerst sinnvoll, dieses zu testen.

Der Rest der Abschlusskonfiguration kann nun aus der Ferne geschehen.

Einschränkung des Zugangs

Wenn der Remote Zugang nur von ausgewählten Systemen erfolgen soll, kann dieses wie folgt erreicht werden:

vi /etc/hosts.allow
        sshd: kelly.prima.de seven.prima.de 192.168.0.1 LOCAL
vi /etc/hosts.deny
        ALL: ALL

192.168.0.1 ist dabei die IP von leary.ping.de im Büronetz (siehe oben), solange keine weiteren Netzwerkinterfaces in anderen Netzen konfiguriert wurden ist dieses neben der seriellan Konsole der einzige Zugang.

Schutz vor SSH Brute-Force-Angriffen

Um SSH Brute-Force-Attacken abzuwehren kann das Skript ssh_bruteforce_block verwendet werden. Im oberen Teil des Skriptes müssen die Werte der Variablen DEV und PING_NETZ angepasst werden, dabei gibt DEV das Netztwerkinterface an, das geschützt werden soll und PING_NETZ gibt einen IP-Bereich an, der grundsätzlich nicht geblockt werden soll.

Xen-Dom0

Soll das neue System als Xen-Dom0 fungieren sind einige weitere Paket zu installieren:

apt-get install xen-hypervisor-3.2-1-i386 linux-image-xen-686 xen-tools
vi /etc/inittab
    H0:23:respawn:/sbin/getty -L hvc0 115200 vt100

Ein evtl. auf ttyS0 konfiguriertes getty muss deaktiviert werden, das getty auf hvc0 kann natürlich erst gestartet werden, nachdem der Dom0-Kernel gebootet wurde. Im Anschluss muss das System neu gebootet werden, um den Hypervisor und den Dom0-Kernel zu starten.

Netzwerk

Um das System und seine DomUs in den richtigen Netzen betreiben zu können geht man wie folgt vor:

apt-get install vlan
apt-get remove --purge dhcp3-client dhcp3-common

vi /etc/network/interfaces
        auto eth0
        iface eth0 inet static
                address 192.168.0.37
                netmask 255.255.255.0
                network 192.168.0.0
                broadcast 192.168.0.255

        auto primanet
        iface primanet inet static
                address 83.97.48.12
                gateway 83.97.48.30
                netmask 255.255.255.192
                bridge_ports eth0.50
                bridge_stp off
                bridge_fd 0

        auto servernet2
        iface servernet2 inet static
                address 83.97.42.137
                netmask 255.255.255.192
                gateway 83.97.42.129
                bridge_ports eth0.100
                bridge_stp off
                bridge_fd 0

ifup primanet
ifup servernet2

Anmerkungen:

  • Die Interfaces primanet und servernet2 aus obigem Beispiel sind Bridge-Interfaces, welche an die VLans 50 bzw 100 gebunden werden. Die IP auf diesen Interfaces gehörem dem Hostsystem. Es ist wenig sinnvoll, beiden Interfaces eine IP zu geben, es ist nicht notwendig, überhaupt einem der beiden Interfaces eine IP zu geben, dann ist allerdings der Zugang nach wie vor ausschliesslich über leary.ping.de bzw. anderen Systemen im Büronetz möglich.

Jetzt muss noch der Resolver konfiguriert werden. Für PING-Systeme:

vi /etc/resolv.conf
        domain ping.de
        search ping.de
        nameserver 83.97.42.2
        nameserver 83.97.42.23
        nameserver 83.97.42.196
        nameserver 83.97.42.197

Für Prima-Systeme:

vi /etc/resolv.conf
        domain prima.de
        search prima.de
        nameserver 83.97.48.1
        nameserver 83.97.49.1

weitere Pakete und Konfigurationen

apt-get install debsums
apt-get clean
debsums_init
apt-get install nullmailer vim vim-scripts apticron apt-listchanges uptimed screen logcheck
        nullmailer:
                mailname: rautedrei.prima.de
                smarthost: mail.ping.de

update-alternatives --config editor
        /usr/bin/vim.basic

vi /etc/nullmailer/adminaddr
        rautedrei@ping.de

dpkg-reconfigure locales
        de_DE ISO-8859-1
        de_DE.UTF-8 UTF-8
        de_DE@euro ISO-8859-15
        en_US ISO-8859-1
        en_US.UTF-8 UTF-8
        default: en_US.UTF-8

dpkg-reconfigure apt-listchanges
        method: text
        skip: yes
        email: root
        type: both
        confirm: no

apt-get install lm-sensors smartmontools
sensors-detect
vi /etc/modules
        # insert output from sensors-detect
                w83627hf
# load modules for lm-sensors
        modprobe w83627hf

loop:
        sensors
        vi /etc/sensors3.conf
        sensors -s
until output of sensors looks reasonable

apt-get install munin-node munin-plugins-extra
        vi /etc/munin/munin-node.conf
                allow ^83\.97\.42\.133$
        vi /etc/munin/plugin-conf.d/local
                [sensors_volt]
                env.volt_warn_percent 0
        cd /etc/munin/plugins/
        ln -s /usr/share/munin/plugins/uptime
        ln -s /usr/share/munin/plugins/users
        ln -s /usr/share/munin/plugins/sensors_ sensors_fan
        ln -s /usr/share/munin/plugins/sensors_ sensors_volt
        ln -s /usr/share/munin/plugins/sensors_ sensors_temp
        ln -s /usr/share/munin/plugins/netstat
        ln -s /usr/share/munin/plugins/ntp_ ntp_cr1_ping_de
        ln -s /usr/share/munin/plugins/ntp_ ntp_lou_ping_de
        ln -s /usr/share/munin/plugins/ntp_states
        /etc/init.d/munin-node restart

apt-get install ntp
        vi /etc/ntp.conf
                statsdir /var/log/ntpstats/
                server cr1.ping.de
                server lou.ping.de
                # comment other server lines
        /etc/init.d/ntp restart

vi /boot/grub/menu.lst
        serial --unit=0 --speed=115200
        terminal --timeout=5 serial console
update-grub

apt-get install sitesummary-client
dpkg-reconfigure sitesummary-client
        URL: http://donotdisturb.ping.de/cgi-bin/sitesummary-collector.cgi
        Site: PING Office
        Sitegroup: Serverschrank
        Hostclass: server
sitesummary-client

vi /etc/sysctl.conf
        ##############################################################
        # Control Ethernet bridge usage
        #

        # Do not push bridged data through iptables/ip6tables/ebtables
        net.bridge.bridge-nf-call-arptables=0
        net.bridge.bridge-nf-call-ip6tables=0
        net.bridge.bridge-nf-call-iptables=0
        net.bridge.bridge-nf-filter-vlan-tagged=0

vi /etc/modules
        bridge

Xen-Dom0

Soll das neue System als Xen-Dom0 fungieren sind einige weitere Paket zu installieren bzw. konfigurieren:

vi /boot/grub/menu.lst
        # xenhopt=dom0_mem=131072 sched=sedf com1=115200,8n1 console=com1,vga
        # xenkopt=console=tty0 console=hvc0
update-grub

vi /etc/xen-tools/xen-tools.conf
        serial_device = hvc0
        disk_device = xvda

vi /etc/munin/plugin-conf.d/xen
        [xen_cpu]
        user root

        [xen_memory]
        user root

        [xen_traffic_all]
        user root

        [xen_vbd]
        user root

cd /etc/munin/plugins
wget -O xen_cpu http://muninexchange.projects.linpro.no/download.php?phid=107
wget -O xen_memory http://muninexchange.projects.linpro.no/download.php?phid=185
wget -O xen_traffic_all http://muninexchange.projects.linpro.no/download.php?phid=302
wget -O xen_vbd http://muninexchange.projects.linpro.no/download.php?phid=182
chmod 0755 xen_*

vi xen_cpu
        :32
        o
        $arg = ''

vi xen_traffic_all
        :31
        name=$( echo $dom | sed -e's/^\(.*\)\.prima\.de/\1/' -e's/^\(.*\)\.ping\.de/\1/' -e's/-/_/g' )
        :51
        name=$( echo $dom | sed -e's/^\(.*\)\.prima\.de/\1/' -e's/^\(.*\)\.ping\.de/\1/' -e's/-/_/g' )

vi xen_vbd
        :93
        # comment three of four shifts

/etc/init.d/munin-node restart

shutdown vs. save

Bei lenny werden DomUs beim shutdown der Dom0 automatisch gesichert, beim Start der Dom0 werden sie in ihrem vorherigen Zustand wiederhergestellt. Wer möchte, dass die DomUs beim shutdown der Dom0 stattdessen ebenfalls herunter gefahren werden muss in der Datei

/etc/default/xendomains

die Zeile

XENDOMAINS_SAVE=/var/lib/xen/save

durch

XENDOMAINS_SAVE=""

ersetzt werden.

Es bietet sich zudem an, das zum verwendeten Kernel passende Meta-Paket zu installieren, um immer den aktuellsten Kernel zu benutzen:

Dom0

linux-image-xen-686 und linux-modules-xen-686

Vanilla

linux-image-686 oder linux-image-686-bigmem

VServer

linux-image-vserver-686 oder linux-image-vserver-686-bigmem

Nur die -bigmem-Varianten bieten DomU-Unterstützung.