[HOWTO] Root/vServer Konfiguration & Absicherung (Modifikationen))

04/02/2015 18:05 mxiiii#1
Hallo Community,

ich möchte euch hier ein paar Modifikationen und Ergänzungen zu .interp seinem hervorragendem [Only registered and activated users can see links. Click Here To Register...] zeigen.
Hier noch einmal einen herzlichen Dank für das super Script. :handsdown:

Was euch hier erwartet ?

Nachträgliche Anpassungen von:
VimbAdmin
Arno-Iptables-Firewall
Spamassasin
Nginx
Fail2Ban


Hinzufügen von:
PDSA; FSNORT und RKHunter als NIDS
Webmin als Adminpanel


VimAdmin:

Hier ist es sinnvoll die Identität an die eigenen Bedürfnisse anzupassen. Ansonsten versucht VimAdmin von und an example.com Hinweismails zu versenden

zu finden unter /usr/local/vimbadmin/application/configs/application.ini

Code:
;; Identity

identity.orgname  = "Organisation"
identity.name  = "Support Team"
identity.email = "support@@FQDN"   
identity.autobot.name  = "ViMbAdmin Autobot"
identity.autobot.email = "autobot@@FQDN"
identity.mailer.name   = "ViMbAdmin Autobot"  
identity.mailer.email  = "do-not-reply@@FQDN"

identity.sitename = "SiteName"
identity.siteurl = "https://vma.FQDN"

;; All mail and correspondence will come from the following;;

server.email.name = "ViMbAdmin Administrator"
server.email.address = "support@FQDN"
Arno-Iptables-Firewall:

Wer keinen DNS-Server betreibt kann den Port 53 in der Firewall unter /etc/arno-iptables-firewall/firewall.conf schließen.
Einfach bei OPEN_TCP bzw OPEN_UDP die 53 entfernen und service arno-iptables-firewall restart nicht vergessen.

z.B.:
Code:
OPEN_TCP="22, 25, 80, 443, 587, 953, 993"
OPEN_UDP=""
Spamassasin:

In den LOGs findet man den Hinweis, dass einige Decoder nicht geladen werden können.

Code:
amavis[1020]: No decoder for       .F  
amavis[1020]: No decoder for       .lzo  tried: lzop -d
amavis[1020]: No decoder for       .rpm  tried: rpm2cpio.pl, rpm2cpio
amavis[1020]: Found decoder for    .cpio at /usr/bin/pax
amavis[1020]: Found decoder for    .tar  at /usr/bin/pax
amavis[1020]: Found decoder for    .deb  at /usr/bin/ar
amavis[1020]: Internal decoder for .zip
amavis[1020]: No decoder for       .7z   tried: 7zr, 7za, 7z
amavis[1020]: No decoder for       .rar  tried: unrar-free
amavis[1020]: No decoder for       .arj  tried: arj, unarj
amavis[1020]: No decoder for       .arc  tried: nomarch, arc
amavis[1020]: Found decoder for    .zoo  at /usr/bin/zoo
amavis[1020]: No decoder for       .lha
amavis[1020]: No decoder for       .doc  tried: ripole
amavis[1020]: No decoder for       .cab  tried: cabextract
amavis[1020]: No decoder for       .tnef
amavis[1020]: Internal decoder for .tnef
amavis[1020]: No decoder for       .exe  tried: unrar-free; arj, unarj
Diese kann man einfach nach installieren mit:

Code:
apt-get install binutils lzop rpm2cpio unrar-free arj unarj nomarch zoo cabextract p7zip
und anschließend service spamassassin restart
danach sollten alles Decoder geladen werden bis auf den .F
Für den Decoder .F konnte ich leider noch nichts finden.

Nginx #kommt noch

Fail2Ban #kommt noch

PDSA; FWSNORT und RKHUNTER:
.Inerp wird vermutlich in absehbarer Zeit eine NIDS ins Script einbauen. Solange das noch nicht realisiert wurde, könnt ihr PDSA und FWSNORT nutzen.
Die Installation und Config ist im großen und ganzen aus den alten [Only registered and activated users can see links. Click Here To Register...] von .interip. übernommen allerdings gibt es
FWSNORT nun in einer aktuelleren Version, welche die IP-Tables nicht mehr zerschießt :)

