Elasticsearch Downgrade von Version 6.x zu Version 5.x

elasticsearch deinstallieren

dpkg -r --force-all elasticsearch

sources.list anpassen – Es dürfen keine Repositories der Version 6.x angegeben werden:

cat /etc/apt/sources.list
deb https://artifacts.elastic.co/packages/5.x/apt stable main

Elasticsearch Version 5.x installieren

apt-get update
apt-get install --reinstall elasticsearch

Zur Sicherheit noch mal beide Pakete zammad und elasticsearch reinstallieren

apt-get install --reinstall elasticsearch zammad

Den Zammad Index neu builden

zammad run rake searchindex:rebuild

Ubuntu 18.04 LTS installieren

ACHTUNG: Bitte die ISO-Datei mit dem traditionellem Installer downloaden.
http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-amd64.iso

In der neuen Version ist keine Möglichkeit vorhanden ein LVM einzurichten.

sudo passwd

vi /etc/ssh/sshd_config

PermitRootLogin yes

/etc/init.d/ssh restart

vi /etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: no
addresses: [192.168.0.11/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.3,145.253.2.11]

netplan apply

Zammad in Ubuntu 18.04 Server

ACHTUNG: Bitte elasticsearch in Version 5.x verwenden! Version 6.x wird derzeit nicht unterstützt!

sysctl -w vm.max_map_count=262144

wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –

echo „deb https://artifacts.elastic.co/packages/5.x/apt stable main“ >> /etc/apt/sources.list

apt-get update

apt install openjdk-8-jre-headless

apt install elasticsearch

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

wget -qO- https://dl.packager.io/srv/zammad/zammad/key | sudo apt-key add –

wget -O /etc/apt/sources.list.d/zammad.list \
https://dl.packager.io/srv/zammad/zammad/develop/installer/ubuntu/18.04.repo

apt-get update

apt-get install zammad

Kleines Expect-Script für alte Cisco Switches un err-disabled

Expect-Script

#!/usr/bin/expect

set host [lindex $argv 0]

spawn telnet $host
expect „Password:“
send „YourPassword\n“
log_file ./err-status-$host.log

send „term len 0\n“
send „show int status err-disabled\n“
expect „end\r“
send „\n“
send „exit\n“
log_file

Bash-Wrapper

cat check-state.sh
/usr/bin/expect ./check-state.expect 1.2.3.4
sleep 2
/usr/bin/expect ./check-state.expect 1.2.3.5
sleep 2

SFTP Skript mit Bash

#!/bin/bash
#
# Encryption and SFTP Script 
# (c) 2017 Steffen Berg
#
# Es wird eine Verschluesselungssoftware benoetigt.
# Diese muss unter /$path/bin liegen.
#
# Es wird die Software sshpass benoetigt.
# Diese muss im Path vorhanden sein, sodass sie ueberall aufgerufen werden kann.
# Hierbei sollte mit einem credentials-File gearbeitet werden.
# Owner muss root sein und Rechte muessen 600 sein.
#
# Fuer das optionale Mounten muss ein entsprechender fstab-Eintrag vorhanden sein.
# Am besten hier auch mit credentials-File arbeiten.
# Owner auch root und Rechte auch 600.
#
# Ein sftp Client muss im Pfad stehen und von ueberall aufrufbar sein.
# Funktion mit Standard-SFTP-Client eines Ubuntu System getestet.
#Some Vars
lasttry=$(date)
path="/homedir"
work="$path/work"
encrypted="$path/encrypted"
srcserver="fileserver"
srcdir="quellverzeichnis"
filelist=`ls -1 /$srcserver/$srcdir/muster*.txt`
keyfile="$path/bin/encryptionkey"
binenc="$path/bin/encryption-binary"
credfile="/etc/sshpass.cred"
sftpserver="server oder ip"
username="sftp user name"
done="done"
logfile="encryption-history.log"
remotestatefile="remotestate.stat"
# Letzten Zeitstempel des Skriptaufrufes speichern
echo "------------------------------------- Start -----------------------------------------" >> $path/$logfile
echo "$lasttry Starting sftp Skript" >> $path/$logfile
  „SFTP Skript mit Bash“ weiterlesen

Ubuntu Linux 16.04 LTS Server iSCSI Target (Server) Installation – Low Cost SAN Storage

