All posts in UBUNTU

Hallo zusammen,

in dem heutigen Blogeintrag möchte ich euch zeige wie Ihr unter Ubuntu 16.04 einen einfachen Loadbalancer mit HA-Proxy installieren könnt. Für das Howto habe ich drei Ubuntu 16.04 Server installiert. Zwei Server dienen mir als Webserver und einer als Loadbalancer.

 

 

 

 

 

 

 

Um einen nginx Webserver installieren zu können, benötigt es noch ein paar vorbereitungen.

Nach der Grundinstallation der beiden Webserver, müssen diese auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man den beiden Server einee statischen IP-Adresse.
Hier habe ich mich an den Screenshot gehalten, der Webserver 1 bekommt die IP-Adresse 192.168.xxx.101 und der Webserver 2 die IP-Adresse 192.168.xxx.102.

Zur besseren Übersicht habe ich die /var/www/html/index.nginx-debian.html angepasst, damit man diese in den Screenshots besser erkennt.

 

 

 

 

 

Nach dem die Webserver fertig installiert sind und man auf diese sauber zugreifen kann, werden wir den Loadbalancer vorbereiten.

Auch der Loadbalancer muss auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man auch dem Loadbalancer eine statischen IP-Adresse. Hier habe ich die IP-Adresse 192.168.xxx.51 benutzt.

Hier ruft man im Webbrowser nun die IP-Adresse (192.168.xxx.51) des Loadbalancer auf, wenn man die Webseite mit F5 refreshed, dann sieht man das Roundrobin verhalten. Wenn man in der /etc/haproxy/haproxy.cfg Konfigurationsdatei den mode auf tcp stellt, dann wird erst dann ein Roundroubin durchgeführt, wenn einer der Webserver down ist.

Dies kann man testen in dem man auf den Webservern den nginx Dienst stoppt. (systemctl stop nginx.service oder service nginx stop)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

So das war es auch schon wieder von mir, viel Spaß beim konfigurieren.

Gruß Helmut

 

 

 

 

 

 

Wenn man keine CD/DVDs mehr zur Hand hat, kann man sich im eigenen Netzwerk einen PXE Server installieren. Dies funktioniert ganz gut mit einen Raspberry PI oder natürlich in einer Virtuellen Umgebung. Für diesen Blog Eintrag habe ich einen Ubuntu 16.04.2 LTS Server in einer Virtuellen Umgebung installiert.

Nach dem der Ubuntu 16.04.2 LTS Server fertig installiert wurde, installieren wir noch ein paar Grundlegende Pakete und patchen den Server.

Nach dem der Server up to date ist, konfiguriert man eine statischen IP-Adresse.

Nach dem Reboot des Servers, können wir uns mit Putty oder Kitty auf dem Server verbinden.

Oder wir nutzen einen Linux Client (Windows 10 1607) um uns per ssh zu verbinden.
ssh <UserName>@192.168.178.10

Um nun einen PXE Server im Netzwerk zur Verfügung zu stellen, benötigen wir noch folgende Pakete.

Nach dem die Pakete installiert wurden, beginnen wir mit der konfiguration.

Ubuntu Netboot Dateien herunterladen und extrahieren.

Ab hier ist der PXE Server schon einsatzfähig.

 

 

 

 

 

 

 

Um aber das Ubuntu 16.04.2 Desktop Image per PXE Boot laden zu können, müssen wir dieses noch herunterladen und in das Boot Verzeichnis integrieren/kopieren.

Damit das Ubuntu 16.04 Desktop ISO Image geladen werden kann, benötigen wir noch eine Freigabe auf dem Server, dies können wir per NFS realisieren.

Die Konfigurationsdatei (default) für das Boot Menü, findet man im Verzeichnis /tftpboot/ubuntu-installer/amd64/pxelinux.cfg/
ls -la /tftpboot/ubuntu-installer/amd64/pxelinux.cfg/default

 

 

 

 

 

 

 

 

Download des Bootlogos

 

 

 

 

 

 

 

 

So nun wünsche ich euch viel Spaß mit euren eigenen PXE Server.

Gruß Helmut

 

 

 

 

Hallo zusammen,

um den Nextcloud Server installieren zu können, benötigt es ein paar Vorbereitungen.
In diesen Beispiel verwende wir einen Ubuntu 16.04 LTS Server in einer Virtuellen Umgebung.

Nach der Grundinstallation des Ubuntu Servers, muss der Server auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

nginx Webserver installieren und überprüfen

MariaDB Server installieren & Konfigurieren