Mehr zu PDSA und FWSNORT findet ihr auf [Only registered and activated users can see links. Click Here To Register...]

Install und Config PDSA:
Code:
apt-get install psad -y
sed -i "19s/.*/EMAIL_ADDRESSES	          root@"${FQDN}";/" /etc/psad/psad.conf
sed -i "22s/.*/HOSTNAME		          "${HOSTNAME}";/" /etc/psad/psad.conf
sed -i '99s/.*/ENABLE_PERSISTENCE         N;"/' /etc/psad/psad.conf
sed -i '144s/.*/IPT_SYSLOG_FILE           \/var\/log\/arno-iptables-firewall;/' /etc/psad/psad.conf
sed -i '254s/.*/IMPORT_OLD_SCANS          Y;/' /etc/psad/psad.conf
sed -i '325s/.*/ENABLE_AUTO_IDS		  Y;/' /etc/psad/psad.conf
sed -i '329s/.*/AUTO_IDS_DANGER_LEVEL     4;/' /etc/psad/psad.conf
sed -i '336s/.*/ENABLE_AUTO_IDS_REGEX     Y;/' /etc/psad/psad.conf
#sed -i '348s/.*/ENABLE_AUTO_IDS_EMAILS   N;/' /etc/psad/psad.conf
sed -i '348s/.*/ENABLE_AUTO_IDS_EMAILS    Y;/' /etc/psad/psad.conf
sed -i '385s/.*/FLUSH_IPT_AT_INIT   	  N;/' /etc/psad/psad.conf
sed -i '392s/.*/TCPWRAPPERS_BLOCK_METHOD  Y;/' /etc/psad/psad.conf
sed -i '437s/.*/DISK_MAX_PERCENTAGE   	  80;/' /etc/psad/psad.conf
service psad restart
FWSNORT Install:
Code:
cd ~/sources
wget http://cipherdyne.org/fwsnort/download/fwsnort-1.6.5.tar.gz
tar -xzvf fwsnort-1.6.5.tar.gz
cd ~/sources/fwsnort-1.6.5.tar.gz
./install.pl

FWSNORT manuell Starten:

Code:
/usr/sbin/fwsnort  
/var/lib/fwsnort/fwsnort.sh

Autostart PDSA & FWSNORT:

Code:
cat > /etc/init.d/fwsnort <<END
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          fwsnort
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: 
# Description:       update-rc.d -f fwsnort defaults 
### END INIT INFO
/var/lib/fwsnort/fwsnort.sh
exit 0
END

chmod +x /etc/init.d/fwsnort && update-rc.d -f fwsnort defaults

cat > /etc/cron.d/psda <<END
# /etc/cron.d/psda: crontab fragment for psda

45 4 * * * root /usr/sbin/psad --sig-update	>/dev/null 2>&1
47 4 * * * root /usr/sbin/psad -H	>/dev/null 2>&1
10 5 * * 3 root /usr/sbin/fwsnort --update-rules >/dev/null 2>&1
15 5 * * 3 root /usr/sbin/fwsnort >/dev/null 2>&1
30 5 * * 3 root /var/lib/fwsnort/fwsnort.sh >/dev/null 2>&1

# EOF

END
RKHUNTER install und Config
Code:
cd ~/sources
wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
tar -xzvf rkhunter-1.4.2.tar.gz
cd ~/sources/rkhunter-1.4.2 
./installer.sh --install
./installer.sh --install  
rkhunter --versioncheck
rkhunter --update
rkhunter --propupd
rkhunter -c -sk
cd ~

cat > /etc/cron.d/rkhunter <<END
# /etc/cron.d/rkhunter: crontab fragment for rkhunter

10 3 * * * root /usr/local/bin/rkhunter --update >/dev/null 2>&1
10 10 * * * root /usr/local/bin/rkhunter -c -sk >/dev/null 2>&1

# EOF

END
Die E-Mail-Benachrichtigung konfiguriert ihr unter /etc/rkhunter.conf

Code:
MAIL-ON-WARNING=support@FQDN
Solltet ihr den ROOT-User für SSH zugelassen haben dann noch:

Code:
ALLOW_SSH_ROOT_USER=yes
Je nach Distribution müssen eventuell diverse files noch der white-list hinzugefügt werden

Code:
SCRIPTWHITELIST=

Webmin als Adminpanel #kommt noch