# Mailserver **Verantwortliche:** Stefan Miljevic, Leo Gruber **Aufgaben:** 1. Jeder Server soll eine Web-Oberfläche zur Netzwerk/Server Überwachung zur Verfügung stellen (z.B. Nagios, Icinga, Zabbix). **Verwendete Software und Pakete:** 1. Nagios Core **Kurze Beschreibung:** Nagios ist eine OpenSource - Software zum Monitoring von Netzwerkdiensten und der Netzwerkinfrastruktur. Nagios bietet dazu eine umfangreiche Sammlung von Tools und Plugins, welche das Erstellen beliebiger Überwachungs- und Benachrichtigungsfunktionen ermöglichen. Mithilfe der Weboberfläche können die gesammelten Daten abgefragt werden. **Vorraussetzungen:** Instanzen erstellt und .pem Key ist auf den jeweiligen Windowsrechnern vorhanden. ## Verbindungsaufbau zur Instanz 1. Kopieren des .pem Files in das Ubuntu Subsystem in das Verzeichnis /etc/ssh 2. Berechtigungen anpassen: `sudo chmod 400 "keyname.pem"` 3. Verbindung aufbauen: `sudo ssh -i "keyname.pem" ubuntu@IP-ADDRESS` --> Der Connection-String ist bei der Instanz unter *Actions > Connect zu finden* ## Installation Die folgenden Schritte müssen auf allen Instanzen durchgeführt werden. ### Schritt 1 - Vorrausgesetzte Pakete installieren 1. Apache und PHP installieren: ``` $ sudo apt-get update $ sudo apt-get install wget build-essential unzip openssl libssl-dev $ sudo apt-get install apache2 php libapache2-mod-php php-gd libgd-dev ``` ### Schritt 2 - Nagios Benutzer erstellen 1. Neues Benutzerkonto für Nagios im System erstellen: `$ sudo adduser nagios` 2. Neue Gruppe erstellen für Nagios Setup "nagcmd": `$ sudo groupadd nagcmd` 4. Benutzer "nagios" zu der erstellten Gruppe und zu der Apache Gruppe hinzufügen: ``` $ sudo usermod -a -G nagcmd nagios $ sudo usermod -a -G nagcmd www-data ``` ### Schritt 3 - Nagios Core installieren 1. Nagios Core Files herunterladen: ``` $ cd /opt/ $ sudo wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz $ sudo tar xzf nagios-4.4.5.tar.gz ``` 2. Nagios installieren mit make: ``` $ cd nagios-4.4.5 $ sudo ./configure --with-command-group=nagcmd $ sudo make all $ sudo make install $ sudo make install-init $ sudo make install-daemoninit $ sudo make install-config $ sudo make install-commandmode $ sudo make install-exfoliation ``` 3. Eventhandler Skripte kopieren, welche Eventtrigger hinzufügen: ``` $ sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ $ sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers ``` ## Konfiguration ### Schritt 1 - Apache aufsetzen 1. Apache Konfigurationsdatei für den Nagios Server erstellen: `$ sudo vi /etc/apache2/conf-available/nagios.conf` 2. In das erstellte File folgeden Text einfügen: ``` ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Restricted Area" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Restricted Area" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> ``` 3. Benutzerkonto "nagiosadmin" erstellen und Passwort zuweisen: `$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin` 4. Apache konfigurieren und neustarten: ``` $ sudo a2enconf nagios $ sudo a2enmod cgi rewrite $ sudo service apache2 restart ``` ### Schritt 2 - Nagios Plugins installieren 1. Nagios Plugins Source herunterladen und entpacken: ``` $ cd /opt $ sudo wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz $ sudo tar xzf nagios-plugins-2.2.1.tar.gz $ cd nagios-plugins-2.2.1 ``` 2. Nagios Plugins installieren: ``` $ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl $ sudo make $ sudo make install ``` ### Schritt 3 -Einstellungen überprüfen 1. Nagios Installation und Konfigurationsfile überprüfen: ``` $ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg $ sudo service nagios start ``` 2. Nagios konfigurieren, sodass Nagios automatisch startet beim Hochfahren `$ sudo systemctl enable nagios` ### Schritt 4 -AWS Security Group aktualisieren 1. In der AWS Konsole zu Security Groups navigieren. 2. Bei der Security Group der jeweiligen Instanz folgende Inbound Rule hinzufügen: * Type: HTTP * Protocol: TCP * Port Range: 80 * Source: Anywhere ### Jetzt ist Nagios unter http://IP-Adresse/nagios erreichbar. ## Zugriff 1. Instanz starten 2. Durch das Klicken auf die Instanz können die Details angezeigt werden, dort dann die Public IP Adresse entnehmen. 3. Unter http://IP-Adresse/nagios kann man nun auf die Weboberfläche der Instanz zugreifen. 4. Mit den Credentials einloggen: * Username: nagiosadmin * Passwort: bif3c1_20 ## Quellen * https://sysadminxpert.com/step-by-step-method-for-installing-nagios-in-amazon-linux/ (20.01.20) * https://tecadmin.net/install-nagios-monitoring-server-on-ubuntu/ (20.01.20)