NextCloud Datenbank anlegen

PHP 7 installieren

php.ini Datei anpassen

fpm www.conf Datei anpassen

NextCloud 11 installieren

SSL Zertifikat über eigene CA erstellen

oder man erstellt sich ein.

SelfSign SSL Zertifikat

nginx Webserver Konfiguration

nginx überprüfen und restliche Konfiguration vornehmen

Memory Cache konfigurieren

 

 

 

 

 

 

Viel Spaß beim konfigurieren

Gruß Helmut

 

 

 

 

 

Hallo zusammen,

um einen nginx Webserver installieren zu können, benötigt es ein paar Vorbereitungen.
In diesen Beispiel verwende wir einen Ubuntu 16.04 LTS Server in einer Virtuellen Umgebung.

Nach der Grundinstallation des Servers, muss der Server auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man den Server mit einer statischen IP-Adresse.

nginx Webserver installation und überprüfen

Standardverzeichnisse nach der Installation

Grundlegende nginx Befehle

Mit folgenden Befehl überprüft man, ob der nginx Server auf Port 80 lauscht

PID File Anpassung in der nginx.service Datei

Erste Webseite konfigurieren

 

 

 

 

 

Virtuellen Host konfigurieren

 

 

 

 

 

Webserver SSL Zertifikat erstellen

mysite.htdom.local Konfiguration anpassen

Mit folgenden Befehl überprüft man, ob der nginx Server auf Port 80 und 443 lauscht

 

 

 

 

 

 

Um noch mehr Sicherheit in die TLS Verbindung zu bekommen, sollte man das TLS Protokoll und den Schlüsselaustausch (Chiper) eingrenzen.
Dazu gibt es eine sehr gute Webseite von Mozilla, mit dieser Mozilla SSL Configuration Generator kann man sich die passende Konfiguration für seinen Webserver zusammenklicken.

https://mozilla.github.io/server-side-tls/ssl-config-generator/

Modern: Ist Stand heute die sicherste Einstellung, hier wird nur noch TLSv1.2 verwendet
Intermediate: Ist ein kompromiss aus Sicherheit und Kompatibilität, hier wird noch TLSv1 TLSv1.1 TLSv1.2 verwendet.
Old: Ist die schlechterste Wahl, hier wird sogar noch das veraltete SSLv3 verwendet.

Alle heutigen Browser unterstützen bereits TLSv1.2 daher sollte man, wenn möglich Intermediate oder Modern benutzen.
Um die Konfiguration auf der Webseite vornehmen zu können, müssen wir erst die nginx und openssl Version herausfinden, dies funktioniert mit folgenden Befehl.

Und so sieht meine Modern Konfiguration aus

SSL/TLS Verbindungstest kann man auf folgender Webseite durchführen
https://www.ssllabs.com/ssltest/index.html

Wenn man nun die Variante Modern nutzt, könnte die Handshake Simulation wie folgt aussehen.
Alle Browser die kein TLSv1.2 unterstützen, werden abgewiesen, bzw. können keine Verbindung zum Webserver aufbauen.

 

 

 

 

 

 

 

Viel Spaß beim ausprobieren

Gruß Helmut

 

 

 

 

 

In diesen Beitrag möchte ich kurz zeigen, wie man sich für eine Testumgebung oder vielleicht einen späteren Live Betrieb eine zweistufige PKI mit OpenSSL einrichtet.
Hierzu wurde ein Standard Ubuntu 16.04 LTS Server installiert.

Das wichtigste für eine CA ist die OpenSSL-Konfigurationsdatei, diese liegt Standardmäßig jeder openssl Installation bei, diese Datei wurde kopiert und auf die Testumgebung angepasst.
Wenn Ihr andere Installationspfade nutzen wollt, dann bitte dementsprechend die ca-config.cnf Datei nach euren Bedürfnisse anpassen.

Was sehr wichtig ist, sind die Sektionen. Die URLs müssen unbedingt für die Testumgebung angepasst werden. Damit im Zertifikat später die richtigen URLs stehen.
Die Certification Revocation List (*.crl) muss über http:// erreichbar sein, wenn das nicht der Fall ist, kann es zu unnötigen Fehlern kommen.

ca-config.cnf

Root Certificate Authority einrichten

Issuing Certificate Authority einrichten

Issuing Certificate Request genemigen

Webserver Zertifikat erstellen

Certification Revocation List erstellen

Zertifikate wiederrufen

Nützliche Befehle

