Nutzen Sie unser Beratungsangebot!
Kostenlos und durch Experten.
Wir beantworten Ihre Fragen zu Testmöglichkeit, Buchung und Nutzung – kostenfrei und individuell. Probieren Sie es aus!
Hotline: 24 Stunden am Tag, 7 Tage die Woche
Wenn Sie Ihre eigenen Images oder die Images von anderen Anbietern durch Images der Open Telekom Cloud ersetzen, brauchen Sie sich keine Sorgen zu machen, dass Sie aus Versehen an ein Blackbox-Image geraten.
In diesem Beitrag gehen wir auf die Anpassungen ein, die an den ursprünglichen Imageversionen der Anbieter vorgenommen wurden.
Mit diesen Anpassungen werden die folgenden Ziele verfolgt:
- Technische Vorbereitung für den Betrieb auf der Open Telekom Cloud
-> Cloud-Konfiguration
-> Leistung
-> Funktionen
- Sicherheit -> Image-Härtung
- Nutzbarkeit -> zusätzliche Pakete
Werfen Sie einfach einen Blick in das Hardening-Skript der Open Telekom Cloud.
Fast alle zusätzlichen Härtungen erfolgen über dieses Skript, das bei der Erstellung der Images ausgeführt wird.
Nach der Image-Erstellung wird das Skript nicht gelöscht, sodass Sie dieses weiterhin anzeigen können:
hardening.sh opensuse: /usr/local/sbin/basic_hardening_opensuse.sh sles11: /usr/local/sbin/basic_hardening_sles11.sh ubuntu: /usr/local/sbin/basic_hardening_ubuntu.sh
In den folgenden Abschnitten haben wir alles zusammengefasst, was Sie im Hinblick auf die Anpassung von Images wissen müssen.
Auf Ihrem ECS finden Sie einige Pakete, die auf den Basis-Images von Anbietern in der Regel nicht standardmäßig installiert sind.
Einige dieser Pakete wurden lediglich zur Steigerung der Benutzerfreundlichkeit hinzugefügt. Andere Pakete sind hingegen erforderlich, um das Image des betreffenden Anbieters in der Open Telekom Cloud zum Laufen zu bringen. Falls Sie diese Pakete löschen, kommt es zu Problemen auf dem ECS.
Folgende Pakete dürfen daher nicht gelöscht werden:
cloud-init -> cloud configuration: cloud-init cloud-utils -> cloud configuration: cloud-init cloud-initramfs-growroot / growpart -> cloud configuration: cloud-init s3cmd -> cloud configuration: manage object storage via s3 uvp-monitor -> features: cloud-eye ntp -> hardening: time synchronisation dnsutils -> hardening: name resolution
Um Ihren ECS gemäß den Spezifikationen im Open Telekom Cloud-Dashboard anzupassen, müssen Sie das System mithilfe von cloud-init konfigurieren.
Zusätzlich zu Ihrer Konfiguration werden standardmäßig einige Anpassungen vorgenommen:
Benutzer hinzufügen: Linux
Standardpasswort für Linux festlegen: cloud.1234
Login für Root-Benutzer blockieren (nur über die Konsole)
SSH-Login mit Passwort deaktivieren
SSH-Schlüssel für die Benutzer „Root“ und „Linux“ bereitstellen (falls gewünscht)
Das Passwort für den Benutzer „Linux“ sollte beim nächsten Login geändert werden. Das Standardpasswort dient lediglich für den ersten Login.
Die komplette cloud-init-Konfiguration für die Open Telekom Cloud finden Sie in
# /etc/cloud/cloud.cfg
Diese Konfigurationsdatei können Sie auch bearbeiten bzw. etwas hinzufügen. Bitte beachten Sie dabei jedoch, dass cloud-init nicht nur bei der Erstellung des Systems, sondern auch während der Laufzeit sowie nach jedem Neustart verwendet wird.
Beispiel: Wenn Sie die Größe Ihres Root-Dateisystems ändern möchten, können Sie dies über das Open Telekom Cloud-Dashboard wie folgt vornehmen:
Falls Sie hier Änderungen vornehmen und etwas schiefgeht, empfiehlt sich ein Blick in die Datei cloud.cfg.
Grundsätzlich kommt in der Open Telekom Cloud der Hypervisor XEN zum Einsatz.
Beim Start eines ECS mit einem unvorbereiteten Image wird das virtuelle Netzwerkgerät standardmäßig als Realtek TRL8139 identifiziert. Dies geht mit einer geringeren Systemleistung einher.
Um die Leistung der Schnittstellen zu steigern, kann das XEN-Netzwerkmodul „netfront“ verwendet werden.
Für Blockgeräte kann analog das spezielle Modul „blkfront“ eingesetzt werden.
# cat /etc/modules xen-netfront xen-blkfront
Mit dem folgenden Befehl können Sie überprüfen, ob die Module geladen wurden:
# lsmod |grep xen xen_netfront 26038 0 xen_blkfront 25614 2
Bei SuSE heißen diese Module „xen_vbd“ (Blockgeräte) bzw. „xen_vnif“ (Netzwerk). Zusätzlich ist das gesonderte Modul „xen_platform_pci“ erforderlich. Mit dem folgenden Befehl können Sie die Prüfung unter SuSE durchführen:
# lsmod |grep xen xen_vnif 45056 0 xen_balloon 20480 1 xen_vnif xen_vbd 32768 3 xen_platform_pci 106496 3 xen_balloon,xen_vnif,xen_vbd
Hinweis: Bei aktuellen Betriebssystemen mit aktuellen Kernels sollten diese Module bereits standardmäßig implementiert sein, d. h. sie müssen nicht separat geladen werden.
Alle Maßnahmen zur Härtung wurden bereits weiter oben beschrieben und können direkt im Hardening-Skript nachgelesen werden.
Nach der Image-Erstellung wird das Skript nicht gelöscht, sodass Sie dieses weiterhin anzeigen können:
# hardening.sh opensuse: /usr/local/sbin/basic_hardening_opensuse.sh sles11: /usr/local/sbin/basic_hardening_sles11.sh ubuntu: /usr/local/sbin/basic_hardening_ubuntu.sh (...)
Kurz gesagt werden hierbei Anpassungen an Kernelparametern vorgenommen, beispielsweise an „tcp“ oder „memory“.
Images sind vorkonfiguriert:
# /etc/resolv.conf search openstacklocal nameserver 100.125.4.25 nameserver 217.150.148.149
Wenn Sie andere Nameserver konfigurieren möchten oder falls es zu Problemen bei der Namensauflösung kommt, finden Sie weitere Informationen hierzu in der Open Telekom Cloud unter DNS.
Eine kurze Vorschau
Ein DNS beinhaltet in der Regel eine einfache Konfiguration und ist in der Open Telekom Cloud bereits integriert.
Allerdings empfiehlt es sich, dieses Thema nicht zu unbedarft anzugehen, da Sie ansonsten unter Umständen viele Stunden mit der Fehlersuche am falschen Ort verbringen.
Beispiel: Erweiterung des Repository-Cache (apt-get update, zypper up etc.):
Es kommt zu Zeitüberschreitungen und Fehlern bei der Suche in der Repository-Konfiguration. Die DNS-Auflösung wird allerdings nicht repariert. Bei Auftreten unerwarteter Fehler kann ein Blick in die DNS-Auflösung nicht schaden.
Die DNS-Auflösung können Sie mit dem folgenden Befehl testen:
# nslookup cloud.telekom.de
Server: 100.125.4.25
Address: 100.125.4.25#53
Non-authoritative answer:
Name: cloud.telekom.de
Address: 62.157.140.212
If it doesn't show you the IP Address under cloud.telekom.de, you should check your DNS config.
If it doesn't reply immdediatly, you should check your DNS config.
If you don't have nslookup you can use a simple ping to check:
# ping cloud.telekom.de
PING cloud.telekom.de (62.157.140.212) 56(84) bytes of data.
Voraussetzung: DHCP aktiviert (Standardeinstellung)
Nach dem Start ist der ECS Nameservice folgendermaßen vorkonfiguriert:
# /etc/resolv.conf search openstacklocal nameserver 100.125.4.25 nameserver 217.150.148.149
Dieser Parameter stammt vom DHCP-Server
Parameter für resolv:
Manuelle DNS-Konfiguration
ECS-Images werden so konfiguriert, dass /etc/resolv.conf automatisch vom Metadatenservice der Open Telekom Cloud abgerufen wird.
Diese Datei kann manuell bearbeitet und eine eigene Konfiguration definiert werden. Nach einer manuellen Bearbeitung greift die automatische Funktion allerdings nicht mehr.
Parameter können jedoch manuell konfiguriert werden, ohne dass die Automatisierung verloren geht.
Legen Sie den Parameter „search“ im DHCP oder in der Netzwerkkonfiguration fest. Wenn die DNS-Konfiguration automatisch erstellt wurde, wird der Parameter auch hier verwendet.
@Ubuntu/Debian:
# /etc/dhcp/dhclient.conf
append domain-name " eu-de.otc-service.com eu-de.otc.t-systems.com otc.t-systems.com";
@SLES + @OpenSuSE:
# /etc/sysconfig/network/config:
NETCONFIG_FORCE_REPLACE="no" # if set ="yes" resolv.conf will be overriden ever you restart network (or reboot) NETCONFIG_DNS_STATIC_SEARCHLIST="exlampledomain.com otc.t-systems.com" # set search for: "exlampledomain.com otc.t-systems.com"
Diese Konfiguration erfolgt in denselben Dateien wie beim Parameter „search“. Dadurch werden der Parameter auf dem ECS festgelegt. Damit dieser Parameter auch für alle Server in diesem Subnetz gilt, sollte die Einrichtung über das Open Telekom Cloud-Dashboard erfolgen.
Ihr ECS ist Teil eines VCS-Subnetzes. Ihr primärer NIC ist in diesem Subnetz konfiguriert.
Die Konfiguration finden Sie im Open Telekom Cloud-Dashboard unter „VPC -> Subnets“.
Hier können Sie nicht nur die konfigurierten Subnetze einsehen, sondern auch Ihren DNS-Server konfigurieren.
Achtung: DHCP = OFF
(DHCP ist standardmäßig aktiviert)
Sie können DHCP auch ausschalten. Hierbei ist allerdings zu beachten, dass die automatische Konfiguration in diesem Subnetz in diesem Fall nicht funktioniert.
Somit ist die Einstellung DHCP = ON stets die bessere Wahl.
Die Open Telekom Cloud-Infrastruktur verfügt über zwei NTP-Server, die in allen Images vorkonfiguriert sind.
SSH
# /etc/ssh/sshd_config
PermitRootLogin without-password
PasswordAuthentication no
X11Forwarding yes
X11UseLocalhost yes
AllowAgentForwarding # yes <- older images are disabled
PermitEmptyPasswords
Repositorys
Standardmäßig bei anbieterspezifischen Images: öffentliche URL des jeweiligen Anbieters
Standardmäßig bei Images der Open Telekom Cloud: interner Repository-Server
Interne Repository-Server der Open Telekom Cloud:
Open Telekom Cloud-Images sind für die internen Repository-Server der Open Telekom Cloud und NICHT für öffentliche URLs vorkonfiguriert. Ein Wechsel auf die öffentliche URL des betreffenden Anbieters ist bei Bedarf jedoch möglich.
Ein ECS kann mit oder ohne öffentliche IP-Adresse erstellt werden.
Ohne öffentliche IP-Adresse hat ein ECS keine Internetverbindung und kann somit auch nicht auf öffentliche Repository-URLs zugreifen.
Um Server upgraden und Pakete standardmäßig installieren zu können, wurden interne Repository Mirrors konfiguriert, die
in jedem Fall eine Verbindung aufbauen können.
Falls die interne Konfiguration verloren gegangen ist und Sie diese wiederherstellen möchten, finden Sie hier die Standardeinstellungen:
OpenSuSE
# /etc/zypp/repos.d/openSUSE_Leap_42.1_OSS.repo [openSUSE_Leap_42.1_OSS] name=openSUSE_Leap_42.1_OSS baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RPMMD/opensuse_oss_leap type=rpm-md enabled=1 autorefresh=1 gpgcheck=1
# cat /etc/zypp/repos.d/openSUSE_Leap_42.1_OSS_Updates.repo [openSUSE_Leap_42.1_OSS_Updates] enabled=1 autorefresh=1 baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RPMMD/opensuse_leap_updates type=rpm-md autorefresh=1 gpgcheck=1
# cat /etc/zypp/repos.d/home_garloff_OTC_Leap_42.1.repo [home:garloff:OTC_Leap_42.1] name=home:garloff:OTC_Leap_42.1 baseurl=http://download.opensuse.org/repositories/home:garloff:OTC/openSUSE_Leap_42.1/ type=rpm-md enabled=1 autorefresh=1 gpgcheck=1
SLES
# cat /etc/zypp/repos.d/SLES11SP4.repo [SLES11SP4] name=SLES11SP4 baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RCE/SLES11-SP4-Pool/sle-11-x86_64 type=rpm-md enabled=1 autorefresh=1 gpgcheck=1
# cat /etc/zypp/repos.d/UPDATES-SLES11SP4.repo [UPDATES-SLES11SP4] enabled=1 autorefresh=1 baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RCE/SLES11-SP4-Updates/sle-11-x86_64 type=rpm-md
# cat /etc/zypp/repos.d/home_garloff_OTC_SLE11SP4.repo [home:garloff:OTC_SLE11-SP4] name=home:garloff:OTC_SLE11-SP4 baseurl=http://download.opensuse.org/repositories/home:/garloff:/OTC/SLE_11_SP4/ type=rpm-md enabled=1 autorefresh=1 gpgcheck=1
Ubuntu
# cat /etc/apt/sources.list
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty main restricted
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://eu-de-02.tsystems.clouds.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main
deb-src http://security.ubuntu.com/ubuntu trusty-security main
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
DEBIAN
# cat /etc/apt/sources.list
RedHat
# cat /etc/yum.repos.d/OBS-OTC.repo [OBS-OTC] name=OBS-OTC baseurl=http://download.opensuse.org/repositories/home:/garloff:/OTC/CentOS_6/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OBS-OTC
# cat /etc/yum.repos.d/rhel-source.repo [rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
rhel-source-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
OEL
# cat /etc/yum.repos.d/OBS-OTC.repo [OBS-OTC] name=OBS-OTC baseurl=http://download.opensuse.org/repositories/home:/garloff:/OTC/CentOS_6/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OBS-OTC
# cat /etc/yum.repos.d/Oracle-Base.repo #Oracle base [base] name=Oracle-67-Base baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/7/base/x86_64 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
#optional [optional] name=Oracle-67-Optional baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oracle
CentOS
# cat /etc/yum.repos.d/CentOS-Base.repo #centos base [base] name=CentOS-67-Base baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RPMMD/centos_67 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates [updates] name=CentOS-67-Updates baseurl=http://smt01-suse.eu-de.otc-service.com/repo/RPMMD/centos_67_updates gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# cat /etc/yum.repos.d/OBS-OTC.repo [OBS-OTC] name=OBS-OTC baseurl=http://download.opensuse.org/repositories/home:/garloff:/OTC/CentOS_6/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OBS-OTC
Überwachung des ECS und Anzeige von Grafiken im Dashboard
Dashboard -> Cloud Eye
erforderliches Paket: uvp-monitor
Die wichtigsten installierten Pakete und Konfigurationen wurden bereits beschrieben. Eine vollständige Auflistung aller installierten Pakete ist jedoch nur wenig sinnvoll, da es hier hin und wieder zu Änderungen kommen kann.
Die Liste ist nicht im Hardening-Skript zu finden. Es gibt jedoch zwei Methoden, um die Liste aufzurufen:
Tipps
OpenSuSE:
Diese Änderung geht nicht von der Open Telekom Cloud aus, kann aber unter Umständen zu Problemen führen.
Firewall: Die Open Telekom Cloud stellt keine besonderen Firewall-Richtlinien bereit. Bei Verwendung einer vorkonfigurierten Firewall ist jedoch Folgendes zu beachten:
Bei Verbindungsproblemen mit dem ECS müssen Sie die lokale Firewall Ihres ECS mithilfe des folgenden Befehls überprüfen:
„# iptables -L -n“
Beispiel
# iptables -L input_ext Chain input_ext (1 references) target prot opt source destination DROP all -- anywhere anywhere PKTTYPE = broadcast -> this is your restriction ACCEPT icmp -- anywhere anywhere icmp source-quench ACCEPT icmp -- anywhere anywhere icmp echo-request ACCEPT tcp -- anywhere anywhere tcp dpt:ssh DROP all -- anywhere anywhere PKTTYPE = multicast DROP all -- anywhere anywhere PKTTYPE = broadcast
Wenn Sie sich bei der Firewall unsicher sind, können Sie die Verbindung mit folgendem Befehl prüfen:
# stop firewall # /sbin/rcSuSEfirewall2 stop [start, status]
Fazit
Für Images der Open Telekom Cloud gelten folgende Anforderungen:
Zusatzoptionen für Images der Open Telekom Cloud:
Erstellung von privaten Images
Migration von AWS ECS2 in die Open Telekom Cloud (über Images)
Image Roadmap
Windows-Images in der Open Telekom Cloud
Wir beantworten Ihre Fragen zu Testmöglichkeit, Buchung und Nutzung – kostenfrei und individuell. Probieren Sie es aus!
Hotline: 24 Stunden am Tag, 7 Tage die Woche
* Gutschein ist einlösbar bis zum 30.06.2020. Bitte sprechen Sie uns bei der Buchung auf den Gutscheinbetrag an. Das Rabattvolumen ist nur für Kunden mit Rechnungsanschrift in Deutschland gültig und verfällt 2 Monate nach Abschluss des Vertrages. Das Guthaben wird mit den gültigen Listenpreisen gemäß Leistungsbeschreibung verrechnet. Eine Auszahlung ist ausgeschlossen.