Ubuntu Linux 16.04 LTS Server iSCSI Target (Server) Installation – Low Cost SAN Storage

Per PuTTY am Server anmelden (Siehe auch Grundinstallation für vorherige Details).

Zwischenablage34.jpg

Als root anmelden.

Zwischenablage35.jpg

Dann mit apt-get die Software „tagetcli“ installieren.

apt-get install targetcli

Und ein Verzeichnis /storage für die Ablage der Storage-Files anlegen.

„Ubuntu Linux 16.04 LTS Server iSCSI Target (Server) Installation – Low Cost SAN Storage“ weiterlesen

Nagios Plugin Eventlog Windows mit bash und winexe

Mit Linux und winexe remote Befehle auf Windows Maschinen ausführen

Aus dem Opsi-Paket habe ich das Programm winexe genutzt, um z.B. Dienste neu zu starten.

Quelle für SuSE für winexe

http://software.opensuse.org/package/winexe

Hier ein kleines Beispiel mit dem der opsi-Client Dienst gestartet wird

mhgvmnagios:~ # winexe -U WINDOMAIN/Username%’Password‘ //host.domain.tld ‚cmd /C net start opsiclientd‘

Anmerkung
Falls es beim Aufruf von winexe zu Fehlern dieser Art kommt, und man den smbd Dienst nicht braucht, kann man die smb.conf verschieben, oder die Parameter darin auskommentiert. winexe scheint die smb.conf auszulesen und unbekannte Parameter als Fehler auszugeben. Die Funktion ist unabhängig von den Fehlern aber gegeben.

Unknown parameter encountered: „passdb backend“
Ignoring unknown parameter „passdb backend“
Unknown parameter encountered: „printing“
Ignoring unknown parameter „printing“
Unknown parameter encountered: „printcap name“
Ignoring unknown parameter „printcap name“
Unknown parameter encountered: „printcap cache time“
Ignoring unknown parameter „printcap cache time“
Unknown parameter encountered: „cups options“
Ignoring unknown parameter „cups options“
Unknown parameter encountered: „map to guest“
Ignoring unknown parameter „map to guest“
Unknown parameter encountered: „logon path“
Ignoring unknown parameter „logon path“

Falls auf smb verzichtet werden kann als Befehle in

/etc/samba/smb.conf

auskommentieren.

Per Powershell das Windows Eventlog auslesen

Ein Beispiel, um aus dem Log „System“ den ersten neuesten Eintrag von der Quelle „NETLOGON“ auszulesen

Get-EventLog -logname System -newest 1 -source „NETLOGON“

Powershellskript c:\eventlog5719.ps1

Der Einfachheit halber habe ich ein kleines PS-Skript erstellt, um die Befehle per winexe einfacher ausführen zu können:

Get-EventLog -logname System -newest 1 -source „NETLOGON“ 2>&1> $null
echo $?

„Nagios Plugin Eventlog Windows mit bash und winexe“ weiterlesen

Sichere Passwörter und /bin/false als Shell!

Durch einen ungeschickten useradd-Befehl gepaart mit Passwort == Username, wurde mal ein Server schnell kompromittiert. Dem useradd-Befehl wurde dann auch nicht per „-s /bin/false“ keine Shell zugewiesen, sondern es wurde „/bin/sh“ per Default gesetzt. So fand jemand sehr schnell die Einstiegsluke.

In Unterverzeichnissen von /tmp wurden einige Exploit-Skripts und eine IRC-Bot-Software installiert. Unter anderem beinhaltete die Softwaresammlung auch den Bot Eggdrop.

Nachdem ich den Angreifer ausgesperrt hatte, konnte ich in der Shell-History das Vorgehen einsehen.

Sowas darf nicht passieren!

Hier die Shell-History (die IP-Adressen und Hostnamen sind geändert):

„Sichere Passwörter und /bin/false als Shell!“ weiterlesen

IP Adresse mit iptables blockieren

Mir fiel auf, dass von einer IP-Adresse sehr viele Passwortanfragen kamen, da die /var/log/auth.log Datei sehr groß wurde.

Als schnelle Lösung habe ich die IP-Adresse mit iptables blockiert.

Mit folgendem iptables-Befehl kann der Traffic einer IP-Adresse (Bsp. 1.2.3.4) komplett geblockt werden.

iptables -A INPUT -s 1.2.3.4 -j DROP