Da kein Computer dieser Welt unsere CA kennt, müssen wir natürlich das Root CA Zertifikat und Issuing CA Zertifikat auf jeden Computer installieren.
Dazu lege ich mir eine RootCA.txt und eine IssuingCA.txt Datei lokal auf dem Computer an und hole mir wie oben beschrieben die Zertifikatsinformationen.

Wenn beide Text Dateien gefüllt sind, werden dies in *.crt umbenannt, danach installiere ich diese unter Windows in den passenden Zertifikatsspeicher.
Das RootCA Zertifikat wird in den „Vertrauenswürdige Stammzertifizierungsstelle“ installiert.

 

 

 

 

 

Und das Issuing CA Zertifikat wird unter „Zwischenzertifizierungsstelle“ installiert.

 

 

 

 

 

Wenn beide Zertifikate sauber installiert wurde, kann man sich das Zertifikat ansehen, in dem das man es doppelklickt und sich alle Informationen ansieht.

 

 

 

 

 

Unter Linux ist das ganze ein bisschen einfacher, hierzu kopiert man beide Zertifikate in den Zertifikatsspeicher und lässt ein Update laufen, danach sind dem Linux Server/Client die Zertifikate bekannt.

So nun viel Spaß beim ausprobieren.

Viele Grüße
Helmut

 

 

 

 

 

Nach der Grundinstallation von Ubuntu 16.04 LTS Desktop, wird das System auf den neusten Stand gebracht.

Nach dem das System up to date ist, kann man manuell die Netzwerkkarte konfigurieren, wichtig ist hier das der DNS Server vom Domaincontroller angesprochen wird.

Wenn der DNS Server für den Client konfiguriert wurde, installieren wir alle benötigten Pakete um den Client an das AD anzubinden.

NTP Service konfigurieren

Realmd konfigurieren

 

default-home: set the default homedir for each Active Directory User. In our example it will be something like /home/dom.example.int/domainuser.
default-shell: the default shell used by the users. bash is usually the preferred default shell.

default-client: we are using sssd in our scenario. winbind is also a possible option.
os-name: the operating system name as it will appear in our Active Directory.
os-version: the operating system version as it will appear in our Active Directory.

automatic-install: we want to prevent realmd to try to install its dependencies.

fully-qualified-names: this will allow users to use just their username instead of the combination of domain and username. For example we can use the username domainuser instead of DOM\domainuser or domainuser@dom.example.int. Note, however, that this could cause conflicts with local users, if they have the same username as a domain user.
automatic-id-mapping: this option will auto-generate the user and group ids (UID, GID) for newly created users, if set to yes.
user-principal: this will set the necessary attributes for the Ubuntu machine when it joins the domain.
manage-system: if you don’t want policies from the Active Directory environment to be applied on this machine, set this option to no.

 

Kerberos konfigurieren

Client zur Domain hinzufügen

SSSD konfigurieren

Pam common-session konfigurieren für das Home Laufwerk

Ubuntu 16.04 Login anpassen

So das war es schon wieder

Viel Spaß damit
Gruß Helmut

Hallo zusammen,

in dem heutigen Blogeintrag möchte ich euch zeigen wie Ihr Debian basierende Software-Distributionen, dazu gehören Debian 8, Linux Mint und Ubuntu an das Microsoft Active Directory 2012 anbinden könnt.

In der Vergangenheit habe ich bereits ein paar Blogeinträge zu dem Thema gemacht:

Ubuntu 11.10/12.04 Desktop in das Microsoft Active Directory einbinden
Debian 7 an das Active Directory anbinden

Im großen und Ganzen hat sich nicht viel verändert, außer das wir diesmal auf der Microsoft Seite nichts mehr verändern und hinzufügen müssen.
Unter Active Directory 2008 R2 mussten wir noch die „Identity Management für UNIX“ Features installieren und die Gruppenrichtlinien anpassen, dies fällt unter 2012 R2 weg, da Microsoft das „Identity Management für UNIX“ Feature nicht mehr mit an Board hat.

Alles was wir auf der Linux Seite benötigen ist NTP, Kerberos 5, Samba und Winbind und ein paar Tools für das testen der Verbindung.

Ich starte hier mit der Linux Mint 17.1 Distribution.

1

 

 

 

 

 
Nachdem das Betriebssystem installiert wurde, bringen wir das System mit update/upgrade auf den neusten Stand.

Mit folgender Kommandozeile installieren wir uns alle passenden Pakete dir wir für die Verbindung zu Active Directory benötigen.

NTP für die Zeitsynchronisation
Kerberos 5 für das Kerberos Ticket und die ADS Authentifizierung
Winbind für die NT-Kontenverwaltung
Samba um der Domain beitreten zu können
LDAP Utilites für einen LDAP Test gegen das Active Directory

Wenn alle Paket sauber installiert wurden, beginnen wir auch schon mit der Konfiguration.

Im ersten Schritt passe ich die /etc/hosts an

1_1

 

 

 

 

 
#Kerberos 5 konfigurieren

# Samba konfigurieren

Nach dem diese beiden Dateien konfiguriert wurden, starten wir den Client neu.

Danch überprüfen wir ob wir zur Domain eine Verbindung herstellen können

2

 

 

 

 

3

 

 

 

 

 
Wenn das der Fall ist, können wir der Domain beitreten

Nach erfolgreichen Domain Join sollte der Computer im AD unter Computers auftauchen

4

 

 

 

 

 
Nun können wir noch folgende Abfragen testen.

In der nsswitch.conf nehmen wir die Konfiguration der Authentication vor

# nsswitch konfigurieren

Und in der common-session legen wir fest, das ein Homelaufwerk automatisch angelegt wird, wenn sich ein neuer Domain Benutzer am Linux Client anmeldet.

# common-session konfigurieren für die Automatische Home Verzeichnis anlage

5

 

 

 

 

 
6

 

 

 

 

 
Das war es auch schon, nun kann ich mich als Domänenbenutzer am Linux Client anmelden.

Viel Spaß
Gruß Helmut Thurnhofer

Hier möchte ich euch zeigen wie Ihr einen ICINGA 1.7.0 Server in einer Ubuntu 12.04 Microsoft Hyper-V Virtuellen Maschine installieren könnt.

Zusätzlich zeige ich euch wie Ihr eine Grundkonfiguration von ICINGA vornehmen könnt, wie Ihr den ICINGA Server in das Microsoft Active Directory einbinden könnt und wie Ihr manche Dienste/Services mit Perl Scripte abfragen könnt.

image

image

image

Wie immer findet ihr hier die passende Dokumentation zu dem Artikel –> ICINGA 1.7.0 in einer Virtuellen Umgebung mit UBUNTU 12.04 installieren

Mehr Anleitungen zu NAGIOS/ICINGA findet Ihr unter Server Howto’ s

Auch würde ich mich über Kommentare und Anregungen freuen, wie euch das Howto gefällt und ob ihr zurecht kommt.

Viele Grüße
Helmut

Da ich mich derzeit wieder mit der Monitoring Software ICINGA 1.6.1 beschäftige und die passende Dokumentation vorbereite, bin ich auf einen Punkt gestoßen der mich als Microsoft Administrator sehr freudig stimmt.
Linux Systeme in das Microsoft Active Directory System einbinden, welche Vorteile es am Ende hat muss sich noch rausstellen.

Hier ein kleiner Blog Eintrag wie sich das ganze bewerkstelligen lässt.

Nach einer Neuinstallation von Ubuntu 11.10/12.04 Desktop beginne ich mit der Vorbereitung:

Um sicher zu gehen das der Domaincontroller richtig aufgelöst wird, frage ich den DNS Server mit der Forward und Reverse Lookup Adresse ab.

host ads01
host 192.168.178.100
ping htdom.local
nslookup !$

image

Wenn das sauber funktioniert dann starte ich die Installation von Likewise, wenn nicht dann muss man noch kurz die /etc/hosts Datei anpassen, damit der ping auf die Domäne funktioniert.

image

Da ich eine *.local Domain für die Testumgebung nutze, muss ich noch die /etc/nsswitch.conf Datei anpassen. Die ursprüngliche Zeile hosts: kommentiere ich aus und schreib eine neue Zeile.

image

nano /etc/nsswitch.conf
hosts: files dns mdns4

Wenn das alles erledigt ist beginne ich die Installation.

sudo apt-get install likewise-open likewise-open-gui

Nach der Installation, nehme ich den ICINGA Server in der Domäne auf.

sudo domainjoin-cli join –ou ComputersUnix htdom.local Administrator

image

20 mal Probiert und es ist nix passiert. Smiley Die Integration bringt mir jetzt einen Undokumentierten Errorcode. Trotzdem funktionierte die Anlage vom Computerkonto im AD.
Mal sehen welche Auswirkungen der Fehler noch hat.

image

Ich habe die Integration mit mehreren Ubuntu Versionen (10.04, 10.10, 11.04, 12.04) getestet und immer eine Success Meldung bekommen, bei der jetzigen 11.10 tritt dieser Error Code auf.

image

Nach dem ersten reboot nach der Integration, teste ich den Domain Join In mit dem Befehl

sudo lw-get-status

image

Die Benutzerinformationen der Domäne kann ich noch mit folgenden Befehl abrufen

sudo lw-enum-users

image

Im nächsten Schritt melde ich mich auf den ICINGA Server mit einen Domänen Benutzer an.

image

image

Auch das scheint sauber zu funktionieren.

„Optional habe ich auch folgendes Script bei meinen vorigen Tests benutzt und es hat ebenfalls funktioniert.“

Auf folgender Webseite à http://www.beyondtrust.com/Technical-Support/Downloads/PowerBroker-Identity-Services-Open-Edition bekommt man die Software/Script „pbis-open-7.0.0.867.linux.x86.deb.sh“ Nach einer kurzen Registrierung bekommt man einen E-Mail zugesandt und kann im Anschluss das Script für die Ubuntu Umgebung downloaden.

Hier die Dokumentation die ich verwendet habe à http://www.beyondtrust.com/Technical-Support/Downloads/files/PBISO/Manuals/PBISO_Installation_and_Administration_Guide_V6.5/Default.htm

image

Nach dem Download, setzt man die Rechte für das Script und führt es im Anschluss mit Root-Rechten aus.

chmod a+x pbis-open-7.0.0.867.linux.x86.deb.sh
./pbis-open-7.0.0.867.linux.x86.deb.sh

Wenn das Script durchgelaufen ist, passt man noch die resolv.conf Datei im etc Verzeichnis an um den Richtigen DNS Server der Domäne anzusprechen. Wenn das vergessen wird funktioniert der Join In nicht! à Bis jetzt nur unter der Version 12.04 Beta nötig gewesen

sudo nano /etc/resolv.conf

„Mir ist aufgefallen, dass nach jeden Neustart von Ubuntu 12.04 Beta die resolv.conf vom System überschrieben wird. Um dieses zu vermeiden, kann man die Datei nach einer Änderung mit folgenden Befehl schützen“

Sperren –> chattr +i /etc/resolv.conf
Entsperren –> chattr -i /etc/resolv.conf

image

Auf was auch noch zu achten ist wäre die /etc/nsswitch.conf Datei, dort muss ein Eintrag verändert werden.

image

Unter hosts: muss der dns Eintrag nach files kommen, die ist nötig wenn man eine *.local Domänenendung hat. (Musste ich auch nachlesen weil der Domain Join In am Anfang nicht funktioniert hat.)

Um sicher zu gehen das der Domaincontroller richtig aufgelöst wird, frage ich den DNS Server mit der Forward und Reverse Lookup Adresse ab.

host ads01
host 192.168.178.100

image

Wenn das sauber funktioniert dann starte ich den Join in in die Domäne mit folgenden Befehl.

domainjoin-cli join htdom.local Administrator
Passwort nicht vergessen

image

image

Danach sollte der Join In funktioniert haben, wenn dem nicht so ist, dann passt irgendwas mit der Namensauflösung nicht.

Man kann noch bei der Fehlersuche das Loglevel anschalten:

sudo domainjoin-cli –loglevel verbose join htdom.local Administrator
gedit /var/log/auth.log

Mit folgenden Befehlen kann man überprüfen ob alles funktioniert hat

sudo /opt/pbis/bin/get-status

image

sudo domainjoin-cli query

image

sudo /opt/pbis/bin/get-dc-name htdom.local

image

sudo /opt/pbis/bin/find-user-by-name htdom\\Administrator
id htdom\\Administrator

image

Mit folgenden Befehl kann man sich die laufenden Services ansehen

sudo /opt/pbis/bin/lwsm list

Und mit folgenden Befehl kann man die Services durchstarten

sudo /opt/pbis/bin/lwsm restart lwio

image

Viel Spaß beim nachmachen und ich werde wieder Berichten.

Viele Grüße
Helmut

Hier möchte ich euch zeigen wie Ihr einen ICINGA 1.0.2 Server in einer Microsoft Hyper-V Virtuellen Maschine installieren könnt.
Zusätzlich zeige ich euch wie Ihr eine Grundkonfiguration von ICINGA vornehmen könnt und wie Ihr das neue ICINGA Web-Interface 1.0.1 installiert.

image

image

image

image

Hier der passende Link –> ICINGA 1.0.2 in einer Microsoft Hyper-V Maschine installieren

Mehr Anleitungen findet Ihr unter Server Howto’ s

Viele Grüße
Helmut