FAQ Übersicht

Android

LBE Privacy Guard friert Padfone 2 ein und lässt sich nicht deinstallieren

Hatte mir aus dem Google Play Store den LBE Privacy Guard installiert. Kurz nach dem start hängte sich mein Padfone2 auf und reagierte auf keine Eingabe mehr.

Ein Backup wollte ich nicht einspielen und suchte nach einer anderen Lösung.

Adb Treiber runterladen und installieren. Bei XDA Dev findet man ein kleines Installer Paket und muss nicht das ganze SDK installieren. Die Treiber werden unter c:/adb installiert.

Android im Abgesicherten Modus starten:

http://www.mobiflip.de/android-abgesicherter-modus/

Ausschaltknopf gedrückt halten bis das Menü erscheint.

Auf "Auschalten" drücken und gedrückt halten. Es erscheint ein Menü. Dies bestätigen.

 

Leider hatte ich das Problem, dass der Launcher "Übersicht" bei meinem Padfone2 nicht startet und sich immer wieder beendete.

Sollte das bei euch nicht so sein, kann man nun den Play Store starten und LBE deinstallieren. Danach startet man das Telefon einfach neu.

Bei mir habe ich das wie folgt gelöst:

Unter Windows 7: Startleiste -> cmd unter "Programme/Dateien durchsuchen" eingeben.

"cmd" mit der rechten Maustaste anklicken. Es öffnet sich eine Leiste. Dort wählt man "Als Administrator ausführen".

Nun in das ADB Verzeichniss wechseln: cd adb

Mit diesem Befehl ADB starten:

adb shell

Mit pm (Paket Manager)  die installierten Pakete anzeigen lassen:

pm list packages

Bei mir hieß der LBE Privacy Guard com.lbe.security.lite.

Um das Paket zu deinstallieren gibt man folgendes ein:

pm uninstall com.lbe.security.lite

Wenn da ganze erfolgreich war, erhällt man ein "Success".

Jipiii, so soll es sein :-)

Verfasser: Michael Stender
Letzte Änderung: 2014-06-30 15:26


Asus Padfone2 A68 Update auf Android 4.4.2 KitKat

Diese Anleitung bezieht sich ausschließlich auf die WWE Version. Welche Version man genau benötigt, wird in der Asus Update Anleitung genau beschrieben.

 

Nach 1,5 Jahren ist es nun doch soweit. Asus hat für das Padfone2 ein Update auf Android 4.4.2 KitKat durchgeführt.

Ich werde nun die einzelnen Schritte aufführen, wie man ein Nandroid Backup anlegt und das Update einspielt. Beim Nandroid Backup hat man den Vorteil, das wirklich alles gesichert wird. Es werden alle wichtigen Partitionen vom Padfone2 gesichert. Dies geschieht im normalen Betrieb des Padfone2 und man muss nicht erst das Telefon in den Recovery Modus fahren.

 

Als erstes legen wir ein Backup vom Padfone2 an. Ich nutze hierführ die App Online Nandroid Backup aus dem Google Play Store. Für diese App muss das Gerät gerootet sein. Ausserdem benötigt man Busybox.

Wie man das Padfone2 rootet, werde ich an dieser Stelle nicht extra erklären. Hier findet man eine genaue Anleitung.

Eine sehr gute Ergänzung zum Nandroid Backup ist die App Nandroid Manager.

Ausserdem sollte man sich die App TitaniumBackup installieren und ein Backup anlegen. In den Einstellungen sollte man unter Menü -> Einstellungen einen Haken beim ersten Punkt "Wiederherstellung der Titanium Backup-Benutzer einstellungen" setzen. Dadurch werden alle Einstellungen im internen Speicher abgelegt und man muss nach der Neuinstallation nicht alles erneut einstellen.

 

Nachdem die Backups angelegt wurde, sollte man auch noch den internen Speicher sichern.

Ich nutze die App Syncme. Mit dieser App kopiere ich den gesammten internen Speicher auf meinen PC.

Man kann hier allerdings auch z.B. den RootExplorer (kostenpflichtig) Explorer (kostenlos) oder den TotalCommander + Lan-Plugin nutzen. 

 

Ausus hat für das sichern eine eigene App entwickelt (ASUSPCToolSetup_A68_v1_0_0_6).

Die Anleitung für die App findet man hier.

ACHTUNG! Asus formatiert das komplette Telefon incl. der internen Speicherkarte! Legt man sich kein Backup an, sind alle Daten Fotos und Kontakte verloren!

 

Hat man das alles erledigt, lädt man sich die Update Datei (V11.8.4.6 Only for WWE SKU) von Asus. Diese .zip Datei muss man dann noch entpacken und auf den internen Speicher des Padfone2 kopieren. Das Padfone2 sollte dann in der Benachrichtigungsleiste anzeigen, dass ein Update verfügbar ist. Funktioniert das nicht, einfach das Padfone2 neu starten und warten.

Nachdem das Update installiert ist, startet man wieder das ASUSPCTool und spielt das Backup ein.

Nun kann man TitaniumBackup installieren und seine Apps wieder einspielen. Auf keinen Fall sollte man hier die komplette Sicherung einspielen (Stapelaktionen). Am besten legt man sich zuerst über OnlineNandroid ein Backup an. Danach kann man bedenkenlos seine Apps und Einstellungen über TitaniumBackup einspielen und falls es Probleme gibt das Backup wieder einspielen.

Verfasser: Michael Stender
Letzte Änderung: 2014-07-29 19:20


Asus Padfone 2 mit ADB sideload rom neu installieren.

Tja, was passiert, wenn man im Recovery Manager (ClockWorkMod Recovery) die Datenpartition, die Systempartition und die interne Datenpartition ausversehen löscht? Gar nichts mehr, denn das rom zip liegt ja auf der internen Datenpartition und das System auf dem Telefon ist ja auch gelöscht. Erstmal PANIK!

 

So schlimm ist das aber gar nicht. Im Recovery Manager gibt es eine option (sideload), mit der man die rom zip Datei vom PC auf das Android Gerät per ADB übertragen kann. Anschliessend installiert sich das rom selbst und alles ist wieder ok.

 

Hier nun die Beschreibung, wie das genau funktioniert:

Als erstes benötigt man in meinem Fall die Asus USB Treiber. Diese installiert man unter Windows.

Wenn man dann das USB Kabel vom Telefon an den PC anschließt, sollten sich die Treiber automatisch installieren. Im Windows Gerätemanager findet man dann unter "Asus Android Devices" den "Asus Android Composite ADB Interface" Treiber. Wenn man alles richtig gemacht hat, steht in den Eigenschaften "Das Gerät funktioniert einwandfrei."

Dann braucht man die adb.exe und die fastboot.exe. Man kann sich das komplete Android SDK von Google besorgen oder man nimmt ein Paket was im XDA Forum angeboten wird.

Das XDA Paket installiert sich unter c:\adb\ dort finden wir nun auch die adb und fastboot .exe.

Über Windows Start gibt man unter "Programme/Dateien durchsuchen" "cmd" ein.

Es wird dann eine "cmd.exe" angezeigt. Mit der Maus rechts klicken und "Als Administrator ausführen" anklicken.

Es öffnet sich nun ein Fenster. dort gibt man "cd c:\adb" ein und drückt ENTER.

Mit "dir" kan man sich den Inhalt des Ordners anzeigen lassen.

Dort finden wir nun die adb.exe und die fastboot.exe.

Die Asus Firmware für das Padfone2 (A68) kann man hier Downloaden.

Die Datei (WWE_PadFone2_user_11_8_3_3_UpdateLauncher.zip) ist 924 MB groß.

Diese .zip Datei muss jetzt entpackt werden. Nach dem entpacken muss man die

Datei WWE_A68-11.8.3.3-0-ota-user.zip in das adb Verzeichniss auf c:\adb\ kopieren.

Vorraussetzung für die folgenden schritte ist ein installierter Recovery Manager wir clockworkmod oder twrp. Ausserdem muss der Bootloader unlocked und das Padfone2 gerootet sein.

Wir schalten das Padfone2 durch langes drücken der Power Taste komplett aus.

Nun drückt man die Volume - (minus/leiser) Taste und halten diese gedrückt. Dann einmal kurz auf die Einschalttaste drücken.

Die Volume minus Taste loslassen, wen die Abfrage für den Recovery Modus erscheint.

Eine Zeile runter mit der  Volume minus Taste und mit der Power Taste bestätigen. Nun startet der Recovery Modus.

Im Recovery Modus wählt man folgendes:

"install .zip" :-> "install .zip from sideload"
Sideload started...
Now send the package you want to apply
to the device with "adb sideload <filename>"...

Nun haben wir alles zusammen. Weiter geht es mit diesem Befehl: 

adb sideload WWE_A68-11.8.3.3-0-ota-user.zip

 Danach installiert sich das Update automatisch. Nach dem reboot startete sich das Padfone 2 noch einige male automatisch. Einfach durchlaufen lassen.

 

Verfasser: Michael Stender
Letzte Änderung: 2016-03-21 09:31


Webserver

PHP Apache Webserver unsicher!

ACHTUNG!

Ändert unbedingt die einstellung in der php.ini wie folgt ab:
[code]allow_url_fopen = On[/code]
in
[code]allow_url_fopen = Off[/code]
andernfalls haben Hacker es sehr leicht in euer System einzudringen und die olle Kontrolle über euren Server zu bekommen.

Weitere Hinweise findet Ihr hier:
[url=http://www.rootforum.de/forum/viewtopic.php?t=19512]http://www.rootforum.de/forum/viewtopic.php?t=19512[/url]

Und hier:
[url=http://www.oreilly.de/catalog/progphpger/chapter/ch12.pdf]http://www.oreilly.de/catalog/progphpger/chapter/ch12.pdf[/url]

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:52


AWStats install Howto

mkdir /usr/src/install
cd /usr/src/install

wget http://awstats.sourceforge.net/files/awstats-6.2.tgz

tar -xvzf awstats-6.2.tgz

chown -R root.root awstats-6.2
mkdir /usr/share/awstats
cp -r awstats-6.2/wwwroot/cgi-bin/* /usr/share/awstats/
cp -r awstats-6.2/tools /usr/share/awstats/
mkdir /usr/lib/cgi-bin/awstats
mv /usr/share/awstats/awstats.pl /usr/lib/cgi-bin/awstats/
cp -r awstats-6.2/wwwroot/icon /usr/lib/cgi-bin/awstats/

mkdir /etc/awstats
cp /usr/share/awstats/awstats.model.conf /etc/awstats
mkdir /var/cache/awstats

mcedit /etc/awstats/awstats.model.conf:
DirData="/var/cache/awstats"
DirCgi="/cgi-bin/awstats"
DirIcons="/cgi-bin/awstats/icon"
LogFile="/var/log/apache/user1-1.tld.log"
SiteDomain="user1"
HostAliases="www.user1.tld"

# Für CustomLog /bla/bla.log combined (oder full):
LogFormat=1
# Für CustomLog /bla/bla.log common:
LogFormat=4

crontab -e
15 */6 * * * /usr/share/awstats/tools/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats/awstats.pl

Diese Anleitung stammt aus dem Debianhowto.de und wurde von mir auf die aktuellen Software Version aktualisiert.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:53


mod_evasive Howto

Debian Sarge 3.1

apt-get install apache2-threaded-dev

Mod_evasive downloaden:

/usr/local/src/mod_evasive entpacken

mod_evasive20.c öffnen

Zeile 45 umändern #define MAILER  "/bin/mail -t %s"

Apache2: /usr/sbin/apxs2 -cia mod_evasive20.c

Apache2-Prefork: /usr/sbin/apxs2-prefork -cia mod_evasive20.c

touch /etc/apache2/conf.d/mod_evasive.conf

Apache2: LoadModule evasive20_module     /usr/lib/apache2/mod_evasive20.so

Apache2-Prefork: LoadModule evasive20_module     /usr/lib/apache2-prefork/mod_evasive20

<IfModule mod_evasive20.c>
  DOSHashTableSize 3097
  DOSPageCount 5
  DOSSiteCount 100
  DOSPageInterval 2
  DOSSiteInterval 2
  DOSBlockingPeriod 600
  DOSEmailNotify deine@adresse.de
</IfModule>

rcapache2 stop

rcapache2 start

cd /usr/src/mod_evasive
perl test.pl

Verfasser: Michael Stender
Letzte Änderung: 2007-08-10 07:50


mod_cband

# http://mod-cband.com/documentation                                                                                               
<IfModule mod_cband.c>                                                                                                             
# limit speed of this vhost to 20Mbit/s, 5 request/s, 15 open connections                                                          
CBandSpeed 20Mbps 5 15                                                                                                             
                                                                                                                                   
# in addition every remote host connecting to this vhost                                                                           
# will be limited to 200kbit/s, 3 request/s, 2 open connections                                                                    
CBandRemoteSpeed 20Mbps 3 2                                                                                                        
                                                                                                                                   
# limit GoogleBot                                                                                                                  
#CBandClassRemoteSpeed googlebot_class 20kb/s 2 3                                                                                  
<CBandClass googlebot_class>                                                                                                       
CBandClassDst 66.249.64/24                                                                                                         
CBandClassDst 66.249.65/24                                                                                                         
CBandClassDst 66.249.79/24                                                                                                         
</CBandClass>                                                                                                                      
                                                                                                                                   
CBandClassRemoteSpeed googlebot_class 20kb/s 2 3                                                                                   
</IfModule>

Verfasser: Michael Stender
Letzte Änderung: 2008-12-21 08:34


No space left on Device, Apache startet nicht mehr

Leider kommt es immer wieder zu Problemen mit den Semaphores auf einem Apache Server.

/etc/sysctl.conf

kernel.msgmni = 1024                                                                                                               
kernel.sem = 250 256000 32 1024 

sysctl -p

Ausserdem habe ich noch ein kleines Script am laufen. Diese Script gibt den benutzten Speicher wieder frei.

Das ganze einfach per Cronjob regelmäßig ausführen.

#!/usr/bin/perl                                                                                                                    
                                                                                                                                   
                                                                                                                                   
 $tmp = ´/usr/bin/ipcs -s´;                                                                                                        
 @tmp = split(/\n/,$tmp);                                                                                                          
                                                                                                                                   
 foreach $tmp (@tmp) {                                                                                                             
         $semid = (split(/ /,$tmp))[1];                                                                                            
         $test = $semid;                                                                                                           
         $test =~ s/[^0-9]{1,}//g;                                                                                                 
         if (($test eq $semid) and $semid) {                                                                                       
                 print "$semid";                                                                                                   
                 $pmt = ´/usr/bin/ipcs -s -i $semid´;                                                                              
                 foreach $line (split(/\n/,$pmt)) {                                                                                
                         $enil = $line;                                                                                            
                         $enil =~ s/[\t ]{1,}/ /g;                                                                                 
                         }                                                                                                         
                 $pid = (split(/ /,$enil))[4];                                                                                     
                 if ($pid) {                                                                                                       
                         print " => \t $pid";                                                                                      
                         if (!-e "/proc/$pid") {                                                                                   
                                 print "\t can be deleted\n";                                                                      
                                 system("/usr/bin/ipcrm sem $semid");                                                              
                                 } else {                                                                                          
                                 print "\t used\n";                                                                                
                                 }                                                                                                 
                         }                                                                                                         
                 }                                                                                                                 
         }

Verfasser: Michael Stender
Letzte Änderung: 2008-03-24 21:27


eAccelerator installation

cd /usr/src

wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2

bunzip2 eaccelerator-0.9.5.22.tar.bz2tar xfv eaccelerator-0.9.5.2.tarcd eaccelerator-0.9.5.2apt-get install gcc automake libc6-devexport PHP_PREFIX="/usr"$PHP_PREFIX/bin/phpize./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-configmakemake install
mcedit /etc/php5/apache2/php.ini
[eAccelerator]extension="eaccelerator.so"eaccelerator.shm_size="32"eaccelerator.cache_dir="/tmp"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter=""eaccelerator.shm_max="0"eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"

Verfasser: Michael Stender
Letzte Änderung: 2008-04-25 21:15


mod_security auf Debian etch

Leider fehlt in Debian etch das Apache Modul mod_security. Hier eine kleine Anleitung, wie man das Modul per apt-get installieren kann.

Zuerst ändern wir unsere /etc/apt/sources.list wie folgt:

# Mod_Security2
deb http://etc.inittab.org/~agi/debian/libapache-mod-security2/etch ./

 Danach müssen wir den GPG Key installieren.

console: gpg --keyserver pgpkeys.mit.edu --recv-keys C514AF8E4BA401C3

console: gpg --export -a C514AF8E4BA401C3 | apt-key add - 

console: apt-get update

 Nun können wir das Modul installieren.

apt-get install libapache-mod-security mod-security-common

 Das Modul aktiviert sich bei der installation von selbst. Wenn nicht, führt man folgende Befehle aus:

a2enmod mod-security
/etc/init.d/apache2 force-reload

Nun muss man das Modul nur noch in die Apache2 config Datei einfügen.

Verfasser: Michael Stender
Letzte Änderung: 2010-12-07 05:54


FTP Server

Update ProFTPd auf Version 1.2.9

Da die vorinstallierte ProFTPd Version schon ziemlich alt ist, hier eine Anleitung zum Update.

Vorbereitungen:

/etc/proftpd.conf sichern
[code]
cp /etc/proftpd.conf /etc/proftpd.conf.bak
[/code]
rcinetd stop #xinetd Daemon
[code]wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
tar zxvf proftpd-1.2.9.tar.gz
cd proftpd-1.2.9

./configure \
--prefix=/usr \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--localstatedir=/var/run \
--disable-sendfile \
--with-modules=mod_ratio:mod_readme:mod_linuxprivs:mod_pam
make
make install
[/code]

Überprüfen ob die /etc/proftpd.conf überschrieben wurde und ggf. wiederherstellen.

rcinetd start


Jetzt sollte der FTPd wie gewohnt funktionieren. Falls in /var/log/messages nach einem Login PAM Warnungen auftreten, überprüft ob in euerer proftpd.conf folgendes enthalten ist:

# Enable PAM for authentication...
#
AuthPAM                         on

# This directive allows you to specify the PAM service name used

# in authentication (default is "proftpd" on SuSE Linux).

# You have to setup the service in the /etc/pam.d/<other_name>.

#
AuthPAMConfig                   proftpd

Das wars...

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:54


Installation von lufs (ftpmount Ersatz)

Voraussetzungen:

Zum kompilieren von lufs sind die Quellen des verwendeten Kernels erforderlich. Diese müssen sich in /usr/src/linux befinden. Download z.B. unter www.kernel.org.

Downloaden, entpacken und installieren von lufs:

# wget http://belnet.dl.sourceforge.net/sourceforge/lufs/lufs-0.8.3.tar.gz
# tar xzf lufs-0.8.3.tar.gz
# cd lufs-0.8.3
# ./configure --sysconfdir=/etc
# make
# make check
# make install

Falls man normalen Usern die Benutzung von lufs verbieten will ist noch --disable-suid hinzuzufügen!

Jetzt ist lufs schon fertig installiert. Infos zur Benutzung befinden sich in der Datei README. Hier ein kleines Beispiel zum mounten eines FTP Servers:

# mkdir /mnt/ftp
# lufsmount ftpfs://username:passwort@backup.pureserver.info /mnt/ftp --ftp_active

In diesem Beispiel würde der Server backup.pureserver.info nach /mnt/ftp gemountet werden. Als Login würde der Name "username" und das Passwort "passwort" verwendet werden.

Nach der Datenübertragung sollte man den Server mit
# umount /mnt/ftp
wieder unmounten. Hierbei darf man sich natürlich nicht unterhalb von /mnt/ftp befinden 


Wer möchte kann noch das nicht mehr benötigte ftpmount entfernen:

# rm /usr/local/bin/ftpmount
# rm -r /usr/src/ftpfs-0.6.2-k2.4

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:55


Wie kann ich Verzeichnisse auf einem Strato Backupserver incl. Unterverzeichnisse löschen?

Debian: apt-get install ncftp 

ncftp -u user -p passwort backup.serverkompetenz.de

rm -rf Verzeichnis

Verfasser: Michael Stender
Letzte Änderung: 2007-08-11 06:41


SuSE Kernel

Update des Linux Kernels auf Version 2.4.20 mit IPv6

Dieser Kernel sollte NUR auf den 1&1 RootServern L und XL eingesetzt werden (Kein SMP Support für XXL). Er beinhaltet alles was gebraucht wird und nichts was nicht gebraucht wird ;-). Außerdem unterstützt er IPv6. FTPFS ist leider nicht dabei so dass ftpmount nicht mehr verwendet werden kann. Als Ersatz bietet sich lufs (HowTo) an.

----------------------------------------------------------------------

Backup der wichtigsten Kernel Dateien anfertigen

Beim entpacken des Archivs werden folgende Dateien bzw. Verzeichnise erstellt und müssen deshalb gesichert oder umbenannt werden.

/boot/System.map-2.4.20
/boot/vmlinuz-2.4.20
/lib/modules/2.4.20
/etc/modules.conf

Außer der /etc/modules.conf sollte auf dem Server normalerweise keine der genannten Dateien vorhanden sein.


Weiter gehts mit dem

Downloaden und entpacken des Archivs

# wget http://217.160.92.19/~rootforum/kernel/2.4.20/kernel-2.4.20-ipv6.tar.gz
# tar xzf kernel-2.4.20-ipv6.tar.gz -C /
# ln -sf /boot/vmlinuz-2.4.20 /boot/vmlinuz
# ln -sf /boot/System.map-2.4.20 /boot/System.map

Kommen wir zum

Anpassen der /etc/lilo.conf

Unter


# End LILO global Section
#

 

Sollte als erstes folgendes stehen:


image = /boot/vmlinuz
root = /dev/hda3
label = linux

 


Alles klar? Dann speichern und einmal lilo auf der Shell eingeben.

Wenn du alles richtig gemacht hast kannst du den Server jetzt mit reboot neu starten. Nach einer guten Minute sollte er wieder auf Ping reagieren und auch all die anderen Dienste müssten gestartet sein. In Einzelfällen kann es auch mal länger dauern.

Bei Problemen bitte erst hier posten und auf keinen Fall neu starten!

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:56


Kernel Update SuSE 8.2

Vorgehen
Installieren Sie bitte den offiziellen Update Kernel. Sie finden ihn auf unserem FTP Server im Update Verzeichnis für SuSE Linux 8.1. Zum Beispiel auf ftp.gwdg.de.

http://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/update/8.2/rpm/i586/k_deflt-2.4.20-101.i586.rpm

Welchen Kernel Sie im Moment benutzen, zeigt Ihnen der Befehl

rpm -qa | grep "^k_"
Dies sollte auf einem Single Prozessor Pentium System zum Beispiel folgendes ausgeben:

erde:~ # rpm -qa | grep "^k_"
k_deflt-2.4.19-155
Laden Sie sich den entsprechenden Kernel herunter und installieren Sie ihn mittels des Befehls

rpm -Uhv
In unserem Beispiel wäre dies

rpm -Uhv k_deflt-2.4.20-101.i586.rpm
Das RPM Paket ersetzt dann Ihren im Moment installierten Kernel mit dem Update Kernel und führt das Script mkinitrd für die INITRD (Initial Ramdisk) aus. Wenn Sie LILO als Bootloader verwenden (und nur dann!) müssen Sie LILO einmal neu auf das von Ihnen während der Installation ausgewählte Bootmedium schreiben. Führen Sie hierzu als root den Befehl

lilo -v

aus. Als Standard Bootloader wird bei SuSE Linux 8.1 GRUB benutzt. GRUB müssen Sie nicht noch einmal schreiben.

Sollten Sie schon während der Installation von SuSE Probleme mit dem Kernel haben, haben wir für Sie im Update Zweig auf unserem FTP Server auch neue Bootmedien bereitgestellt. Sie finden diese im Verzeichnis disks/

 

 

Linux und spezielle Distributionen: Rootserver Kernel mit IPv6 unterstützung neu compilen 
Dieses Howto ist veraltet und fehlerhaft. Benutzt stattdessen die vorkompilierten Kernel. Infos gibt es in dieser FAQ sowie im Forum.


0. Vorwort

Das HowTo baut auf das "IPv6 unter Linux" Tutorial von Ipv6-net.de auf
und ist speziell auf den Rootserver ausgerichtet. Ein bisschen Zeit sollte schon
vorhanden sein , da das compilen evtl. etwas länger dauert.
Alle beschriebenen Aktion sind als Root auszuführen.


1. Kernel compilen

Als erstes saugt man sich den letzten stabilen Kernel von
ftp.de.kernel.org ... in unserem Fall ist das die Version
2.4.18.

-> wget ftp://ftp.de.kernel.org/pub/mirror/ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.gz

Als nächstes muß der SourceCode entpackt werden:

-> tar -xvzf linux-2.4.18.tar.gz

jetzt verschieben wir den SourceCode nach /usr/src und setzen einen link nach /usr/src/linux

-> mv linux /usr/src/linux-2.2.18-ipv6
-> ln -s linux-2.2.18-ipv6 linux

Kernel Menuconfig wird gestartet

-> cd /usr/src/linux-2.2.18-ipv6
-> make menuconfig


Nun muessen folgende Schritte befolgt werden:

im Menü "Code maturity level options" die Option "Prompt for development and/or incomplete code/drivers" auswählen!

ins Hauptmenü zurück kehren und ins Menü "Networking Options" wechseln.


folgende Menüpunkte auswählen (mit einem sternchen):

[*] IP: tunneling
<*> The IPv6 protocol (EXPERIMENTAL)


jetzt wechseln wir wieder zurück ins Hauptmenü, von da aus wechseln wir ins Menü "Network device support" und von dort aus
ins "Menü Ethernet (10 or 100Mbit)"

folgende Menüpunkte auswählen (mit einem sternchen):

[*] EISA, VLB, PCI and on board controllers
<*> EtherExpressPro/100 support
<*> RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)
<*> RealTek RTL-8139 PCI Fast Ethernet Adapter support


Jetzt wieder ins Hauptmenü wechseln , und mit Exit das Menü beenden.
Die Frage "Do you wish to save your new kernel configuration?" mit YES beantworten.


Als nächstes folgende Befehle nacheinander ausführen:

-> make dep
-> make bzImage kann zwischen 15 Minuten und ein paar Stunden dauern ;)
-> make modules
-> make modules_install

Jetzt ist der neue Kernel fertig compiled und muß nurnoch in den boot ordner kopiert werden, dies geschieht mit:

-> cp /usr/src/kernel-2.4.18-ipv6/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-ipv6


jetzt muß nurnoch Lilo dem Bootmanager beigebracht werden , dass es den neuen Kernel booten soll.
Man öffnet die datei /etc/lilo.conf und fügt folgende Zeilen hinzu:

WICHTIG: diese Zeilen müssen ÜBER den anderen image eintragen eingefügt werden


image = /boot/vmlinuz-2.4.18-ipv6
root = /dev/hda3
label = ipv6linux

die Datei /etc/lilo.conf speichern, den Editor beenden und lilo mit folgendem Befehl neu initialisieren:

-> lilo

jetzt wird der Rechner rebooted:

-> reboot

Nach spätestens 3 Minuten sollte der Server wieder erreichbar sein , und fertig für IPv6 konfiguriert sein.


- - - - - - - - - - - -

Howto written by Adi

www.v6-hosting.de

- - - - - - - - - - - -

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:57


Server startet nach YaST-Online-Update nicht mehr

Falls der Server nach einem YaST-Online-Update nicht mehr startet, liegt das meist daran, daß bei dem Update auch der Default-Kernel (Paket k_dflt) von SuSE installiert wurde.
Dieser Kernel stellt aber nicht die nötigen Treiber für die Netzwerkarte (Via-Rhine) zur Verfügung, so daß der Bootvorgang beim initialisieren der Netzwerkkarte abbricht.
Abhilfe kann man durch einspielen des speziellen 1&1 Kernels schaffen:

Hierzu muss man ins Rescue-Sytem booten!
[code]
fsck.ext3 /dev/hda3
fsck.ext3 /dev/hda1
mkdir /mnt/hdd
mount /dev/hda3 /mnt/hdd
mount /dev/hda1 /mnt/hdd/boot
chroot /mnt/hdd /usr/bin/env -i HOME=/root TERM=$TERM /bin/bash --login
cd /boot
rm -f c* i* v* S*
rm -rf /lib/modules/2.4.*
wget http://update.rootmaster.info/local-updates/kernel-2.4.20.tar.gz
tar xzf kernel-2.4.20.tar.gz -C /
ln -sf vmlinuz-2.4.20 vmlinuz
rm -f kernel-2.4.20.tar.gz

( man sollte noch grub starten - danach wieder direkt über quit beenden )
grub
quit

exit
umount /dev/hda1
umount /dev/hda3
reboot
[/code]

Es gibt auch ein patch, von 1und1, welches den Fehler behebt.
Im Recover modus booten und die LW unmounten, danach:
wget superfrank.org/kernelfix.sh
chmod +x kernelfix.sh
./kernelfix.sh

lw evtl. wieder unmounten und im normal modus booten.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:58


Tools

Midnight Commander

Wenn man so an der Konsole arbeitet wünscht man sich ein Tool welches es einem ermöglicht schneller durch die Verzeichnisse zu navigieren, mal eben einen ganzen Ordner zu verschieben oder Zugriffsrechte für 20 Dateinen auf einmal zu setzen. Dies alles und noch viel mehr leistet der Midnight Commander. Jeder der noch aus DOS Zeiten den Norton Commander kennt wird mit dem Midnight Commander auf Anhieb zurecht kommen. Das Aussehen und die meisten Tastenabkürzungen sind identisch.

Leider ist dieser beim Rootserver nicht vorinstalliert. Um dies nun zu ändern installiert man den Midnight Commander am einfachsten aus den Sourcen:

Dazu gibt man an der Konsole folgendes ein:

wget http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-4.6.0.tar.gz

tar -zxf mc-4.6.0.tar.gz

cd mc-4.6.0

./configure

make

make install


Nun kann man den Midnight Commander mit dem Befehl mc starten.

Eine weitere Möglichkeit den MC zu installieren bietet Yast an. Dazu einfach Yast starten und das Paket MC---xxxx suchen. Bei mir benötigte das RPM jedoch noch die SMBCLNT-xxx.rpm aus dem Paket "n1".

Daher empfehle ich die Installation aus den Sourcen, da es sich auch um eine aktuellere Version handelt.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:59


Mit logwatch Systemlogdateien überwachen

Mit Logwatch kann man schnell große Logdateien durchsuchen. Ausserdem kann man sich die Reporte einfach per Mail zusenden lassen.

Unter Debin installiert man das ganze über apt-get install logwatch.

Mit logwatch --help bekommt man eine kleine Übersicht der Möglichkeiten.

logwatch --print --service qmail --range today --detail 1 gibt eine kurze Übersicht aus.

logwatch --logdir /var/log --mailto admin@meinedomain.de --service qmail --range Yesterday --detail 1

Weitere Infos unter http://www.logwatch.org

Verfasser: Michael Stender
Letzte Änderung: 2007-09-21 02:38


Confixx

Confixx Email Weiterleitung auf System User

Im User Menü von Confixx ist es nicht möglich, eine Weiterleitung auf einen lokalen Systemuser (oder einem User, der nicht zu dem aktuellen Kunden gehört) oder eine Weiterleitung auf eine Weiterleitung einzurichten. Dies ist aber manchmal sinnvoll.

Ein Workarround ist die Eingabe der Daten direkt in die mySQL Datenbank. Am einfachsten mit phpMyAdmin.

Hierzu einfach die Confixx DB in phpMyAdmin auswählen und in dem Feld SQL-Befehl(e) ausführen in Datenbank confixx den SQL Befehl
[code]
INSERT INTO email VALUES (´´, ´local_part´, ´web1´, ´user1´, ´example.net´,
´res1´, 0, ´´, 0);
[/code]
eingeben.

In diesem Beispiel ist

- local_part der Name (lokale Part) der einzutragenden Email Adresse
- web1 der Kunde, dem die Email Adresse zugeordnet werden soll
- user1 der lokale (System) User
- example.net der Domainteil der Email Adresse
- res1 der Reseller, dem der Kunde web1 zugeordnet ist

Mit anderen Worten: Dadurch wird die Email Adresse local_part@example.net für den lokalen User user1 angelegt.

Um die Weiterleitung zu aktivieren, einfach im Confixx User Menü eine weitere Weiterleitung anlegen. Die kann auch sofort danach wieder gelöscht werden. Hierdurch wird lediglich der Eintrag aus der DB in die entsprechenden Confixx und System Tabellen übernommen (aktiviert). Eine Lösung, wie das mit den Confixx Scripts funktioniert, hab ich noch nicht gefunden.
 

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:00


Zeilenumbruch in Mails an Anbieter/Kunden

Zeilenumbruch in Mails an Anbieter/Kunden

/srv/www/htdocs/confixx/html/reseller/kunden_sendmail.php:

[php]$emailtext = str_replace("\\"", """, $emailtext);[/php]
folgende Zeile einfügen:
[php]$emailtext = str_replace("\r\n", "\n", $emailtext);[/php]

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:01


Confixx User Interface unter https://confixx.meinedomain.de einrichten.

Einfach folgen Code in die httpd.conf einfügen.
ACHTUNG!
[b][color=red]Bitte nicht vergessen den Code anzupassen![/color][/b]

[size=11][code]## CONFIXX
<Directory "/srv/www/htdocs/confixx/html">
 AllowOverride all
</Directory>
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName confixx.meinedomain.de
#User confixx
#Group users
RedirectPermanent / https://confixx.meinedomain.de/
DocumentRoot /srv/www/htdocs/confixx/html
php_admin_value safe_mode_exec_dir /srv/www/htdocs/confixx/bin
php_admin_value upload_tmp_dir /srv/www/htdocs/confixx/tmp
ScriptAlias /cgi-bin/ /srv/www/htdocs/confixx/html/cgi-bin/
CustomLog /var/log/httpd/confixx.meinedomain.de_access.log "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
ErrorLog /var/log/httpd/confixx.meinedomain.de_error.log
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@meinedomain.de"
</VirtualHost>
[/code][/size]
Dies ist der SSL Eintrag. SSL Zertifikate nicht vergessen zu erstellen. Anleitungen findet man ebefalls hier in den FAQ´s.

[size=11][code]
NameVirtualHost xxx.xxx.xxx.xxx:443
## SSL CONFIXX
<Directory "/srv/www/htdocs/confixx/html">
 AllowOverride all
</Directory>
<VirtualHost xxx.xxx.xxx.xxx:443>
ServerName confixx.meinedomain.de
ServerAlias confixx.*
#User confixx
#Group users
DocumentRoot /srv/www/htdocs/confixx/html
php_admin_value safe_mode_exec_dir /srv/www/htdocs/confixx/bin
php_admin_value upload_tmp_dir /srv/www/htdocs/confixx/tmp
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@meinedomain.de"
ScriptAlias /cgi-bin/ /srv/www/htdocs/confixx/html/cgi-bin/
CustomLog /var/log/httpd/ssl_confixx.meinedomain.de_access.log "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
ErrorLog /var/log/httpd/ssl_confixx.meinedomain.de_error.log
SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/confixx.meinedomain.de.pem
SSLCertificateFile /etc/ssl/certs/confixx.meinedomain.de.pem
SetEnvIf User-Agent ".*MSIE.*" \
           nokeepalive ssl-unclean-shutdown \
           downgrade-1.0 force-response-1.0
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
</VirtualHost>[/code][/size]

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:02


Majordomo Confixx installation

Diese Anleitung stammt von Confixx und wurde von mir angepasst.

[b][size=18][color=red]Ich übernehme keine Haftung für eventuelle Schäden oder Ausfälle.[/color][/size][/b]

[b][size=18][color=red]Alles auf eigenes Risiko!!![/color][/size][/b]

INSTALLATION GUIDE FOR SUSE!!

Achtet auf die jeweiligen Pfade euerer Distris!!!
Ausserdem müssen die erforderlichen SuSE Pakete installiert sein.

RECOMMENDED CONFIGURATION

1) MySQL 3.xx (database server)

2) Postfix (mail transfer agent)

3) Qpopper (POP3 daemon)

4) Vsftpd (FTP server)


INSTALLATION

STEP 1.
 INSTALLING 3RD PARTY PRODUCTS FROM THE SUSE DISTRIBUTION

Below is the list of SuSE packages to be installed if you chose recommended
configuration.

 apache
 apache-mod_php4
 apache-mod_python
 mysql
 mysql-shared
 mysql-client
 mod_php4-core
 perl                               
 perl-DBI
 perl-Msql-Mysql-modules
 vsftpd                             
 postfix                            
 qpopper                          
 bind                              
 bind-utils                              
 webalizer                         
 procmail                         
 gcc                                
  libc6-dev                          
 make           
 perl-spamassassin (SuSE 9)
 spamassassin (SuSE 9)
                    

NOTE: Make sure that the FTP server works properly: try to login after
installation on choosed FTP server (vsftp).

Some of the packages may be reported as already installed. It is not an
error - it only means that you do not need to install the package.

STEP 2.
 CONFIGURING APACHE
 
Confixx requires Apache module mod_rewrite. Check file
/etc/apache2/sysconfig.d/loadmodule.conf - if the module is loaded or
not. There should be the following line:
    LoadModule rewrite_module                 /usr/lib/apache2-prefork/mod_rewrite.so

If the line does not present in loadmodule.conf file, then you should open
file /etc/sysconfig/apache2, find there APACHE_MODULES variable and
change it adding "rewrite" word in the list assigned, e.g. (pay attention
to the end of the string):

APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env
expires include log_config mime negotiation setenvif ssl suexec userdir
php4 rewrite"

Then you should restart Apache:

/etc/init.d/apache2 restart

STEP 3.
 CONFIGURE MYSQL

Login to mysql console and execute the following commands:

#~: mysql -p (as user  root )
Enter password: <enter without password>

mysql> use mysql;
mysql> delete from user where User =  '' ;
mysql> delete from db where User =   ''
mysql> update user set Password = Password('some_passwd') where User =
'root'
mysql> flush privileges;
mysql> exit;

 It will create a password for the mysql 'root' user.


STEP 4.
 INSTALL AND CONFIGURE SPAMASSASSIN

 The SpamAssassin software gives an ability to filter SPAM in
your customers Mailboxes when receiving mail there.

Skip the step if you do not need SpamAssassin support in Confixx.
You can also skip the step for SuSE9 box, if you alredy installed
SpamAssassin package from SuSE distribution.

The latest software version can be found on
  http://spamassassin.org
The latest (at the moment of publishing) zipped version can
downloaded via
the following URL:
  http://au2.spamassassin.org/released/Mail-SpamAssassin-2.61.tar.gz

Unpack the ditribution
#~: tar -xzf Mail-SpamAssassin-2.60.tar.gz
#~: cd Mail-SpamAssassin-2.60

Build it
#~: perl Makefile.PL
#~: make
#~: make install

http://download1.sw-soft.com/Confixx/ConfixxPro3/Docs/files.tgz
You need to extract the files
 /etc/init.d/spamassassin
 /etc/procmailrc
 /etc/default/spamassassin
from the files.tgz archive and place them at the locations specified
(packed from / - directory).

Then edit  /etc/postfix/main.cf file to set the following option:
mailbox_command = /usr/bin/procmail

then launch
#~: update-rc.d spamassassin defaults

Make sure that file  /etc/mail/spamassassin/local.cf exists
and create it if no:
#~: touch  /etc/mail/spamassassin/local.cf

Now SpamAssassin is configured.

STEP 5.
 INSTALL AND CONFIGURE MAJORDOMO

Majordomo is a program which automates the management of
Internet mailing lists. Having this program installed you can
offer your customers an ability to create and manage mailing
lists via Confixx web interface.

Skip the step if you do not need Majordomo support in Confixx.

The latest version of the product can be found on
  http://www.greatcircle.com/majordomo/
The latest (at the moment of publishing)  gzipped version can
downloaded via the following URL:
[code]mkdir /usr/local/src/
cd /usr/local/src/
wget http://www.greatcircle.com/majordomo/1.94.5/majordomo-1.94.5.tar.gz[/code]

Unpack the software
[code]tar xzf majordomo-1.94.5.tar.gz[/code]
[code]cd majordomo-1.94.5[/code]

Create majordomo user and group:
[code]groupadd majordomo[/code]
[code]useradd majordomo -g majordomo[/code]
[code]cat /etc/passwd | grep majordomo[/code]

Merke dir die User id und Gruppe.
Diese Daten trägst du in dann gleich im Makefile ein (W_USER und W_GROUP).
[code]mkdir /usr/local/majordomo[/code]

Create temporary dir for majordomo:
[code]mkdir /usr/tmp[/code]
[code]chown majordomo:majordomo /usr/tmp[/code]

Jetzt das Makefile abändern:
[code]groupadd majordomo[/code]
Change the line with PERL variable definition to
  PERL = /usr/bin/perl
Change the line with W_HOME variable definition to
  W_HOME = /usr/local/majordomo
Change the lines with W_USER and W_GROUP variables definition to
(below are sample value use the UID and GID remembered above):
  W_USER = 1000
  W_GROUP = 104

Edit the configuration file
[code]cp sample.cf majordomo.cf[/code]
[code]mcedit majordomo.cf[/code]

Set $whereami variable to your host name and that is enough
 $whereami = "your-host.com";

Install the majordomo:
[code]make wrapper
make install
make install-wrapper[/code]

Check the installation:
[code]cd /usr/local/majordomo; ./wrapper config-test[/code]

You should see something like:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

----------------------- end of tests -----------------------


Nothing bad found!  Majordomo _should_ work correctly.

If it doesn't, check your configuration file
        (/usr/local/majordomo/majordomo.cf)
closely, and if it still looks okay, consider asking the majordomo-users
mailing list at "majordomo-users@greatcircle.com" for assistance.  Be sure
and fully specify what your problems are, and what type of machine (and
operating system) you are using.

Enjoy!

I see you haven't registered this version of Majordomo.
By registering, you will be notified of patches and further releases
of Majordomo.  Shall I send email to majordomo-registration@greatcircle.com
to register this version?  (I'll cc Majordomo-Owner@deb3.victory.plesk.ru)
[yes] no
Ooooh, like to live dangerously, eh?!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

You have the majordomo installed. The further configuration will be performed
by Confixx software.


STEP 6.
 INSTALL AND CONFIGURE MAJORCOOL

MajorCool is an administrative front-end to the popular mailing
list manager (Majordomo), allowing list-owners to manage their
list configuration and subscriber base. If you install
MajorCool, the user interface will show a link to MajorCool.

Skip the step if you do not need Majordomo support in Confixx.

The latest software version can be found on
  http://www.conveyanced.com/MajorCool/
The latest (at the moment of publishing)  zipped version can
downloaded via the following URL:
[code]mkdir /usr/local/src/
cd /usr/local/src/
wget http://www.conveyanced.com/MajorCool/majorcool.tar.gz[/code]

Unpack the distribution:
[code]mkdir majorcool
tar xzf majorcool.tar.gz -C majorcool
cd majorcool[/code]

Fix the Configure script
[code]mcedit Configure[/code]
change the PERLBIN variable to be set properly:
PERLBIN="/usr/bin/perl"         # How to start a perl script

[code]mkdir /var/www/cgi-bin
mkdir /var/www/images[/code]

Now run the configure script and be ready for lots of questions
[code]./Configure[/code]

The most important questions are:
What is the installation directory of Majordomo?
/usr/local/majordomo

Nun kommt es darauf an welches Betriebsystem Ihr einsetzt.
$ What is the root directory for your Web server?
$ [/etc/httpd/]
SuSE:
/etc/httpd

Debian:
/etc/apache

$ Where is the cgi-bin directory for your Web server?
$ [/var/www/cgi-bin]
SuSE:
/srv/www/cgi-bin oder /home/www/cgi-bin

Debian:
/var/www

$ What is your server's URL for '/var/www/cgi-bin'?
$ [/cgi-bin]:<Enter>

To answer the next questions properly you need to
1) open Apache configuration file (typically /etc/apache/httpd.conf or /etc/httpd/conf/httpd.conf)
2) find there a line starting with
 Alias /icons/
Usually it looks like
 Alias /icons/ /usr/share/apache/icons/
So the 2nd argument in line (/usr/share/apache/icons/) is the images directory
and the 1st one (/icons/) is the server's URL for it.

$ Where is the image directory for your Web server?
$
/srv/www/icons

$ Will place the icons in /srv/www/icons

$ What is your server's URL for '/srv/www/icons'?
$ [/icons]:
/icons


$ Where is the root directory for documents on your Web server?
$ [/var/www/]:
SuSE:
/srv/www/htdocs oder /home/www

Debian:
/var/www

It is highly recommended to answer "No" to the following questions unless you
plan to supply your customers with list create/rename/delete abilities outside
of Confixx Control Panel. It is possible to turn the features below off after
the installation is complete.

$ Provide list CREATE access [Y]? N
$ Provide list RENAME access [Y]? N
$ Provide list DELETE access [Y]? N


STEP 7.
 INSTALL IDNKIT

 IDN (International Domain Names) - the technology allows create
and use domains having national characters in their names.
Server side of IDN support is performed by IDNKit software.

Skip the step if you do not need IDN support in Confixx.

The latest software version can be found on
  http://www.nic.ad.jp/en/idn/
The latest (at the moment of publishing)  zipped version can
downloaded via the following URL:
 http://www.nic.ad.jp/ja/idn/idnkit/download/sources/idnkit-1.0-src.tar.gz

#~: tar xzf idnkit-1.0-src.tar.gz
#~: cd idnkit-1.0-src
#~: ./configure
#~: make
#~: make install


STEP 8.
 INSTALLING COLDFUSION

Having this product installed you can offer your customers an
ability of using CFML (ColdFusion Markup Language) on their web
sites.

Unlike most of  the other described packages, Coldfusion server
is not shareware or open sourced. Trial version could be
downloaded from http://macromedia.com (about 100Mb).

Launch the downloaded binary and follow the instructions.

STEP 10.
      INSTALLING XML::DOM PACKAGE

Download XML::DOM package from cpan.org:
http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/XML-DOM-1.43.tar.gz

:~# tar -xzf XML-DOM-1.43.tar.gz
:~# cd XML-DOM-1.43
:~# perl ./Makefile.PL
:~# make
:~# make install

You may require some another perl packages depending on your OS installation.

STEP 11.
 CONFIGURE AND INSTALL CONFIXX

Unpack the distribution
#~: tar xzf confixx_install_Pro_3.0.0_mysql.tgz
#~: cd confixx-install

Launch the configure script and answer its questions accordingly to
configuration of your system
#~: ./configure.pl

The sample configure session log (with answers) could be found in
configure_session.log file.

Now you can launch the installation script:
#~: ./install.pl

The installation script may ask you for some paths - you are to give him
a correct answer.

NOTE 1: spamassassin daemon start/stop script is "/etc/init.d/spamd" if you have
installed spamassassin from SuSe 9 distribution.

NOTE 2: 'httpd' is a link to 'httpd-prefork' binary on the SuSE 9, so you
should answer '/usr/sbin/httpd-prefork' when being asked about apache binary.

STEP 12
 FINISHING THE INSTALLATION

Register the script in crontab.
#~: echo "*/1 * * * *   /root/confixx/confixx_counterscript.pl" >> tmp.cron
#~: crontab -u root tmp.cron

Restart the apache
/etc/init.d/apache stop
/etc/init.d/apache star

Launch the counterscript manually
#~: /root/confixx/confixx_counterscript.pl

STEP 11.
 ACCESSING CONFIXX WEB INTERFACE

 Enter the confixx web interface by accessing the url like:
 http://<confixx-vhost>/admin


STEP 13
 REGISTERING YOUR CONFIXX INSTALLATION

Enter the registraion interface by accessing the url like:
http://<confixx-vhost>/reg
or by entering the "Licensing information" menu item in admin interface.

Enter the "Unlock license" menu item there and click "Next".
You need to specify your serial number and activation key there and click
next. The registration routines will be done automatically.

 

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:03


Confixx SPAMASSASSIN installation

STEP 1.
 INSTALLING 3RD PARTY PRODUCTS FROM THE SUSE DISTRIBUTION

Below is the list of SuSE packages to be installed if you chose recommended
configuration.

 apache
 apache-mod_php4
 apache-mod_python
 mysql
 mysql-shared
 mysql-client
 mod_php4-core
 perl                               
 perl-DBI
 perl-Msql-Mysql-modules
 vsftpd                             
 postfix                            
 qpopper                          
 bind                              
 bind-utils                              
 webalizer                         
 procmail                         
 gcc                                
  libc6-dev                          
 make           
 perl-spamassassin (SuSE 9)
 spamassassin (SuSE 9)

The SpamAssassin software gives an ability to filter SPAM in your customers Mailboxes when receiving mail there.

Skip the step if you do not need SpamAssassin support in Confixx.
You can also skip the step for SuSE9 box, if you alredy installed
SpamAssassin package from SuSE distribution.

The latest software version can be found on http://spamassassin.org
The latest (at the moment of publishing) zipped version can downloaded via
the following URL:
http://au2.spamassassin.org/released/Mail-SpamAssassin-2.61.tar.gz

Unpack the ditribution
#~: tar -xzf Mail-SpamAssassin-2.60.tar.gz
#~: cd Mail-SpamAssassin-2.60

Build it
#~: perl Makefile.PL
#~: make
#~: make install

You need to extract the files
/etc/init.d/spamassassin
/etc/procmailrc
/etc/default/spamassassin
from the files.tgz archive and place them at the locations specified (packed from / - directory).

Then edit  /etc/postfix/main.cf file to set the following option:
mailbox_command = /usr/bin/procmail

then launch
#~: update-rc.d spamassassin defaults

Make sure that file  /etc/mail/spamassassin/local.cf exists
and create it if no:
#~: touch  /etc/mail/spamassassin/local.cf

Now SpamAssassin is configured.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:04


Confixx 3.0.4 Frontpage Update

Diese Anleitung basiert auf einer SuSe 8.2 Distri.

Nachdem wir bei uns das Confixx 3.0.4 Update eigespielt haben, funktioniert Frontpage 5.0 nicht mehr.

Diese Anleitung wurde mit den Usern/Mitarbeitern aus dem Confixx Forum erarbeitet und von mir nochmals überarbeitet.
http://www.confixx-forum.de/forum/showthread.php?s=&threadid=5243

[color=red]WICHTIG! Sichert euere Dateien!!![/color]

Als erstes besorgt man sich die erforderlichen Dateien:

wget http://download1.sw-soft.com/Confixx/addons/rpms/suse82/confixx-suexec-1.0.7-suse.82.i386.rpm
wget http://download1.sw-soft.com/Confixx/addons/docs/de/confixx-suexec-release_notes.txt
wget http://download1.sw-soft.com/Confixx/addons/rpms/suse82/frontpage-apache-5.0-suse.82.i386.rpm
wget http://download1.sw-soft.com/Confixx/addons/docs/de/frontpage-release_notes.txt
wget http://download1.sw-soft.com/Confixx/addons/confixx-frontpage5-update.tar.gz
wget http://download1.sw-soft.com/Confixx/addons/docs/de/frontpage_upgrade.txt

Und los gehts....

Alle Pakete nach den Anleitungen installieren.

Vor dem einspielen des Updates
confixx-frontpage5-update.tar.gz, solltet Ihr unbedingt das ensprechende Frontpage Verzeichniss löschen (/usr/local/frontpage oder /usr/lib/frontpage).

Wenn bereits Kunden mit FP Web vorhanden sind, solltet Ihr euch die Dateien in diesem Verzeichniss auf jeden Fall vorher sichern und VOR dem Update wieder einspielen.  Ausserdem müsst Ihr nach dem Update darauf achten, was in der /tmp/fp_5.0_upgrade.log steht.

Sollten die Webs nicht aktualiesiert worden sein, hilft ein deaktivieren der FP Erweiterungen über die /root/confixx/admin/admin.pl. Nach dem deaktivieren wieder aktivieren. Nicht vergessen den Resellern das FP Feature über die Confixx Oberfläche als Admin wieder freizuschalten.

Dann die Entsprechenden Frontpage User im Confixx Reseller Interface deaktivieren und wieder aktivieren. Ich empfehle die _vti Verzeichnisse in den Userwebs zu löschen.

Nachdem ihr alle Pakete eingespielt habt, geht es hiermit weiter:

1. Erstellen Sie eine Gruppe mit einer hohen gid (z. B. cfxsrv)
2. Erstellen Sie einen Benutzer mit dieser gid (z. B. cfxsrv )
3. Bearbeiten Sie /etc/group und fügen Sie den Benutzer www dieser Gruppe hinzu
4. Setzen Sie $apacheUser auf "cfxsrv" , $apacheGroup auf "cfxsrv" , $gidapache
auf die der Gruppe "cfxsrv" in confixx_main.conf
Die /etc/passwd und /etc/group sollten jetzt so aussehen:
[code]/etc/passwd:
cfxsrv:x:64533:65534::/home/cfxsrv:/bin/bash
[/code]
Der User nogroup hat bei uns die uid 64534
[code]/etc/group
cfxsrv:x:64533:www[/code]
5. Führen Sie das Upgrade durch.
[code]/root/confixx/admin/updates/update_3.x.pl[/code]

Die Benutzer können die Änderungen auf einfache Weise rückgängig machen:
1. Setzen Sie $apacheUser, $apacheGroup, $gidapache auf ihre Ursprungswerte
2. Führen Sie das Upgrade durch.

In der /etc/httpd/httpd.conf überprüfen, ob der Apache unter der richtigen User/Gruppe ausgeführt wird, andernfalls muss das geändert werden:

User wwwrun
Group cfxsrv
[code]/etc/init.d/apache restart[/code]
Falls es immer noch nicht funktioniert, probiert das mal:

[code]cd /usr/local/frontpage/version5.0/
chown -R root.root apache-fp
chmod -R 711 apache-fp
chmod u+s apache-fp/_vti_bin/fpexe

vi apache-fp/suidkey
S0:00-bashUSER=rootLOGNAME=rootHOME=/rootPATH=
/usr/bin:/bin:/usr/sbin:/sbinMAIL=
/var/mail/rootSHELL=/bin/bashSSH_CLIENT=213.6.
92
:wq
chmod 600 suidkey[/code]
Hier müsst Ihr darauf achten, das vi S0:00-bashUSER=...eine Zeile ist, ich kann das hier leider nicht anders formatieren.

So, nun sollte es laufen. Bitte Antwortet hier oder im Confixx Forum, ob die Anleitung bei euch funktioniert.

Nachtrag:
Nachdem ein neuer User auf dem Server angelegt wurde, muss jeweils einmal das frontpage_update.pl ausgeführt werden.

Cron:
@daily /root/confixx/admin/updates/frontpage_update.pl

Gruss Michael

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:05


Secure

Traffic-Kontrolle mit iam leichtgemacht (HowTo)

IAM Install-HowTo für einen Rootserver

Da es immer wieder im Forum auftaucht, hier nochmal eine kleine Zusammenfassung einiger typischer Probleme rund um das Traffic-Überwachungstool iptables accounting monster (IAM). Die wichtigen Schritte sind auch in der mitgelieferten HOWTO Datei beschrieben, allerdings in englisch.

Anhand einer typischen Installation (zum ansehen des Traffics per Web) will ich auf die Probleme kurz eingehen. Weitere Optionen und Konfigurationen sind natürlich gerne willkommen.

Die Befehle und Kommandos sind auf der Shell per ssh einzugeben.

* Archiv downloaden, entpacken und kopieren:

cd /usr/local/src
wget ftp://intevation.de/iam/iam-0.0.2.tar.gz
oder wget ftp://ftp.gwdg.de/pub/misc/freegis/intevation/iam/iam-0.0.2.tar
tar -xzvf iam-0.0.2.tar.gz
mkdir /usr/local/iam
cp -r /usr/local/src/iam-0.0.2/* /usr/local/iam/
cd /usr/local/iam


* Das Skript iptables kopieren, modifizieren und starten

- Kopieren:

cp iptables.server /etc/init.d/iptables


Mit dem Editor pico öffnen...

pico /etc/init.d/iptables


- Modifizieren (u.a. dank der Infos von Thomas Koester, dem Entwickler):

DUMPFILE=/usr/local/iam/dump

anpassen.


extif=eth0

können wir so lassen. Es ist das Device, an dem dieser Rechner an das Internet angeschlossen ist. Bei Rechnern mit nur einer Netzwerkkarte in Richtung Firewall meist eth0.


extip=217.160.xxx.yyy

Die IP-Adresse, die dieser Server vom Internet aus betrachtet hat, also deine Server-IP.


intif=lo

Die "interne Netzwerkkarte" lo (local). Verkehr vom Rechner zu sich selbst soll ja sicherlich nicht berechnet werden.


intnet=195.20.224.72

Die Netzmaske für das LAN am Serverstandort. Dort kann man z.B. die IP des Updateservers von Puretec eintragen, denn der Traffic dorthin ist ja kostenlos. Diese IP entspricht der des Backupservers, zu dem der Traffic ebenfalls kostenlos ist, wenn man ihn gemietet hat.

Die Zeile hq= kann gelöscht werden. Sie hilft beim Beschreiben des Traffics zwischen eigenem Server und dem Server von intevation.de. Hq waere dann die Netzmaske fuer das Buero (HeadQuarter) von intevation.

Ebenso kann die Kette intevation gelöscht werden, d.h. folgende Zeilen löschen:

new_chain intevation
acc_ip intevation $hq


Dann sorgen wir dafür, dass das /var/log/warn Log nicht mit Meldungen überflutet wird. Die folgenden Zeilen im Bereich ´other traffic´ müssen so aussehen:

new_chain fragment
acc_ip fragment 0/0 -f

new_chain unknown
acc_ip unknown 0/0


Danach STR+O drücken und RETURN um zu speichern, sowie STR+X um pico zu verlassen.

- Starten:

/etc/init.d/iptables start

und es sollte erscheinen:

Starting iptables ip accounting: iptables.


Dann noch einen ersten Dump machen:

/etc/init.d/iptables dump

und die Datei dump im Verzeichnis /usr/local/iam sollte vom Skript angelegt sein.


* Das Skript an eigene Bedürfnisse anpassen
Der Satz aus dem original-HOWTO


quote:
--------------------------------------------------------------------------------
Edit chains.py to set categories, names, rates and their descriptions.
--------------------------------------------------------------------------------


dürfte selbsterklärend sein. Das ist nur eine Frage des persönlichen Geschmacks.

Zumindest folgende Zeile kann bedenkenlos gelöscht werden, wenn oben die Kette zum intevation-Server gelöscht wurde:

"intevation"         : (free, "Intevation office"),


* Das Skript iam_report anpassen
Folgendes sollte so in iam_report stehen:


IAM=/usr/local/iam/iam
DUMP=/usr/local/iam/dump
WWWDIR=/home/Pfad_zum_Webverzeichnis


wobei WWWDIR den absoluten Pfad zu dem Webverzeichnis darstellt, in dem iam seine einsehbaren html-Dateien ablegt. Das Verzeichnis muss existieren bzw. noch angelegt werden und natürlich per Web erreichbar sein.

DUMP und IAM bezeichnen keine Verzeichnisse, sondern den kompletten Pfad samt Dateinamen des Skriptes iam (/usr/local/iam ist das Verzeichnis, /usr/local/iam/iam das Verzeichnis samt Dateinamen dahinter). Bei dump analog.

Wer den Anzeigezeitraum von iam dem Abrechnungszeitraum von 1&1 anpassen will, kann das durch folgende Änderungen in iam_report erreichen (angenommen der 9. des Monats ist euer Stichtag bei 1&1):


#!/bin/sh

IAM=/usr/local/iam
DUMP=/usr/local/iam/dumpfile
WWWDIR=/usr/local/iam/report

YM_CURRENT=´date '+%Y-%m'´
YM_LAST=´date --date='1 month ago' '+%Y-%m'´
YM_NEXT=´date --date='1 month' '+%Y-%m'´

$IAM -f $YM_CURRENT-09 -t $YM_NEXT-09 -w $WWWDIR/$YM_CURRENT.html $DUMP
$IAM -f $YM_LAST-09 -t $YM_CURRENT-09 -w $WWWDIR/$YM_LAST.html $DUMP

ln -sf $WWWDIR/$YM_CURRENT.html $WWWDIR/current.html
ln -sf $WWWDIR/$YM_LAST.html $WWWDIR/last.html

exit $?


Hier muss 09 natürlich durch deinen Abrechnungstag ersetzt werden.

* Reports automatisch erstellen lassen
Dazu müssen in der crontab folgende cronjobs erstellt werden:


export EDITOR=pico
crontab -e

zum aufrufen des Cron-Editors, dann dort folgende Zeilen einfügen (die jede halbe Stunde einen dump erstellen und zwei Minuten später den Report schreiben)

0,30 * * * * /etc/init.d/iptables dump >/dev/null
2,32 * * * * /usr/local/iam/iam_report
@reboot /etc/init.d/iptables start


Ebenso wieder STR+O und RETURN zum speichern und STR+X zum verlassen von pico.

* Testreport ausgeben (optional)
Jetzt noch einen ersten Report auf der Konsole erstellen lassen:


./iam -r dump

und es sollte ein Report erscheinen, der allerdings noch nicht viel enthält.

 

So, fertig ist die Installation.

Wenn auf dem Server Tools wie Nagios o.ä. laufen, gibt es natürlich immer etwas lokalen Traffic, also nicht wundern.

Wer weitere Ports speziell aufgelistet haben will (wie z.B. bei einigen Gameservern nötig), muss weitere chains erstellen. Wer damit nicht zurecht kommt, kann jederzeit im Forum suchen und ggf. posten, wenn´s noch keine Lösung gibt.

Viel Spass mit iam und nochmal THX an alle, die bei der Entwicklung des HowTos durch Tipps, Erklärungen und Verbesserungen mitgewirkt haben, vor allem an deepinpowder, der sich als unermüdlicher Betatester bewährt hat,

RootForum-Team<br>Mehr Informationen unter: http://www.rootforum.de/forum/viewtopic.php?p=17396

2. Abrechnungszeitraum des Traffics ändern:

FALSCH:
YM_CURRENT=´date ´+%Y-%m´´
YM_LAST=´date --date=´1 month ago´ ´+%Y-%m´´
YM_NEXT=´date --date=´1 month´ ´+%Y-%m´´

RICHTIG:
YM_CURRENT=´date '+%Y-%m'´
YM_LAST=´date --date='1 month ago' '+%Y-%m'´
YM_NEXT=´date --date='1 month' '+%Y-%m'´

3. Falls man sich unsicher ist, wie das "Device" (meistens eth0) für seine Netzwerkkarte ist, kann man dies mit "ifconfig" herausfinden.
 

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:06


Snort, ACID, Base Howto

 

1. Snort, ACID, Oinkmaster und Guardian Howto auf Debian 4.0:

Vorrausetzungen:
MySQL, Apache2, PHP4

Erstellen Sie zuerst die Datenbank snort und den User snort in MySQL.
Der user snort sollte alle rechte auf der DB haben.


1.1. Snort installieren Download von: http://www.snort.org/dl/

Oinkmaster download von http://oinkmaster.sourceforge.net/ oder per apt-get

Build:
apt-get install libpcap0.8 libpcap0.8-dev php4-pear snort-mysql

Nur nötig bei manueler installation.
./configure --prefix=/opt/snort --with-mysql=/usr/lib/mysql

make
make install
mysql -u snort -p snort < contrib/create_mysql
zcat create_mysql.gz | mysql -u snort -pciw_snort snort

1.2. JPGraph installierenDownload von: http://www.aditus.nu/jpgraph/jpdownload.php

Installation:

Entpacken in /var/www

ln -s jpgraph-version jpgraph

Das Linken ist praktisch bei späteren Updates, so muß nur der Link geändert werden.


1.3. ADODB installierenDownload von: 

Installation:

Entpacken in /var/www


1.4. ACID installierenDownload von: http://acidlab.sourceforge.net/

Entpacken in /var/www

vi /var/www/acid/acid_conf.php


$DBlib_path = "/var/www/adodb";
$DBtype = "mysql";

$alert_dbname   = "snort";
$alert_host     = "localhost";
$alert_port     = "";
$alert_user     = "snort";
$alert_password = "password";

/* Archive DB connection parameters */
$archive_dbname   = "snort";
$archive_host     = "localhost";
$archive_port     = "";
$archive_user     = "snort";
$archive_password = "password";

/* ich fahr nich so auf pconnect ab */
$db_connect_method = 2;

$ChartLib_path = "/var/www/jpgraph/src";

pconnect

Eigendlich keine schlechte idee, wir mussten aber die Erfahrung machen das 99% der entwickler (die Datenbank wurde mitbenutzt für andere Firmen Projekte), zu hirn verbrannt sind um mit pconnect richtig umzugehen, so dass wir dies anschliessend verboten haben, ich habe mich dran gewöhnt und verwende pconnect nicht mehr.

Bei MySQL ist ein connect auch ausreichend schnell, so das es kaum wirkliche gründe für pconnect gibt.


1.5. Snort konfigurieren und zum starten fertig machen/opt/snort/etc/snort.conf


var HOME_NET            [213.133.103.207/32]
var EXTERNAL_NET        !$HOME_NET

var DNS_SERVERS         $HOME_NET
var SMTP_SERVERS        $HOME_NET
var HTTP_SERVERS        $HOME_NET
var SQL_SERVERS         $HOME_NET
var TELNET_SERVERS      $HOME_NET

var HTTP_PORTS          80:82
var SHELLCODE_PORTS     !80

var RULE_PATH /opt/snort/etc/rules

preprocessor frag2
preprocessor stream4:                   detect_scans, disable_evasion_alerts
preprocessor stream4_reassemble:        both
preprocessor http_decode:               80 unicode double_encode full_whitespace
preprocessor rpc_decode:                111 32771
preprocessor bo
preprocessor telnet_decode
preprocessor portscan:                  $HOME_NET 4 3 portscan.log
#preprocessor portscan-ignorehosts:     0.0.0.0

output database: log, mysql, user=snort password=xxxxx dbname=snort host=localhost
output database: alert, mysql, user=snort password=xxxxx dbname=snort host=localhost

include /opt/snort/etc/classification.config
include /opt/snort/etc/reference.config

include /opt/snort/etc/rules.conf

So sieht es bei mir aus, Sie werden sicherlich das ein oder andere anpassen müssen/wollen.
Mindestens aber den Netzbereich für $HOME_NET und die MySQL Zugangsdaten.

Etweige Rules die ich haben möchte werden über rules.conf inkludiert.
Die classification.config und reference.config finden Sie im snort Source Directoty
unter /etc.

/opt/snort/etc/run


#!/bin/sh
SNORT_BIN="/opt/snort/bin/snort"
SNORT_OPTS=" -c /opt/snort/etc/snort.conf -i eth0 -u snort -g snort -l /log -t /opt/snort/run"
exec $SNORT_BIN $SNORT_OPTS

Oinkmaster:

touch /etc/autodisable.conf
cd /usr/local/src/
wget http://mesh.dl.sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz

tar –zxvf oinkmaster-2.0.tar.gz
cd oinkmaster-2.0
cp oinkmaster.pl /usr/bin
cp oinkmaster.conf /etc/
cd contrib.
cp makesidex.pl /etc
chown -R snort:snort /etc/snort
mcedit /etc/oinkmaster.conf

url = http://www.snort.org/pub-bin/oinkmaster.cgi/oinkcode /snortrules-snapshot-2.3.tar.gz

 cd /etc
  ./makesidex.pl /etc/snort/rules >autodisable.conf
  mkdir /etc/snort/backup
  chown -R snort:snort /etc/snort/backup
  cd /usr/bin
  touch oinkdaily
  chmod +x oinkdaily
  mcedit oinkdaily
   
  I added the following line to the oinkdaily file
  oinkmaster.pl -C /etc/oinkmaster.conf -C /etc/autodisable.conf -o /etc/snort/rules -b
  /etc/snort/backup 2>&1 | mail -s "oinkmaster" hkiyimbabou.or.ug
   
  Then I scheduled snort to download the rules
   
  crontab –u snort –e
  30 5 * * * /usr/bin/oinkdaily
   
  Any help will be appreciated
   

pear channel-update pear.php.net
pear upgrade-all

apt-get install php5-gd
pear install Numbers_Roman-1.0.2
install ok: channel://pear.php.net/Numbers_Roman-1.0.2

pear install Numbers_Words-0.15.0
install ok: channel://pear.php.net/Numbers_Words-0.15.0

pear install Image_Color-1.0.2.tgz
install ok: Image_Color 1.0.2

pear install Image_Canvas-0.3.0.tgz
install ok: Image_Canvas 0.3.0

pear install Image_Graph-0.7.2.tgz
Optional dependencies:
package ´Numbers_Roman' is recommended to utilize some features.
package ´Numbers_Words' is recommended to utilize some features.
install ok: Image_Graph 0.7.2

 

Verfasser: Michael Stender
Letzte Änderung: 2008-06-29 00:05


[tmp] Verzeichniss mit noexec

HOW-TO: Mount /tmp mit noexec
---------------------------------------------------
Viele Leute die einen eigenen Webserver betreiben,
kennen das Problem mit sicherheit :-)

Es können im /tmp Verzeichniss beliebige Dateien ausgeführt werden.
Dies nutzen einige Scriptkiddys um sich Zugang zum Server zu verschaffen.

Diese Sicherheitslücke werden wir nun schließen indem wir ein neues Verzeichniss anlegen, in dem das ausführen von Proogrammen nicht erlaubt ist.

Dies schützt den Server vor den meisten exploits oder rootkits.

Nun gehts los:

Die folgenden Schritte kann man sich natürlich sparen, wenn man gleich beim aufsetzen des Servers dem tmp Verzeichniss eine eigene Partition zuteilt.

Zuerst erstellen wir uns ein 1000 MB große Datei für unsere /tmp Partition.
Wenn das zu klein ist, kann man es auch Problemlos vergrößern. Erhöht einfach den count=1000000 Wert.

cd /dev
dd if=/dev/zero of=tmpMnt bs=1024 count=1000000

Jetzt erstellen wir uns ein erweitertes Filesystem für unser tmpMnt Datei.

mke2fs /dev/tmpMnt

Nun sichern wir das vorhandene /tmp Verzeichniss.
Einige Programme legen symbolische Links oder Cache Dateien ins /tmp Verzeichniss.

cd /
cp -R /tmp /tmp_backup

Jetzt mounten wir das neue Filesystem.

mount -o loop,noexec,nosuid,rw /dev/tmpMnt /tmp
chmod 0777 /tmp

Inhalt vom gesicherten /tmp Verzeichniss zurückkopieren und Backup löschen.

cp -R /tmp_backup/* /tmp/
rm -rf /tmp_backup

Nun müssen wir die fstab ändern, damit das neue Verzeichniss nach dem neustarten des Server auch noch erreichbar ist.

mcedit /etc/fstab

Du siehst nun folgendes:

/dev/hda3           /                       ext3    defaults,usrquota     1 1
/dev/hda1           /boot                   ext3    defaults     1 2
none                /dev/pts                devpts  gid=5,mode=620  0 0
none                /proc                   proc    defaults     0 0
none                /dev/shm                tmpfs   defaults     0 0
/dev/hda2           swap                    swap    defaults     0 0

Am ende fügst du dies hinzu:

/dev/tmpMnt         /tmp                    ext2    loop,noexec,nosuid,rw  0 0

(WICHTIG: jeder space ist ein tab)

Das war es schon. Das ganze kann man dan ganz einfach überprüfen indem du eine Datei (test) im /tmp Verzeichniss mit folgendem Inhalt anlegst:

#!/bin/sh
ps

danach ein

chmod 755 /tmp/test

Und nun testen wir das ganze:

./test
bash: ./test: /bin/sh: bad interpreter: Keine Berechtigung

Unter Debian bekommt man leider Probleme beim einspielen von Updates (apt-get).

Dies kann man aber umgehen, indem man unter /etc/apt/ eine Datei apt.conf mit folgendem Inhalt angibt:

DPkg::Pre-Invoke {"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};

   Das wars...

 

Verfasser: Michael Stender
Letzte Änderung: 2010-11-17 02:28


APF Firewall starte nach Kernelupdate nicht mehr. (Unable to load iptables module (ipt_state), aborting)

 

Edit: /etc/apf/internals/functions.apf

Replace these lines:

ml ipt_state 1
ml ipt_multiport 1

with these lines:

ml xt_state
ml xt_multiport

Verfasser: Michael Stender
Letzte Änderung: 2007-08-14 23:55


CTXtra schützt deine PHP-Scripte vor SQL-Injection, Wurmattacken und SPAM

Der CTXtra schützt deine PHP-Scripte vor SQL-Injection, Wurmattacken und SPAM.

Der CTXtra blockt und loggt Angriffe dass du sie auswerten und anderen usern zur Verfügung stellen kannst. Die Zusammenarbeit aller User gewährleistet einen noch höheren Schutz gegen SPAM und Angriffen.

Seit der Version v1.4 ist ein SPAM-Filter integriert der gängige Foren vor SPAM schützt.

Der CTXtra arbeitet mit XML Listen die online mit unserer Datenbank abgeglichen werden. Per klick ist dann deine SPAM- und BadIP-Liste auf dem neuesten Stand.

Der CTXtra ist ein sehr junges Projekt, wir sind erst seit 9 April '07 online.


Bitte beachtet das der CTXtra kein 100%iger Schutz ist! Er blockt zwar bereits sehr zuverlässig bekannte Wurmattacken, SQL Injections (die versuchen über typische Exploits oder Lücken in PHP Skripten in die Datenbank einzudringen) und SPAM, dennoch können wir leider keine Garantie geben das der CTXtra deine Webseite erfolgreich vor Angriffen schützt. Wir bemühen uns aber den CTXtra von Version zu Version zu verbessern.

Downloaden kann man den CTXtra hier: http://www.ctxtra.de/download 

Verfasser: Michael Stender
Letzte Änderung: 2007-09-21 04:13


fail2ban Speicher optimieren

Fail2ban verbraucht bei der ausführung vie Speicher.

Das kann man in der /etc/default/fail2ban mit folgendem Eintrag optimieren:

ulimit -s 256

Verfasser: Michael Stender
Letzte Änderung: 2010-12-05 01:41


PHP-Nuke

Web_News funktionieren nicht mehr oder werden nicht angezeigt.

Danke an den User jubilee aus dem Forum von Maax-Design!

Einzige potentielle Fehlerquelle ist die Datei:
modules/Web_News/index.php
Da mal bitte diesen Abschnitt (ab Zeile 80)

quote:
--------------------------------------------------------------------------------

[code]else
{

$ft = @fopen($headlinesurl, "r");
if ( $ft ) { $items = implode( '', file($headlinesurl)); }[/code]
--------------------------------------------------------------------------------


so abändern:

quote:
--------------------------------------------------------------------------------

[code]else
{
ini_set("allow_url_fopen","1");
$ft = @fopen($headlinesurl, "r");
if ( $ft ) { $items = implode( '', file($headlinesurl));
ini_set("allow_url_fopen","0");}[/code]

--------------------------------------------------------------------------------


MfG
jubilee
http://www.maax-design.de/

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:09


Nuke 2fvkp CMS läuft nach umstellung auf php5.4 nicht mehr

Diese Fehlermeldung war in der Log Datei zu finden:

mod_fcgid: stderr: PHP Warning:  Call-time pass-by-reference has been deprecated If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /var/www/vhosts/meinedomain.de/httpdocs/includes/2f/2fsql_layer_nuke.php on line 333

Die Lösung ist ganz einfach: In der 2fsql_layer_nuke.php das & zeichen entfernen.

       $dbr = $this->SqlQuery(&$sql);

       $dbr = $this->SqlQuery($sql);

Das ändert man in allen Zeilen der Datei und schon läuft es wieder.

Verfasser: Michael Stender
Letzte Änderung: 2014-08-09 08:56


Typo3

Typo3 Links

Typo3 Links:

[url=http://www.typo3.org]typo3.org[/url].
[url=http://www.typo3faq.net]typo3faq.net[/url]
[url=http://www.typo3server.com]typo3server.com
[/url][url=http://www.lleuchter.de/typo3.html]leuchter.de[/url]

Foren:
[url=http://www.typo3.net]typo3.net[/url]

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:10


Debian

Debian 32bit Sarge Firecracker Raid1 Howto+grsecurity Kernel 2.6.11.12

Diese Anleitung basiert auf der Anleitung von Fastwebspace24 aus dem Webperoni Kundenforum.
https://www.webperoni.de/forum/viewtopic.php?p=700#700

Partitionen formatieren:
[code]
mke2fs -j /dev/md1
mke2fs -j /dev/md0
mkswap /dev/hda3
mkswap /dev/hdc3
swapon /dev/hda3
swapon /dev/hdc3
[/code]
Verzeichnisse erstellen und Partitionen mounten:
[code]
mkdir -p /mnt/rd/mnt
mkdir -p /mnt/rd/mnt/debian
mount /dev/md1 /mnt/rd/mnt/debian
mkdir -p /mnt/rd/mnt/debian/daten
[/code]
Basis Paket herunterladen:
[code]
cd /mnt/rd/mnt/debian/daten
Dies ist eine Zeile->wget http://http.us.debian.org/debian/dists/woody/main/
disks-i386/base-images-current/basedebs.tar<-Zeile Ende
Dies ist eine Zeile->/usr/sbin/debootstrap --arch i386 --unpack-tarball
/mnt/rd/mnt/debian/daten/basedebs.tar woody /mnt/rd/mnt/debian<-Zeile Ende

[/code]
Bootpartition mounten und ab ins chroot:
[code]
chroot /mnt/rd/mnt/debian/ /bin/bash
mkdir -p /mnt/rd/mnt/debian/boot
mount /dev/md0 /mnt/rd/mnt/debian/boot
[/code]
Wer sich mit dem vi nicht auskennt, der drückt Einfg, fügt den gewünschten text ein, einmal Esc, danach :wq
Ich nehme da immer den MidnightComander (mc) apt-get install mc. Der Befehl zum öffnen lautet dann mcedit /etc/fstab

/etc/fstab anlegen:
[code]
vi /etc/fstab
/dev/md0             /boot                ext3       user                  0 0
/dev/md1             /                    ext3       usrquota,grpquota     1 1
/dev/hda3            swap                 swap       pri=42                0 0
/dev/hdc3            swap                 swap       pri=42                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
proc                 /proc                proc       defaults              0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
sysfs                /sys                 sysfs      noauto                0 0
[/code]
proc mounten:
[code]
mount -t proc proc /proc
[/code]
Tastatur einstellen:
[code]
dpkg-reconfigure console-data
[/code]
/etc/modules anlegen:
[code]
vi /etc/modules
via-rhine
[/code]
Netzwerk einrichten:
[code]
vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 83.133.xx.xxx
network 83.133.xx.0
netmask 255.255.255.0
broadcast 83.133.xx.255
gateway 83.133.xx.1
[/code]
resolv.conf anlegen:
[code]
vi /etc/resolv.conf
nameserver 83.133.80.9
nameserver 83.133.80.10
[/code]
Hostnamen anlegen:
[code]
echo meinhostname > /etc/hostname
[/code]
hosts Datei anlegen:
[code]
vi /etc/hosts
127.0.0.1 localhost
83.133.xx.xxx meinhostname.webperoni.de
83.133.xx.xxx meinhostname
[/code]
Debian Konfigurieren:
[code]
/usr/sbin/base-config
[/code]
Noch ein paar Programme installieren:
[code]
apt-get install less wget w3m vim libncurses5-dev make gcc mbr bzip2 lilo mdadm mc ssh
[/code]
Sources.list ergänzen:
[code]
/etc/apt/sources.list
deb http://ftp.debian.de/debian sarge main contrib
deb-src http://ftp.debian.de/debian sarge main contrib
deb http://ftp.debian.de/debian-non-US sarge/non-US main contrib
deb-src http://ftp.debian.de/debian-non-US sarge/non-US main contrib
deb http://ftp.debian.de/debian/ sarge-proposed-updates main
deb-src http://ftp.debian.de/debian/ sarge-proposed-updates main
deb ftp://ftp.de.debian.org/debian/ testing main
deb-src ftp://ftp.de.debian.org/debian/ testing main
deb http://security.debian.org/ testing/updates main contrib
deb ftp://ftp2.de.debian.org/debian/ testing main
deb-src ftp://ftp2.de.debian.org/debian/ testing main
deb ftp://debian.tu-bs.de/debian/ testing main
deb-src ftp://debian.tu-bs.de/debian/ testing main
deb ftp://ftp.uni-erlangen.de/pub/Linux/debian/ testing main
deb-src ftp://ftp.uni-erlangen.de/pub/Linux/debian/ testing main
deb ftp://ftp.uni-stuttgart.de/debian/ testing main
deb-src ftp://ftp.uni-stuttgart.de/debian/ testing main
deb ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/debian/ testing main
deb-src ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/debian/ testing main
[/code]
Updates durchführen:
[code]
apt-get update
apt-get upgrade
apt-get clean
apt-get dist-upgrade
[/code]
Lilo Bootloader anpassen:
[code]
vi /etc/lilo.conf
boot=/dev/md0
root=/dev/md1
install=/boot/boot-menu.b
delay=3
lba32
image=/vmlinuz
initrd=/initrd.img
label=Linux
[/code]
Standard Kernel installieren:
[code]
apt-get install kernel-image-2.4-386
[/code]
Bootsector schreiben:
[code]
lilo -b /dev/hda -D Linux

zum Debuggen:
lilo -v -v -b /dev/hda -D Linux
[/code]

Recovery Modus im Webperoni Panel abschalten und nicht! neu starten lassen. Mindestens 2 min warten!

chroot beenden:
[code]
exit
umount /mnt/rd/mnt/debian/boot
umount /mnt/rd/mnt/debian/
shutdown -r now
[/code]
Das wars! Wenn alles geklappt hat bootet der Rechner jetzt :-)

Wer jetzt noch Lust hat, der baut sich noch einen eigenen aktuellen Kernel.

Kernel backen incl. grsecurity Kernel 2.6.11.12 patch:
Infos zum grsecurity Patch findete Ihr hier: http://www.grsecurity.net

Zuerst den alten Kernel entfernen:
[code]
apt-get remove kernel-image-2.4-386
[/code]
Aus der lilo.conf entfernen:
#initrd=/initrd.img

Kernel runterladen:
[code]
cd /usr/src
wget http://ftp.nl.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.12.tar.bz2

tar -jvxf linux-2.6.11.12.tar.bz2
ln -s linux-2.6.11.12 linux

# grsecurity (optional)
wget http://www.grsecurity.net/grsecurity-2.1.6-2.6.11.12-200506141713.patch.gz

cd linux
zcat ../grsecurity-2.1.6-2.6.11.12-200506141713.patch.gz | patch -p1

cd /usr/src/linux
[/code]
Nun muss der Kernel compiliert werden.
Wichtig dabei ist, das die Module via-rhine, raid1 Support und der grsecurity Kernel aktiviert werden.
Nicht als Module, sondern direkt in den Kernel laden!
[code]
make menuconfig
make bzImage
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.11.12
rm /boot/map
rm /boot/System.map
cp System.map /boot/System.map-2.6.11.12
ln -s  /boot/System.map-2.6.11.12 /boot/System.map
rm /boot/.config
cp .config /boot/.config-2.6.11.12
ln -s /boot/.config-2.6.11.12 /boot/.config
make modules
make modules_install
rm /vmlinuz
ln -s /boot/vmlinuz-2.6.11.12 /vmlinuz
lilo -v -v -b /dev/hda -D Linux
[/code]
Recovery Modus im Webperoni Panel abschalten und nicht! neu starten lassen. Mindestens 2 min warten!

chroot beenden:
[code]
exit
umount /mnt/rd/mnt/debian/boot
umount /mnt/rd/mnt/debian/
shutdown -r now
[/code]

Kernel überprüfen:
cat /proc/version
Linux version 2.6.11.12-grsec (root@xxxxxxx) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 SMP Fri Jul 15 00:13:58 CEST 2005

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:11


GPG Error

W: GPG error: http://debian.linux-systeme.com sid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F35E97D46941C9D8
W: GPG error: http://www.steve.org.uk sarge Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F3E8C641DC2698A1
W: GPG error: http://puga.vdu.lt sarge Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 00CB25206E825E4E
W: GPG error: http://puga.vdu.lt sid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 00CB25206E825E4E

gpg --keyserver subkeys.pgp.net --recv-keys F35E97D46941C9D8
gpg --keyserver subkeys.pgp.net --recv-keys F3E8C641DC2698A1
gpg --keyserver subkeys.pgp.net --recv-keys 00CB25206E825E4E

apt-get install debian-keyring gpgkeys
apt-key add /usr/share/keyrings/debian-role-keys.gpg

gpg --armor --export 00CB25206E825E4E | apt-key add -
gpg --armor --export F35E97D46941C9D8 | apt-key add -
gpg --armor --export F3E8C641DC2698A1 | apt-key add -

apt-get update

Verfasser: Michael Stender
Letzte Änderung: 2011-03-23 01:59


Debian Sarge auf deutsche Sprache einstellen

Auch wenn sie bei der Installation deutsch als Sprache ausgewählt haben, spricht Debian dennoch Englisch mit ihnen. Da kann man entweder Englisch lernen, oder Debian Deutsch beibringen. Hier wird die zweite Möglichkeit beschrieben.

Dazu werden zunächst einige Programme installiert (apt-get install PROGRAMM). Möglicherweise sind bei ihnen schon einige davon vorhanden. Dann müssen sie diese statt dessen neu konfigurieren (dpkg-reconfigure PROGRAMM). So können sie die Einstellungen natürlich auch nachträglich noch einmal ändern.

Installiere zunächst locales mit apt-get install locales oder wenn bereits installiert dpkg-reconfigure locales -plow und nehmen folgende Einstellungen vor. 


-> de_DE@euro ISO-8859-15

mcedit /etc/environment 

LANG=de_DE@euro

locale-gen

Mit locale kann man nach dem Einloggen sehen, daß die Einstellung de_DE@euro für alle LC_-Variablen aus LANG übernommen wird.

fonty installieren/reconfigurieren

apt-get install fonty

Sie können den Konsolenzeichesatz einstellen
-> iso15 (Western European + euro)

Wieviele Konsolen sollen konfiguriert werden?
-> 6

locales installieren/reconfigurieren

apt-get install locales
dpkg-reconfigure locales

Wählen Sie die Standarteinstellungen zum generieren aus.
-> [*] de_DE@euro ISO-8859-15

Welches soll die Standard-locale des Systems sein?
-> de_DE@euro

Jetzt sollten sie noch ein paar Schriften installieren
apt-get install xfonts-base-transcoded xfonts-100dpi-transcoded xfonts-75dpi-transcoded Installieren sie language-env (Falls es schon vorhanden ist, konfigurieren sie es nicht neu) und führen sie dass dazu gehörige Programm set-language-env aus.

apt-get install language-env
set-language-env -E 4

-> 4

Germany
-> 1

Fragen beantworten (am besten alle mit j)
Do you want to use ISO-8859-15 (euro sign) ? [J/n] j

------- /etc/skel/.Xresources --------
For softwares on X Window System.

Diese Einstellung durchfuehren? [J/n] j
Einstellung erfolgt...

------- /etc/skel/.bash_profile --------
Executed when bash is invoked as a login shell.
Only calling .bashrc.

Diese Einstellung durchfuehren? [J/n] j
Einstellung erfolgt...

------- /etc/skel/.bashrc --------
Aktiviert die vorhandene Unterstuetzung fuer Deutsch auf der
Kommandozeile und in den meisten anderen Programmen.
Wird beim Start von bash ausgefuehrt.

Diese Einstellung durchfuehren? [J/n] j
Einstellung erfolgt...

------- /etc/skel/.emacs --------
Deutsche Einstellungen fuer Emacs

Diese Einstellung durchfuehren? [J/n] j
Einstellung erfolgt...

------- /etc/skel/.xsession --------
For starting up of an X session.

Diese Einstellung durchfuehren? [J/n] j
Einstellung erfolgt...
--------------------
Einstellung sind erfolgt. Sie werden beim naechsten
Login wirksam.
Sie koennen die geaenderten Einstellungs-Dateien lesen und die
Aenderungen ueberpruefen. Falls notwendig, koennen Sie die hinzugefueg-
ten Zeilen direkt abaendern oder hinter der Zeile ´language-env end´
Einstellungen anfuegen, die so dann vor den vorhergehenden Einstel-
lungen Vorrang haben.
Lesen Sie /usr/share/doc/language-env/README.* fuer naehere Angaben.

Folgende Pakete werden ergaenzend zur Installation vorgeschlagen:
manpages-de-dev

Install the following locales.
(Edit /etc/locale.gen and invoke locale-gen)
de_DE@euro ("de_DE@euro ISO-8859-15" in /etc/locale.gen)

Druecken Sie [Enter] um das Programm zu beenden. Erstellen sie in /etc/environment folgende Zeilen
LANGUAGE=de_DE@euro
LANG=de_DE@euro

Display Manager einstellen:
GDM Falls sie GDM verwenden fügen sie in /etc/init.d/gdm die Zeile
export LANG=de_DE@eurovor
echo -n "Starting GNOME Display Manager: gdm"
start-stop-daemon --start --quiet --pidfile $PIDFILE $SSD_ARG || echo -n " already running" ein.

WDM Es genügt ein export LANG=de_DE@euro in /etc/init.d/wdm vor der echo -n Zeile
Sollten sie nicht den GDM, WDM sondern den KDM oder XDM als Display Manager verwenden, müssen sie wohl etwas rumprobieren. Und wenn sie es rausgefunden haben, schreiben sie es hierher, dass es auch andere wissen

Verfasser: Michael Stender
Letzte Änderung: 2008-05-05 22:21


3Ware Raid Tuning

Mit dieser einstellung läßt sich ein 3WareControler erheblich beschleunigen. Es wir einfach ein Cache angelegt.

Um die einstellung dauerhaft bei jedem Start anzuwenden, trägt man dies Bei Debian in die /etc/init.d/rc.local ein:

# 3Ware Raid Tuning
blockdev --setra 16384 /dev/sda

Verfasser: Michael Stender
Letzte Änderung: 2007-08-28 22:21


Zwei Server mit den selben Paketen und "dpkg" einrichten

Um die gleichen Pakete auf zwei Servern einzurichten, verwendet man einfach den dpkg --get-selections Befehl:

dpkg --get-selections > packetliste.txt Damit hat man alle Pakete in einer Datei.

Diese Datei auf den anderen Server übertragen und einlesen:

dpkg --set-selections < packetliste.txt
apt-get dselect-upgrade

Verfasser: Michael Stender
Letzte Änderung: 2007-10-07 16:59


Debian 4.0 Software Raid1 install auf Hetzner Server

Hetzner Rescue System starten.
Passwort aufschreiben! Das Passwort ist nach fertigstellung das root Passwort.

Im Rescue Mode:
rescue:~# installimage
aufrufen.

Man wird zuerst nach dem zu installierenden System gefragt.
Hier Debian (official), Debian-40-etch-32-minimal auswählen.

Danach geht ein Fenster auf für die extra Konfiguration.
Nach FORMATDRIVE2 0 suchen und ändern:
FORMATDRIVE2 1

Nach
PART 1 swap swap 2048
PART 2 / ext3 all
suchen und ändern:
#PART 1 swap swap
#PART 2 /boot

Danach folgendes einfügen:
PART 1 swap swap 8096
PART 2 /boot ext3 1000
PART 3 / ext3 70240
PART 4 /home ext3 50240
PART 5 /tmp ext3 10240
PART 6 /usr ext3 50240
PART 7 /usr/local ext3 50240
PART 8 /var ext3 all

Nach SWRAID 0 suchen und ändern.
SWRAID 1

Man kann natürlich auch andere Partitionsgrößen angeben.

Zum speichern F10 drücken.
ACHTUNG! Alle Festplatten werden nun formatiert.

Abfrage mit ja beantorten.

Jetzt auf keinen Fall neu starten sondern warten bis die SW Raid´s erstellt wurden.
rescue:~# watch cat /proc/mdstat

Das ganze dauert 1-2 Std.

Wenn alles fertig ist sieht es so aus:
Personalities : [raid0] [raid1]
md7 : active raid1 sda9[0] sdb9[1]
      144617024 blocks [2/2] [UU]

md6 : active raid1 sda8[0] sdb8[1]
      51448064 blocks [2/2] [UU]

md5 : active raid1 sda7[0] sdb7[1]
      51448064 blocks [2/2] [UU]

md4 : active raid1 sda6[0] sdb6[1]
      10490368 blocks [2/2] [UU]

md3 : active raid1 sda5[0] sdb5[1]
      51448064 blocks [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      71930944 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      1028096 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      8297472 blocks [2/2] [UU]

unused devices: <none>

Hinter jedem Raid muss ein [UU] stehen.
Es sollte kein Hinweis auf einen (resync) geben.
Sonst weiter warten.

Wenn das durchgelaufen ist, rebooten.

rescue:~# reboot

Verfasser: Michael Stender
Letzte Änderung: 2007-11-16 04:52


Serverüberwachung unter Debian mit Munin

apt-get install munin munin-node

Verfasser: Michael Stender
Letzte Änderung: 2008-12-22 07:19


clamav daemon auf Debian System überwachen

md /usr/local/src/clamdwatch

wget http://mikecathey.com/code/clamdwatch/clamdwatch.txt

Ausführbar machen:

chmod +x clamdwatch.txt

mv clamdwatch.txt clamdwatch.pl

Pfad in der clamdwatch.pl anpassen:

____SNIP____
my $Socket = $options{s} || "/var/run/clamd.ctl";
my $log = $options{l} || 0;
my $ip = "127.0.0.1";
my $timeout = $options{t} || 15;
my $lockFile = $options{L} || "/var/lock/subsys/clamd";.pl 
____SNIP____

my $Socket = $options{s} || "/var/run/clamav/clamd.ctl";
my $log = $options{l} || 0;
my $ip = "127.0.0.1";
my $timeout = $options{t} || 15;
my $lockFile = $options{L} || "/var/lock/clamd/clamd";

md /var/lock/clamd

cp /usr/local/clamdwatch/clamdwatch.pl /usr/local/bin/clamdwatch.pl

crontab -e
*/1 *   * * * root      /usr/local/bin/clamdwatch.pl -q && ( /usr/bin/killall -9 clamd; rm -fr /var/amavis/clamd; /etc/init.d/clamav-daemon start 2>&1 )

Verfasser: Michael Stender
Letzte Änderung: 2008-03-27 06:24


Debian Lenny MC (Midnight Commander) internen Editor von Nano auf mcedit ändern.

Unter Debian Lenny und dem Midnight Commander (MC) werden neuerdings Dateien mit dem Nano Editor anstatt des internen mcedit geöffnet. Wer dies wieder ändern möchte, folgt dieser kleinen Anleitung:

apt-get install vim-nox

update-alternatives --config editor

Es gibt 6 Alternativen, die »editor« bereitstellen.

  Auswahl      Alternative
-----------------------------------------------
          1    /bin/ed
 +        2    /bin/nano
          3    /usr/bin/vim.tiny
          4    /usr/bin/vim.basic
*         5    /usr/bin/mcedit-debian
          6    /usr/bin/vim.nox

Drücken Sie die Eingabetaste, um die Vorgabe[*] beizubehalten,
oder geben Sie die Auswahlnummer ein:5

Nun sollte man aber noch im mc unter Optionen -> Konfiguration -> Weitere Optionen -> "Internen Editor verwenden" auswählen und speichern.

Das ganze dann nochmal unter Optionen -> "Einstellungen speichern" sichern.

Das war alles :-)

Verfasser: Michael Stender
Letzte Änderung: 2010-06-05 00:13


3Ware Raid Controler (3DM2) kein Zugriff über Webinterface

Dieses Problem liegt an einem Microsoft Windows Update (KB2585542).

Weitere Infos findet man direkt bei Microsoft: http://support.microsoft.com/kb/2585542 und http://support.microsoft.com/kb/2643584.

Eine Zusammenfassung findet man ebenfalls bei LSI: http://kb.lsi.com/KnowledgebaseArticle16625.aspx.

Zur Zeit wird von LSI an einer neuen Version von 3DM2 gearbeitet. Bis zu endgültigen Lösung, kann man das betreffende Windows Update einfach deinstallieren. Rechner muss nach der deinstallation neu gestartet werden.

Hier gibt es recht aktuelle Debian 5.0 3DM2/TWI Pakete: http://jonas.genannt.name/debian/pool/restricted/3/3ware-3dm2-binary/ . In der Version 10.2-1 wurde das Problem noch nicht gefixt.

Verfasser: Michael Stender
Letzte Änderung: 2012-02-23 18:47


No Space left on Device obwohl laut df genug Platz vorhanden ist

Ich hatte das Problem, das auf einer Partition plötzlich kein Speicher mehr frei war.

"No Space left on Device"

df zeigte mir jedoch an, das noch genug Platz war.

Übeltäter sind die nicht vorhandenen inodes auf der Partition.

df -i

zeigte mir dann auch an, das sämmtliche verfügbare inodes auf der Partition verbraucht waren.

Das ganze habe ich dann so gelöst:

for dir in *; do [ -d "$dir" ] && echo "$dir" && find "$dir" | wc -l; done

Diesen Code kopiert man sich und fügt den im betroffenen Verzeichniss, was mit df -i angezeigt wurde ein.

Dann wechselt man jeweils in das Verzeichniss mit den meisten inodes und führt den Code erneut aus.

Bei mir lag das Problem im /usr/local Verzeichniss. Mann kann den Code auch wie folgt verändern:

for dir in /usr/local/*; do [ -d "$dir" ] && echo "$dir" && find "$dir" | wc -l; done

Wenn man das verantwortliche Verzeichniss dann gefunden hat, löscht man einfach die betreffenden Dateien.

 

Verfasser: Michael Stender
Letzte Änderung: 2013-12-02 17:07


Plesk

Plesk Power Toys 3.4

Power Toys: [url]http://forum.plesk.com/showthread.php?s=&threadid=20134[/url]

1. Password revealer seems to work very good. I sent myself an email and it arrived, containing all the correct info. I did not try the Template changer, but it loaded without an error.

2. Email Subject Changer loaded. I did not use it beyond this point.

3. Custom DNS loaded and was able to retrieve the current settings for a domain. I did not use it beyond this point.

4. Check Domains seems broken. When you load it, it only provides 1 entry:

5. MySQL Remote Admin User Manager loaded. I did not use it beyond this point.

6. Whois loaded. I was able to do a WHOIS lookup on domains that support the WHOIS service.

7. Newsletter: This is a new features, will let PLESK Admin to send mails to all or selected clients (resellers) or to all domain owners, based on clients filter. This is very helpfull to comunicate with your clients or domain owners, for example if you have an upgrade or downtime etc. Any comments here are welcome.

8. Domain status tool

This tool checks the status of each of the domains on your server.
Status: A green dot indicates the domain is online, a red dot means port 80 does not respond.
IP Match: OK means the domain resolves to the IP you have it assigned to. Any other response indicates the domain is hosted elsewhere or offline.
Domain
Status
IP match
{DOMAIN}
{STATUS}

9. VHOST Writer, 100% editable with predefined things like open_basedir and php_flag log_errors (we will extend if anyone have other ideeas.

10. Alias/Unalias a domain (not available in this beta, mnday or thuesday will be

Even if is seems that is a small adition to a new version, belive us is not. Those two is major ones :-))
 
Download: [code]http://www.grafxsoftware.com/util/installer.sh[/code]
Update: [code]http://www.grafxsoftware.com/util/upgrade.sh[/code]

Vielen Dank an,
Valics Lehel
GraFX Software Solutions
http://www.grafxsoftware.com

Verfasser: Michael Stender
Letzte Änderung: 2010-08-02 16:07


Debian Clamav installation Plesk 7.5

Clamav:
Install the Debian packages clamav, clamav-daemon and clamav-freshclam.
[code]plesk:~# apt-get install clamav clamav-daemon clamav-freshclam[/code]
Download and extract qsheff and ripmime tar balls.
[code]plesk:~# cd /usr/local/src/
plesk:/usr/local/src#
wget http://surfnet.dl.sourceforge.net/sourceforge/qsheff/qsheff-II-2.1-r2.tar.gz
plesk:/usr/local/src# wget http://www.pldaniels.com/ripmime/ripmime-1.4.0.7.tar.gz
plesk:/usr/local/src# tar zxvf qsheff-II-2.1-r2.tar.gz
plesk:/usr/local/src# tar zxvf ripmime-1.4.0.7.tar.gz[/code]
Building and installing ripmime is straightforward:
[code]plesk:/usr/local/src# cd ripmime-1.4.0.7
plesk:/usr/local/src/ripmime-1.4.0.7# make
plesk:/usr/local/src/ripmime-1.4.0.7# make install[/code]
Ripmime will now be installed in /usr/local/bin; an appropriate place, and right where
qsheff expects it.

creating symlink of ripmime to /usr/bin/
[code]ln -s /usr/local/bin/ripmime /usr/bin/ripmime[/code]Now build and install qsheff:
[code]plesk:/usr/local/src# cd qsheff-II-2.1-r2
plesk:/usr/local/src/qsheff-II-2.1-r2# ./configure
plesk:/usr/local/src/qsheff-II-2.1-r2# make
plesk:/usr/local/src/qsheff-II-2.1-r2# /etc/init.d/qmail stop
plesk:/usr/local/src/qsheff-II-2.1-r2# make install[/code]
Now, before starting qmail, we have to fix the clamav path in the qsheff config file.
Edit qsheff.conf:
[code]mcedit /usr/local/etc/qsheff-II/qsheff.conf[/code] and change
[code]VIRUS_PROG = "/usr/local/bin/clamdscan --quiet"[/code]
to
[code]VIRUS_PROG = "/usr/bin/clamdscan --quiet"[/code]
You will probably want to change
[code]enable_blackhole = 0;[/code]
to
[code]enable_blackhole = 1;[/code]
as well.
Continue the installation:
[code]mv /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.bak
plesk:/usr/local/src/qsheff-II-2.1-r2# /usr/local/etc/qsheff-II/install-wrapper.sh
plesk:/usr/local/src/qsheff-II-2.1-r2# /etc/init.d/qmail start[/code]
And everything should be working!

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:14


Plesk Greylisting Control Panel

Für User die Greylisting mit Plesk einsetzen (Nach der Anleitung aus dem Serversupportforum) ein AddOn mit dem man das Greylisting Administrieren bzw. Überwachen kann.

- Anlegen von Whitelisten
- Kleine statistische Auswertung
- Freischalten bzw. Sperren von Hosts/IPs
- Aufräumen der Greylisting-Datenbank (Cronjob Simulation!)
- Leeren der Greylisting-Datenbank

Für den Download muss man sich auf der Seite von haggybear.de registrieren.

Quelle: http://haggybear.de

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:15


Sub & Domain Manager für Plesk

Erweitung für Plesk um Subdomains und Domains besser zu administrieren.

Domains:
- Ändern des Document Root Verzeichnis
- PHP Globals per Klick aktivier/deaktivierbar
- Anlegen von Domain - Aliasse (mehere Domains zeigen auf das gleiche DocRoot)


Subdomains:
- Ändern des Document Root Verzeichnis (auch innerhalb des Main httpdocs)
- Anlegen eines einfachen Forwards auf eine andere URL
- Anlegen eines Verzeichnisschutzes mit mehreren Usern
- Auswahl ob PHP5 mit aktiviert wird (wenn auf dem Server installiert)
- PHP Globals per Klick aktivier/deaktivierbar

Für den Download muss man sich auf der Seite von haggybear.de registrieren.

Quelle: http://haggybear.de

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:15


Greylisting mit Plesk 8.3 und Debian 4.0

 

Dieses Howto stammt von Brent Meshir Brent Meshier und Claus van Beek Claus van Beek und wurde von mir bezüglich Debian 4.0 angepasst.

Installation

Download: qmail-1.05_greylisting_plesk8.tar.gz 

Zuerst muss man den Download des Tarballs starten. Danach kopiert man den Tarball mit FTP oder WinSCP auf den Server in "/usr/src/". Der Pfad kann aber auch "/root" oder anders lauten.
Die untenstehenden Pfade unterscheiden sich ein wenig von denen, die Brent angegeben hat, weil er wahrscheinlich kein SuSE 10.x verwendet hat.
Das Beispiel ist auch ausführlicher, als der BLOG-Eintrag von Brent, da auch noch die Ausgaben der Shell mit angezeigt werden. Außerdem gibt es an strategischen Punkten zusätzliche Überprüfungen, ob die Installation der einzelnen Teilschritte auch wirklich geklappt hat.

In den Pfad "/usr/src/" wechseln und den Tarball auspacken;

strato:~ # cd /usr/src
strato:/usr/src # tar xvfz qmail-1.05_greylisting_plesk8.tar.gz

qmail-1.05/
qmail-1.05/BLURB
qmail-1.05/BLURB2
qmail-1.05/BLURB3
(...)
qmail-1.05/qmail-smtpd.c.rej
qmail-1.05/qmail-spp.oDie Datei "local_scan.c" muss editiert werden, da auf keinen Fall die Default-Werte genommen werden dürfen.

strato:/usr/src # cd qmail-1.05

#bei Plesk 8 fehlt leider eine Datei:
strato:/usr/src # echo "-lssl -lcrypto" >ssl.lib

strato:/usr/src/qmail-1.05 # vi local_scan.c

---
#define MYSQLHOST "localhost"
#define MYSQLUSER "greylist"
#define MYSQLPASS "topSecret"
#define MYSQLDB   "qmail"
#define BLOCK_EXPIRE  4 /* minutes until email is accepted */
#define RECORD_EXPIRE 1500 /* minutes until record expires */
#define RECORD_EXPIRE_GOOD 36 /* days until record expires after accepting email */
---

Da Greylisting mit der MySQL-Datenbank "qmail" und der Tabelle "relaytofrom" arbeitet, müssen ein paar Befehle im "MySQL Monitor" eingegeben werden (siehe Original von Brent). Wahlweise kann man auch einfach die mitgeliefert "qmail.sql" importieren (Idee: TJ). Die Login-Daten in der "qmail.sql" müssen an die "local_scan.c" angepasst werden.

strato:/usr/src/qmail-1.05 # vi qmail.sql
strato:/usr/src/qmail-1.05 # mysql -u admin -p < qmail.sql

Enter password:
strato:/usr/src/qmail-1.05 #Um zu überprüfen, ob Benutzer und Tabelle auch wirklich angelegt wurden, sollte man den MySQL-Monitor starten.

strato:/usr/src/qmail-1.05 # mysql -u admin -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8974 to server version: 4.1.13
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> USE mysql;
Database changed
mysql> SELECT User, Password FROM user WHERE User = 'greylist'
+-------------+-------------------------------------------+
| User        | Password                                  |
+-------------+-------------------------------------------+
| greylist    | *930DAB011CE31AB33910A8A1F011CE98AA9D40FB |
+-------------+-------------------------------------------+
1 row in set (0.00 sec)

mysql> SHOW COLUMNS FROM qmail.relaytofrom;
+----------------+-----------------------+------+-----+---------------------+----------------+
| Field          | Type                  | Null | Key | Default             | Extra          |
+----------------+-----------------------+------+-----+---------------------+----------------+
| id             | bigint(20)            |      | PRI | NULL                | auto_increment |
| relay_ip       | varchar(16)           | YES  | MUL | NULL                |                |
| mail_from      | varchar(255)          | YES  | MUL | NULL                |                |
| rcpt_to        | varchar(255)          | YES  | MUL | NULL                |                |
| block_expires  | datetime              |      |     | 0000-00-00 00:00:00 |                |
| record_expires | datetime              |      |     | 0000-00-00 00:00:00 |                |
| blocked_count  | bigint(20)            |      |     | 0                   |                |
| passed_count   | bigint(20)            |      |     | 0                   |                |
| aborted_count  | bigint(20)            |      |     | 0                   |                |
| origin_type    | enum('MANUAL','AUTO') |      |     | MANUAL              |                |
| create_time    | datetime              |      |     | 0000-00-00 00:00:00 |                |
| last_update    | timestamp             | YES  |     | CURRENT_TIMESTAMP   |                |
+----------------+-----------------------+------+-----+---------------------+----------------+
12 rows in set (0.00 sec)

mysql> quit

Jetzt kann man noch das Logverhalten von Qmail etwas verbessern: Dazu bearbeiten wir die Datei qmail-smtpd.c und ergänzen nur die Fett gedruckten Zeilen an der entsprechenden Stelle:

qmail-smtpd.c

...
#include "wait.h"
#include "fd.h"
#include <syslog.h> /* huschi */
...
static void smtpauth_authenticate(void)
{
...
    close(fds[1]);
    wait_pid(&st, pid);
openlog("qmail-smtpd", 0, LOG_MAIL); /* huschi */
    if (wait_exitcode(st) == 0) {
      out("235 go ahead\r\n");
      flush();
      syslog(LOG_INFO, "smtp-auth[%i] ok for login: %s", getpid(), smtpauthlogin); /* huschi */
      relayclient="";
      authenticated=1;
      return;
    }
    sleep(2);
    out("535 auth failure\r\n");
    flush();
syslog(LOG_DEBUG, "smtp-auth[%i] fail for login: %s", getpid(), smtpauthlogin); /* huschi */
    return;
}

Mit tail -f /usr/local/psa/var/log/maillog | grep smtpd kann das ganze so aussehen:

Mar  1 17:07:04 h1083027 qmail-smtpd: smtp-auth[14650] ok for login: michi@webmasterhilfe.de
Mar  1 17:11:40 h1083027 qmail-smtpd: smtp-auth[21461] fail for login: webmaster@webmasterhilfe.de 

Vielen Dank an Huschi @ http://huschi.net für diesen Tipp.

Unter Debian 4.0 sollte man unter /usr/lib das Verzeichniss mysql anlegen. per apt-get install libmysqlclient15-dev libssl-dev installieren.
Dann kopiert man alle libmysqlclient* Dateien von /usr/lib nach /usr/lib/mysql.

Jetzt muss man die Dateien mit "make" kompilieren. Dazu gibt es im neuen Paket eine "install.sh" die vorher prüft, ob alle benötigten RPMs (siehe "Voraussetzungen") installiert wurden. Der Befehl "rpm" steht auf vielen Linux-Distributionen zur Verfügung. Ich habe das Shell-Skript mit SuSE und Debian getestet. Sollte "install.sh" eine Fehlermeldung bringen, die nichts mit den fehlenden Paketen "openssl-devel" oder "mysql-devel" zu tun hat, dann kann man hier auch nur "make" eingeben (siehe Original von Brent).

strato:/usr/src/qmail-1.05 # ./install.sh
( cat warn-auto.sh; \
echo CC=\'´head -1 conf-cc´\' \
echo LD=\'´head -1 conf-ld´\' \
) > auto-ccld.sh
cat auto-ccld.sh make-load.sh > make-load
(...)
./load spfquery spf.o ip.o ipme.o ipalloc.o strsalloc.o \
now.o dns.o datetime.a stralloc.a alloc.a str.a substdio.a \
case.a error.a fs.a ´cat dns.lib´ ´cat socket.lib´

 strato:/usr/src/qmail-1.05 # make


#############################################################
#### 'make' finished. Please check for critical errors!  ####
#############################################################Um den "make" zu kontrollieren kann man den untenstehende Befehl eingeben. Der Befehl sollte die Zahl "85" zurückliefern.

strato:/usr/src/qmail-1.05 # ls -l | grep -cv '\..\{1,12\}$\|conf-\|make-\|Makefile\|warn-\|[[:upper:]].$'
85

Der "make" sollte eigentlich nur dann fehlschlagen, wenn wichtige Pakete fehlen. Deshalb müssen jetzt nur noch die neuen Dateien kopiert werden und die Dateirechte gesetzt werden.

strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail stop
strato:/usr/src/qmail-1.05 # cp qmail-envelope-scanner /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # cp qmail-smtpd /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-envelope-scanner
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-smtpd
strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail startDanach habe ich ein CATCH-ALL für meine Domain aktiviert und ein "tail" lieferte

tail -f /tmp/greylist_dbg.txt

--------
protocol = notneeded4qmail increase@blindsz.com
increase@blindsz.com -> cloidtd@clausvb.de (62.227.194.124) Doesn’t Exists Block
--------
protocol = notneeded4qmail Scott@blueskyimages.co.uk
Scott@blueskyimages.co.uk -> christo@clausvb.de (86.196.215.34) Doesn’t Exists Block
--------
protocol = notneeded4qmail logic-s.com@usedoffset.com
logic-s.com@usedoffset.com -> www@clausvb.de (200.120.143.210) Doesn't Exists Block
--------
protocol = notneeded4qmail erika_mustermann@yahoo.de
erika_mustermann@yahoo.de -> www@clausvb.de (217.146.177.35) Doesn't Exists Block
--------
protocol = notneeded4qmail erika_mustermann@yahoo.de
erika_mustermann@yahoo.de -> www@clausvb.de (217.146.177.35) Exists Accept id = 10  expire = 1

Cleanup-Perl-Skript von Brent Meshier
Um die Datenbank regelmäßig aufzuräumen sollte man ein PERL-Skript in der "/etc/cron.daily" plazieren, mit folgendem Inhalt:

#!/usr/bin/perl
use strict;
use warnings;

use constant DBD => 'DBI:mysql:qmail:localhost:3306'
use constant DBUSER => 'greylist'
use constant DBPASS => 'topSecret'

use DBI;

system("cat /dev/null > /tmp/greylist_dbg.txt");

my $dbh = DBI->connect(DBD, DBUSER, DBPASS)
   or die "can't connect to db ", $DBI::errstr, ":$!";

$dbh->do("DELETE FROM relaytofrom
WHERE record_expires < NOW() - INTERVAL 1 HOUR
   AND origin_type = 'AUTO'");
$dbh->do("OPTIMIZE TABLE relaytofrom");

$dbh->disconnect;

exit;

Die Passwörter müssen entsprechend angepasst werden. Das oben gepostete Skript wurde von Gerard Earley in einigen Punkten überarbeitet.

 

Verfasser: Michael Stender
Letzte Änderung: 2008-03-01 20:51


qsheff, Clamav Virrenscanner, Plesk 8.2

http://www.enderunix.org/qsheff/

wget http://www.enderunix.org/qsheff/qsheff-II-2.1.tar.gz

# tar -zxf qsheff-II-2.1.tar.gz
# cd qsheff-II-2.1

Clamav:
Install the Debian packages clamav, clamav-daemon and clamav-freshclam libclamav-dev

plesk:~# apt-get install clamav clamav-daemon clamav-freshclam libclamav-dev

Download and extract qsheff and ripmime tar balls.

plesk:~# cd /usr/local/src/
plesk:/usr/local/src# wget
http://www.enderunix.org/qsheff/qsheff-II-2.1.tar.gz
plesk:/usr/local/src# wget http://www.pldaniels.com/ripmime/ripmime-1.4.0.5.tar.gz
plesk:/usr/local/src# tar zxvf qsheff-1.0-r4.tar.gz
plesk:/usr/local/src# tar zxvf ripmime-1.4.0.5.tar.gz

Building and installing ripmime is straightforward:

plesk:/usr/local/src# cd ripmime-1.4.0.5
plesk:/usr/local/src/ripmime-1.4.0.5# make
plesk:/usr/local/src/ripmime-1.4.0.5# make install

Ripmime will now be installed in /usr/local/bin; an appropriate place, and right where
qsheff expects it.

To see installing options:

# ./configure --help
  --enable-debug                 Enable debug messages
  --disable-local-users          Disable the filters for local users
  --enable-syslog                Enable syslog messages
  --enable-backup                Enable backup
  --enable-spam-tag              Enable Spam Tagging
  --enable-virus-tag             Enable virus tagging
  --enable-custom-error          Enable the custom error patch
  --enable-qq-patch              Enable qmailqueue patch

  --with-max-bodyline            Maximum number of lines to filter, default=40
  --with-maxfiles                Maximum numbers of files in a dir.
  --with-qmailgroup              Define qmail group, default=qmail
  --with-qmaildir                Define qmail directory, default=/var/qmail
  --with-clamav                  Enable ClamAv
  --with-clamd-socket            Path to clamd socket, default=/tmp/clamd
  --with-custom-prog             Enable User Defined Program, check qsheff.conf

You can you any of these options.

A typical installation should be like this:

# ./configure --disable-local-users --with-clamav \
    --with-clamd-socket=/var/run/clamav/clamd

./configure \
--enable-debug \
--with-clamav \
--with-clamd-socket=/var/run/clamav/clamd.ctl \
--enable-syslog \
--enable-backup \
--enable-spam-tag \
--enable-virus-tag

./configure --enable-debug --with-clamav --with-clamd-socket=/var/run/clamav/clamd.ctl --enable-syslog --enable-backup --enable-spam-tag --enable-virus-tag


Options are described below. Installing should continue like this:

# make && make install
# /usr/local/etc/qsheff-II/install-wrapper.sh

After installing, /var/qmail/bin folder shoul be seen like:

-r-s--x--x  1 root    qmail  36766 17 May 16:57 qmail-qsheff
lrwxr-xr-x  1 root    qmail     27 16 May 15:28 qmail-queue -> qmail-qsheff
-r-s--x--x  1 qmailq  qmail  12396  2 May 15:43 qmail-queue.orig

Options:

  --enable-debug                 Enable debug messages
    Used for printing debugging information to screen in case of any problem

  --disable-local-users          Disable the filters for local users
    qSheff filters local users by default. Bu small corporations does not
    need this. This option deactivates this feature.

  --enable-syslog                Enable syslog messages
    Logging information is sent both to qsheff.log and to syslog. With this
    option, logs can be stored in a remote syslog server.

  --enable-backup                Enable backup
    Enables logging all incoming/outgoing e-mail traffic

  --enable-spam-tag              Enable Spam Tagging
    Instead of rejecting spammed e-mails, qSheff tags subject and delivers
    e-mail to user. Users can store these e-mails in a seperate folder by
    writing their own rules in client side.

  --enable-virus-tag             Enable virus tagging
    Infected e-mail is delivered to user after replacing content with a
    warning text about the virus. This message is predefined as VIRI_CENSOED
    in src/main.h. custom_sign in qsheff.conf is appended to this message
    automatically.

  --enable-custom-error          Enable the custom error patch
    By default, qmail responds to users with "permanently error" in the case
    of spam or virus. Usually this response does not have much information.
    Bu option enables custom-error patch. But qmail should be patched with
    this patch before. Predefined messages are in src/main.h like DEFAULTMSG,
    SPAMMSG and VIRUSMSG. Messages are tagged with "SPAM" keyword or name of
    the virus automatically.

  --enable-qq-patch              Enable qmailqueue patch
    Enables qmail-queue patch. This patch should be applied before. More infor-
    mation is described in Chapter 3 WORKING PRINCIPLES. With this option,
    qSheff is triggered through QMAILQUEUE environment variable, not symbolic
    link. This environment variable usually assigned in /etc/tcp.smtp

  --with-max-bodyline            Maximum number of lines to filter, default=40
    Limits maximum number of lines in an e-mail to filter. Predefined value is
    40. This option is a countermeasure for DOS attacks which can be caused by
    sending very large e-mails. Spam words usually appear in first 10 lines.
    It's not needed to scan all of the body.

  --with-maxfiles                Maximum numbers of files in a dir.
    if --enable-backup is activated, qSheff logs all e-mail traffic. Every OS
    has limit for number of file entries in a folder. If this option is defined,
    qSheff will switch to next folder afterwards. qSheff assumes 32000 by default.

  --with-qmailgroup              Define qmail group, default=qmail
    if qmail is installed with a group id other than "qmail", should be specified
    here

  --with-qmaildir                Define qmail directory, default=/var/qmail
    If qmail is installed other than /var/qmail, should be specified here.

  --with-clamav                  Enable ClamAv
    Activates ClamAv antivirus software. If ClamAv is installed to nonstandart
    folder like /opt/clamav, this folder should be specifed here. Otherwise,
    ClamAv library functions will fail during make.

  --with-clamd-socket            Path to clamd socket, default=/tmp/clamd
    qSheff connects to ClamAv daemon directly throug UNIX socket. Path to socket
    should be specified here if different than /tmp/clamd. Another solution is
    changing LocalSocket variable to "/tmp/clamd" from clamd.conf

  --with-custom-prog             Enable User Defined Program, check
    User can make qSheff run any program or script. 3rd party software, anti-
    virus programs or your own scripts can be run this way. Full path to
    program/script and parameters is given as parameter. Internal variables
    can be passed to custom program like %%mailfrom%%, %%mailto%%, %%remoteip%%,
    %%msgfile%% ve %%tempdir%%. This parameters or path to program can be
    changed within qsheff.conf later.


6. CONFIGURATION

qSheff configuration files are placed in etc/qsheff-II under install directory

qsheff.conf:

QSHEFFDIR: qSheff folder. Contaions backup, quarantine, spool and tmp folders.
LOGFILE: Specifies the file which qSheff will write logs to.
RIPMIME: Specifies full path to ripmime binary. Automatically detected and
written by qSheff in configure process.
debug_level: Logging level. Default value is 99 and logs everything. If you
set 14, then HEADER debugging informations will not be logged.
   0      ERR       
   2      QUEUE   
   3      VIRUS  
   5      CUSTOM
  11      SPAM 
  13      ATTACH
  15      HEADER
enable_blackhole: If set to 1, no response will be sent to sender of the mail
in case of error, spam or virus
paronia_level: Not yet implemented
drop_empty_from: If set to 1, qSheff rejects mails without a "From:" header.
enable_quarantine: If set to 1, spam or infected mails are quarantined.
enable_ignore_list: If set to 1, does not filter the mail addresses and ip
addresses in ignore list
enable_header_filter: If set to 1, header filter is activated
enable_body_filter: If set to 1, body filter is activated
enable_attach_filter: If set to 1, attachment filter is activated
enable_clamd: If set to 1, ClamAv virus checking is activated
enable_custom_prog: If set to 1, running custom program is activated.
CUSTOM_PROG: Spesifies the full path and parameters of custom program.
CUSTOM_RET_MIN: The minimum return value of custom program in case of a match
CUSTOM_RET_MAX: The maximum return value of custom program in case of a match
For example a custom prog which returns 5 for virus and returns 9 for spam
can be set with 5 as CUSTOM_RET_MIN and 9 as CUSTOM_RET_MAX
CUSTOM_RET_ERR: Value which custom program returns in case of error.
custom_sign: When virus tagging is enabled, this message is appended to the
warning mail. Can be company logo/signature. This message is also contaions
the information message which will be sent to user when "custom error" patch
is applied.
qsheff.attach: The list which attachment filter looks for matching
qsheff.ignore: The list of e-mail and ip addresses which will not be filtered
Regular expressions can be written. qSheff will try to match expressions
with remote side IP and sender email address.
qsheff.rules: Contains qSheff spesific rules. Rules beginning with "h" are
header rules. Rules in the same line like (rule1)(rule2) are operated with
logic AND and rules in different lines are operated with logic OR.


7. USAGE

After installing qSheff, log file should be examined in order to be sure that
everything is fine.

# tail -f /var/log/qsheff.log
04/05/2006 19:12:39: [qSheff] SPAM, queue=q1146759159-792935-50066, relayfrom=
88.247.172.183, from=´simsek@enderunix.org', to=´simsek@acikakademi.com', subj
=´viagra', size=575, spam=´Subject: viagra', rule=´(Subject:)([vV]iagra)'

17/05/2006 16:59:50: [qSheff] VIRUS, queue=q1147899588-883933-43385, recvfrom=
83.26.32.122, from=´olago@neostrada.pl', to=´biwi@turx.com', subj=´Re: Merry
Christmas!', size=19082, virus=´Worm.Zafi.D',

17/05/2006 17:03:39: [qSheff] HEADER, queue=q1147899819-136265-43522, recvfrom=
84.50.27.182, from=´', to=´', subj=´', size=0,,

If filtering local users is deactivated, attempts from server will not be logged
in log file.

If drop_empty_from=1 is set, attempts without "From:" line will be rejected and
logged with HEADER tag.

If there is an error after qSheff delivers mail to qmail-queue, qmail-queue's
exit value will be logged as exitcode.

17/05/2006 16:24:51: [qSheff] QUEUE, queue=q1147897465-631231-42376, recvfrom=
83.17.118.150, from=´edhzovsc@queretaro.com', to=´alii@linuxxproggramlama.com',
subj=´Fw[36]: Hi !..', size=10240, error=´', exitcode=54

Verfasser: Michael Stender
Letzte Änderung: 2009-03-19 04:37


Plesk Admin Server neustarten

/opt/psa/admin/bin/httpsdctl restart
/opt/psa/admin/bin/websrvmng -a
/etc/init.d/psa stop
/etc/init.d/psa start

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:18


Plesk-Login entsperren

Ich habe mehrmals ein falsches Admin-Passwort eingegeben und der Login wurde gesperrt. Wie kann ich den Plesk-Login entsperren?

Wenn Sie beim Plesk-Login mehrmals ein falsches Passwort eingeben, wird der Login aus Sicherheitsgründen automatisch gesperrt.

Um die Sperre aufzuheben, loggen Sie sich per SSH auf dem Server ein und geben Sie auf der Konsole folgenden Befehl ein:

mysql -uadmin -p´cat /etc/psa/.psa.shadow´ psa -e "delete from lockout"

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:19


Plesk MAPS Spamschutz Listen

relays.mail-abuse.org;vrbl.xtreme-host.com;http.dnsbl.sorbs.net;misc.dnsbl.sorbs.net

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:20


Plesk httpd Zusatz

bei Confixx3 gab es ja immer so ein nützliches Feature namens "httpd Zusatz". Da konnte ich für die einzelnen Domains den Safe Mode ausschalten oder Register_globals off stellen. Gibt es über Plesk auch die Möglichkeit, httpd Zusatzeinstellungen vorzunehmen, und wenn nicht, wie mache ich dies dann?

Hallo,

man kann im conf Verzeichnis der Domain eine vhost.conf anlegen, und dort diese Spezialeinträge ablegen.

/opt/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=meine-web-seite.de

Wenn man für mehrere Domains die vhosts.conf angelegt hat, bietet sich dieser Befehl an um die änderungen für alle Domains zu übernehmen:

/opt/psa/admin/sbin/websrvmng -a -v 

Verfasser: Michael Stender
Letzte Änderung: 2008-12-21 07:14


Plesk-Passwort verloren

Ich habe mein Plesk-Passwort verloren. Was kann ich tun?

Loggen Sie sich als root per SSH auf dem Server ein.

Mit dem Befehl "cat/etc/psa/.psa.shadow" können Sie sich das aktuelle Plesk-Admin-Passwort anzeigen lassen.

 

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:24


Plesk Session safe_path nicht beschreibbar bei Joomla installation

In der /etc/php4/apache2/php.ini : session.save_path = /var/lib/php4 auf
session.save_path = /tmp ändern.

Unbedigt darauf achten, das der save_mode in Plesk für die Domain deaktiviert ist.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-17 23:43


Plesk Qsheff Watch

Erweiterung für Plesk für User die Qsheff einsetzen.

Auslesen des qsheff.log und Anzeige der Verarbeitung.

Ansicht aller in der Queue durchgelaufenen Mails, oder nur die

für die entsprechende Domain.

Tagging ob die Mail SPAM war oder einen Virus enthielt.

Anzeige ob der SMTP als Relay genutzt wird.  

Für den Download muss man sich auf der Seite von haggybear.de registrieren.

Quelle: http://haggybear.de

Verfasser: Michael Stender
Letzte Änderung: 2007-09-22 16:59


Plesk Sicherheitlücke (SQL Injection)

SYMPTOMS

SQL injection vulnerability within Plesk for Linux/Unix.

RESOLUTION

Please download the following file:

For Plesk v8.0.0 and v8.0.1 :
http://download1.swsoft.com/Plesk/Hotfix/PleskUnix/8.0.1/114298/class.Session.php
MD5 (class.Session.php) = 4d917ed483cbf030fb122a1e214b2bbf

For Plesk v8.1.0 :
http://download1.swsoft.com/Plesk/Hotfix/PleskUnix/8.1.0/114298/class.Session.php
MD5 (class.Session.php) = 4de3b2fc50011d27fb13e5a293720100

For Plesk 8.2.0 :
http://download1.swsoft.com/Plesk/Hotfix/PleskUnix/8.2.0/114298/class.Session.php
MD5 (class.Session.php) = 5b7a8071374aa94b83697aec72d1d556

and replace /usr/local/psa/admin/plib/class.Session.php file on Plesk server with the downloaded new one. Make sure that md5sum is correct after file is replaced, for example:

# wget http://download1.swsoft.com/Plesk/Hotfix/PleskUnix/8.2.0/114298/class.Session.php

# md5sum  ./class.Session.php
MD5 (./class.Session.php) = 5b7a8071374aa94b83697aec72d1d556

# cp /usr/local/psa/admin/plib/class.Session.php /usr/local/psa/admin/plib/class.Session.php.old

# cp ./class.Session.php /usr/local/psa/admin/plib/class.Session.php

# chgrp psaadm /usr/local/psa/admin/plib/class.Session.php

# /usr/local/psa/admin/bin/httpsdctl restart

Plesk versions 7.5.4 and 8.1.1 are not affected by this vulnerability.

Quelle: http://kb.swsoft.com/en/2169

Verfasser: Michael Stender
Letzte Änderung: 2007-09-22 17:59


Plesk 8.3 watchdog meldet Spamassassin ist down

Plesk for Linux/UNIX:

Einige von euch werden das Problem mit der Plesk 8.3 watchdog Überwachung kennen.

Watchdog meldet das der Spamassassin Dienst down ist, was aber nicht stimmt. Das Problem gibt es schon seit Plesk 8.2 und wurde noch nicht gefixt. 

Hier gibt es die fehlerbereinigte wdlib.php:

ftp://download1.parallels.com/Plesk/Autoupdate/Unix/8.3.0/134608/wdlib.php

Die Datei einfach per wget in das Verzeichniss /opt/psa/admin/plib/modules/watchdog/ (Debian) runterladen.

Originale wdlib.php natürlich vorher umbenennen. 

Offiziell wird der Bug in Plesk 8.4 gefixt. 

Verfasser: Michael Stender
Letzte Änderung: 2008-04-12 12:22


Horde unter Debian auf deutsch

dpkg-reconfigure locales

de_DE.ISO-8859-15@euro einstellen.

In der /etc/psa-horde/horde/nls.php unter $nls['defaults']['language'] = 'de_DE' einstellen.

Nun sollte Horde in deutsch angezeigt werden.

Falls das immer noch nicht der Fall ist, einfach unter /etc/php4/cli/php.ini den save_mode=off einstellen. 

Verfasser: Michael Stender
Letzte Änderung: 2008-07-09 01:12


Plesk php5 und eigener php.ini für jede Domain

Diese Howto stammt vom User Neutron aus dem Serversupportforum. http://serversupportforum.de/forum/faqs-anleitungen/18353-howto-debian-plesk-php4-5-cgi-mit-php-ini-pro-domain.html

Dieses Howto ist inspiriert von dem original Howto von "server4downs" welches hier http://serversupportforum.de/forum/faqs-anleitungen/4766-howto-php4-php5-als-cgi-gepatcht-deutsches-howto.html zu finden ist.

Man kann sagen das ist die Methode für faule bzw. Leute die nicht groß am System fummeln wollen.

1. Ins Plesk Control Panel gehen auf den "Updater" und "SiteBuilder and Sitebuilder module for Plesk" herunterladen.

Hintergrund: Dieser installiert das Plesk eigene php5-cgi binary mit.

2. suexec neu kompilieren wie in http://www.serversupportforum.de/forum/faqs-anleitungen/2602-mini-howto-suexec-neukompilieren.html

beschrieben, allerdings mit den Anpassungen suexec.h:

Code:

#ifndef AP_HTTPD_USER#define AP_HTTPD_USER "www-data"#endif
Code:
#ifndef AP_LOG_EXEC#define AP_LOG_EXEC "/var/log/apache2/suexec.log" /* Need me? */#endif
Code:
#ifndef AP_DOC_ROOT#define AP_DOC_ROOT "/var/www/vhosts"#endif
besonders die letzte Änderung hier bewirkt das wir hinterher das php Binary im Pfad der jeweiligen Domain "/var/www/vhosts/domain.tld/bin" ausführen können ohne dass das File dem FTP-Benutzer gehören muss und wir trotzdem immernoch eine eigene "php.ini" pro Domain verwenden können.

Änderungen an der suexec.c (von Freel@ncer14):

Code:
    /*     * Error out if the target name/group is different from     * the name/group of the cwd or the program.     */    if ((uid != dir_info.st_uid) ||        (gid != dir_info.st_gid) ||        (uid != prg_info.st_uid) ||        (gid != prg_info.st_gid)) {        log_err("target uid/gid (%ld/%ld) mismatch "                "with directory (%ld/%ld) or program (%ld/%ld)\n",                uid, gid,                dir_info.st_uid, dir_info.st_gid,                prg_info.st_uid, prg_info.st_gid);        exit(120);    }
ändern in:

Code:
    /*     * Error out if the target name/group is different from     * the name/group of the cwd or the program.     *//* Disabled    if ((uid != dir_info.st_uid) ||        (gid != dir_info.st_gid) ||        (uid != prg_info.st_uid) ||        (gid != prg_info.st_gid)) {        log_err("target uid/gid (%ld/%ld) mismatch "                "with directory (%ld/%ld) or program (%ld/%ld)\n",                uid, gid,                dir_info.st_uid, dir_info.st_gid,                prg_info.st_uid, prg_info.st_gid);        exit(120);    }*/
Die nun neu kompilierte suexec in den entsprechenden Pfad kopieren und ein chmod 4755 darauf ausführen.
Den Pfad wo der Apache die suexec erwartet kann man mit "apache2 -V" erfahren.

3. Unter "/var/www/vhosts/domain.tld/conf/" oder "/var/www/vhosts/domain.tld/subdomain/name/conf" (falls Subdomain) eine vhost.conf mit folgendem Inhalt anlegen:

Zitat:
ScriptAlias /php5-cgi-custom /var/www/vhosts/domain.tld/bin
Action application/x-httpd-php5-custom "/php5-cgi-custom/php5"
AddType application/x-httpd-php5-custom .php
Wobei "domain.tld" natürlich zu ersetzen ist mit euren Daten. Ich habe mir wie man oben sieht unter "/var/www/vhosts/domain.tld/bin" die php5 binary abgelegt.

Das php5 binary was Ihr braucht befindet sich in "opt/php52/bin" und heißt "php5-cgi". Nach obigem Beispiel der vhost.conf also:

Zitat:
cp /opt/php52/bin/php5-cgi /var/www/vhosts/domain/bin/php5
cd /var/www/vhosts/domain
chown -R root.root bin/
chmod 755 bin/
Wer noch eine php.ini Datei "pro User" verwenden möchte, kopiert in den gleichen Pfad noch die entsprechende php.ini:

Zitat:
cp /opt/php52/etc/php5/cgi/php.ini /var/www/vhosts/domain/bin
cd /var/www/vhosts/domain/bin
chown root.root php.ini
chmod 644 php.ini
Damit das ganze nun greift, wie üblich bei Plesk einmal:

Zitat:
/opt/psa/admin/sbin/websrvmng -a -v
ausführen und die vhost.conf wird für die jeweilige Domain mit verwendet.

Die entsprechende php.ini für die CGI Version findet man unter "/opt/php52/etc/php5/cgi/" und kann diese gemäß seinen Vorstellungen anpassen.

Im Control Panel von Plesk sollte man schließlich noch php und cgi für die Domain aktivieren und schon läuft das ganze und zwar einfach ohne weiter etwas machen zu müssen, weder braucht man suexec noch php5 selbst kompilieren. Um das ganze wieder loszuwerden, also die Domain wieder unter php4 als mod laufen zu lassen einfach das jeweilige vhost.conf file löschen und nochmal

Zitat:
/opt/psa/admin/sbin/websrvmng -a -v
ausführen.


Wer möchte kann natürlich auch in dem vhost.conf file einfach die Zeile

Zitat:
AddType application/x-httpd-php5-custom .php
in

Zitat:
AddType application/x-httpd-php5-custom .php5

ändern und hat so den Effekt das alle php Dateien die mit .php5 enden mit der CGI Version ausgeführt werden, der rest mit php4 als mod.

Natürlich wird aufgrund der bereits vorhandenen SuExexUserGroup Direktive die Plesk ja anlegt (/var/www/vhosts/domain/conf/httpd.include) alles brav als der jeweils richtige Benutzer ausgeführt.

Im Endeffekt haben wir das gleiche was "server4downs" mit seinem Patch gemacht hat, allerdings wie ich finde auf einen etwas schnelleren weg, außerdem angepasst an Plesk ohne viel Aufwand. Zusätzlich können wir noch pro Domain eine php.ini benutzen (optional) was mit seiner Methode nicht möglich war, wobei das natürlich sicherlich realisierbar ist.

Im Anhang hier noch die angepasste suexec.h und suexec.c

http://faq.webmasterhilfe.de/attachments/suexec.tar.gz

Verfasser: Michael Stender
Letzte Änderung: 2008-12-22 01:19


Plesk IndexDirectory auf Debian 4.0

Standardmäßig wird beim Aufruf einer Domain die index.html aufgerufen. Manchmal ist es erwünscht die Reihenfolge der Index Seiten Global zu ändern.

Leider gibt es in Plesk mehrere einstellungen, die man in diesem Fall ändern muss. Ich bevorzuge die index.php, falls vorhanden.

/etc/apache2/mods-enabled/dir.conf:

<IfModule mod_dir.c>
DirectoryIndex at_domains_index.html index.php index.html index.cgi index.pl index.xhtml index.shtml index.cfm index.htm  
</IfModule>

In der /etc/apache2/apache2.conf gibt es ebenfalls diese einstellung. Dies sollte man ebenfalls ändern, falls die obige Änderung nicht greift.

Verfasser: Michael Stender
Letzte Änderung: 2009-03-07 19:53


Plesk Mailaccount reparieren

http://kb.parallels.com/en/944
# /usr/local/psa/admin/sbin/mchk --helpSynopsis:mchk [OPTION]--without-spam - restore all settings except for SpamAssassin configuration--with-spam - restore all settings--spam-only - restore only SpamAssassin settings
# /usr/local/psa/admin/sbin/mchk --with-spam

Verfasser: Michael Stender
Letzte Änderung: 2009-03-07 19:49


Spamdyke installieren auf Plesk 10/Debian 6.0 Server incl. Spamdyke Control Panel

http://www.spamdyke.org/.

Installation:
Zuerst besorgen wir uns die gepatchte Spamdyke Version mit mysql Unterstützung von haggybear.de. Wer sich dort noch nicht registriert hat, der meldet sich dort zuerst an.

Nach der Registrierung laden wir uns das Spamdyke Control Panel 2.6 herunter.

cd /usr/local/src

wget http://www.haggybear.de/download/spamdyke-mysql.tgz

tar -xzf spamdyke-mysql.tgz

In den Faq finden wir den geänderten wrapper, den wir für Plesk 10 ebenfalls benötigen:

wget http://www.haggybear.de/download/wrapper/psa9/scp2.zip

Unter Debian 6.0 benötigen wir noch ein paar Libs und einen Compiler:

aptitude install gcc libssl-dev libmysqlclient-dev

Danach kann spamdyke kompiliert und nach /usr/local/bin installiert werden.
cd /usr/src/spamdyke-mysql/spamdyke
./configure

Diese beiden Ausgaben müssen unbedingt nach dem ./configure angezeigt werden:

checking for MySQL (for MySQL-Logging support)... yes
checking for MySQL includes (for MySQL-Logging support)...yes

make
make install

Jetzt werden wir noch einige Hilfsprogramme Compilieren. Diese Programme werden aber für das CP nicht benötigt.

cd /usr/src/spamdyke-mysql/utils
./configure && make
cp dnsa dnsany dnsany_libc dnsmx dnsns dnsptr dnssoa dnstxt domain2path domainsplit /usr/local/bin

Konfiguration
Zunächst wird spamdyke nun mit einer sinnvollen Konfiguration versorgt.
Dazu wird eine Datei namens /etc/spamdyke.conf mit folgendem Inhalt angelegt:

touch /etc/spamdyke.conf

#für Spamdyke:
log-level=info

config-mysql-database=spamdyke
config-mysql-username=spamdyke
config-mysql-password=spamdyke

local-domains-file=/var/qmail/control/rcpthosts
tls-certificate-file=/var/qmail/control/servercert.pem

smtp-auth-command=/var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /bin/true
smtp-auth-level=ondemand-encrypted

idle-timeout-secs=100
connection-timeout-secs=720
graylist-level=always-create-dir
graylist-dir=/var/qmail/spamdyke/greylist
graylist-min-secs=300
graylist-max-secs=1814400

sender-blacklist-file=/var/qmail/spamdyke/blacklist_senders
header-blacklist-file=/var/qmail/spamdyke/blacklist_headers

recipient-blacklist-file=/var/qmail/spamdyke/blacklist_recipients
ip-in-rdns-keyword-blacklist-file=/var/qmail/spamdyke/blacklist_keywords
ip-blacklist-file=/var/qmail/spamdyke/blacklist_ip
rdns-whitelist-file=/var/qmail/spamdyke/whitelist_rdns
ip-whitelist-file=/var/qmail/spamdyke/whitelist_ip
recipient-whitelist-file=/var/qmail/spamdyke/whitelist_recipient
sender-whitelist-file=/var/qmail/spamdyke/whitelist_sender
ip-in-rdns-keyword-whitelist-file=/var/qmail/spamdyke/whitelist_ip-in-rdns-keyword
greeting-delay-secs=5

dns-blacklist-entry=ix.dnsbl.manitu.net
dns-blacklist-entry=zen.spamhaus.org
dns-blacklist-entry=list.dsbl.org
dns-blacklist-entry=zombie.dnsbl.sorbs.net
dns-blacklist-entry=dul.dnsbl.sorbs.net
dns-blacklist-entry=bogons.cymru.com

reject-missing-sender-mx
reject-empty-rdns
reject-unresolvable-rdns
reject-ip-in-cc-rdns

Zusätzlich müssen einige Verzeichnisse und Dateien angelegt werden, auf die spamdyke zurückgreift.

Code: Alles auswählen
mkdir -p /var/qmail/spamdyke/greylist
touch /var/qmail/spamdyke/blacklist_ip /var/qmail/spamdyke/blacklist_recipients \
/var/qmail/spamdyke/whitelist_ip /var/qmail/spamdyke/blacklist_keywords \
/var/qmail/spamdyke/whitelist_recipient /var/qmail/spamdyke/whitelist_sender \
/var/qmail/spamdyke/whitelist_ip-in-rdns-keyword \
/var/qmail/spamdyke/blacklist_senders /var/qmail/spamdyke/whitelist_rdns \
/var/qmail/spamdyke/blacklist_headers

chown -R qmaild:qmail /var/qmail/spamdyke

Im letzten Schritt muss die Einbindung von qmail über den xinetd bearbeitet werden, so dass spamdyke vor qmail-smtpd ausgeführt wird.
Dazu werden die Dateien /etc/xinetd.d/smtp_psa und /etc/xinetd.d/smtps_psa bearbeitet:


Code: Alles auswählen
# /etc/xinetd.d/smtp_psa
service smtp
{
socket_type = stream
protocol = tcp
wait = no
disable = no
user = root
instances = UNLIMITED
env = SMTPAUTH=1 POPLOCK_TIME=20
server = /var/qmail/bin/tcp-env
server_args = -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}


Code: Alles auswählen
# /etc/xinetd.d/smtps_psa
service smtps
{
socket_type = stream
protocol = tcp
wait = no
disable = no
user = root
instances = UNLIMITED
env = SMTPAUTH=1 POPLOCK_TIME=20
server = /var/qmail/bin/tcp-env
server_args = -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}

Nach der Änderung muss der xinetd mit dem Kommando /etc/init.d/xinetd restart neugestartet werden. Weitere Schritte sind nicht notwendig.

Vor der Inbetriebnahme sollte aber auf jeden Fall überprüft werden, ob die in der Konfigurationsdatei /etc/spamdyke.conf
vorgenommenen Einträge für den jeweiligen Server sinnvoll sind. Insbesondere die eingetragenen DNSBL sollten überprüft werden.
Wenn deren Nutzung nicht gewünscht ist, müssen die entsprechenden Einträge entfernt oder auskommentiert werden.

Datenbank mit phpmyadmin anlegen:
CREATE TABLE ´spamdyke_log_table´ (
´id´ bigint(7) NOT NULL auto_increment,
´time´ timestamp NOT NULL default CURRENT_TIMESTAMP,
´reason´ varchar(20) character set utf8 NOT NULL,
´from´ varchar(50) character set utf8 NOT NULL,
´to´ varchar(50) character set utf8 NOT NULL,
´ip´ varchar(15) character set utf8 NOT NULL,
´rdns´ varchar(50) character set utf8 NOT NULL,
´auth´ varchar(25) character set utf8 NOT NULL,
PRIMARY KEY (´id´),
KEY ´time´ (´time´),
KEY ´reason´ (´reason´,´from´,´to´,´ip´,´rdns´)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Wartung des Datenbestands (Greylisting)
spamdyke verwaltet die Einträge für das Greylisting nicht selbst. Aufräumarbeiten müssen also periodisch durch einen Cronjob erledigt werden.
Dazu kopieren wir das Script einfach in das richtige Verzeichniss:

cd..

cp -p ./cron/spamdyke-mysql-cleanup /etc/cron.daily/.

Das Script im Editor öffnen und anpassen:

use constant DBD => 'DBI:mysql:spamdyke:localhost:3306';
use constant DBUSER => 'spamdyke';
use constant DBPASS => 'spamdyke';

Nun müssen wir den Wrapper vom Spamdyke Control Panel noch austauschen. Die zip Datei in das spamdyke Verzeichniss entpacken.

Wer keine tägliche Email erhalten möchte, schreibt zusätzlich ein exit; nach dem disconnect:

$dbh->disconnect;

exit;

Plesk9 Wrapper:
gcc wrapper.c -o wrapper
strip wrapper

Nachdem das erledigt ist, tue folgendes:
chmod 4755 wrapper
chown root.root wrapper

Bei Debian 6.0 wird nach der Installation eine Fehlermeldung angezeigt. Spamdyke wurde nicht installiert oder die /etc/spamdyke.conf wurde nicht gefunden. Kontrolliere unter /bin/sh den Symbolischen Link. Dieser sollte nicht auf /bin/dash sondern auf /bin/bash verlinkt sein.

Führe folgendes Komando aus:

ln -sf /bin/bash /bin/sh

Weiterführende Informationen
http://www.spamdyke.org/documentation/README.html
http://www.spamdyke.org/documentation/FAQ.html

Verfasser: Michael Stender
Letzte Änderung: 2012-03-09 04:49


Viele E-Mail-Nachrichten werden von PHP-Skripten auf dem Server gesendet. Wie kann ich herausfinden, auf welchen Domains diese Skripte ausgeführt werden?

Quelle: http://kb.parallels.com/de/1711  

Lösung

Es gibt eine Methode herauszufinden, aus welchem Ordner das PHP-Skript, das E-Mail sendet, ausgeführt wurde. Beachten Sie, dass die tatsächlichen Pfade sich abhängig von Ihrem Betriebssystem und Ihrer Plesk-Version geringfügig von den unten gezeigten unterscheiden können:

1) Erstellen Sie das Skript /var/qmail/bin/sendmail-wrapper mit folgendem Inhalt:

#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/var/qmail/bin/sendmail-qmail "$@"


Beachten Sie, dass es einschließlich der Zeile '#!/bin/sh' zwei Zeilen sein müssen.

 2) Erstellen Sie dann die Logdatei /var/tmp/mail.send und weisen Sie ihr die Rechte "a+rw" zu, machen Sie den Wrapper ausführbar, benennen Sie das alte Sendmail um und verknüpfen Sie es mit dem neuen Wrapper:

 

# touch /var/tmp/mail.send
# chmod a+rw /var/tmp/mail.send
# chmod a+x /var/qmail/bin/sendmail-wrapper
# mv /var/qmail/bin/sendmail /var/qmail/bin/sendmail-qmail
# ln -s /var/qmail/bin/sendmail-wrapper /var/qmail/bin/sendmail
 

 

3) Warten Sie ca. eine Stunde und setzen Sie Sendmail zurück:
# rm -f /var/qmail/bin/sendmail
# ln -s /var/qmail/bin/sendmail-qmail /var/qmail/bin/sendmail


Untersuchen Sie die Datei /var/tmp/mail.send. Sie sollte Zeilen enthalten, die mit "X-Additional-Header:" beginnen. Diese verweisen auf Domain-Ordner, in denen sich die Skripte, die die E-Mail gesendet haben, befinden.

Sie können alle Ordner, aus denen E-Mail-PHP-Skripte ausgeführt wurden, mit dem folgenden Befehl anzeigen:

# grep X-Additional /var/tmp/mail.send | grep ´cat /etc/psa/psa.conf | grep HTTPD_VHOSTS_D | sed -e 's/HTTPD_VHOSTS_D//' ´

Wenn Sie vom obigen Befehl keine Ausgabe erhalten, bedeutet dies, dass keine E-Mail mit der PHP mail()-Funktion aus dem Plesk-Verzeichnis mit virtuellen Hosts gesendet wurde.

Verfasser: Michael Stender
Letzte Änderung: 2009-03-23 23:33


Plesk SQL Injektion

Am 10.02.12 erhielten wir folgende E-Mail von Parallels:

Dear Parallels Plesk Panel User:

Please read this message in its entirety and take the recommended actions.

Parallels has been informed of a SQL injection security vulnerability in some older versions of Plesk. This vulnerability is considered critical in nature and customers are advised take action quickly.

A patch has been released to resolve this vulnerability. Based on the version and operating system of Plesk you use, please follow the instructions below.

Linux

Plesk 10 - Update to Plesk 10.3.1 MicroUpdate #6 or later.
Update Instructions: here
If possible, it is recommended to update all the way to Plesk 10.4.4 to provide the most stable user experience.

Plesk 9 - Update to Plesk 9.5.4 MicroUpdate #11 or later
Update Instructions: here

Plesk 8 - Update to Plesk 8.6.0 MicroUpdate #2 or later
Update Instructions: here

Windows

Plesk 10 - Update to Plesk 10.3.1 MicroUpdate #6 or later.
Update Instructions: here
If possible, it is recommended to update all the way to Plesk 10.4.4 to provide the most stable user experience.

Plesk 9 - Apply Fix from Parallels Knowledge Base
Update Instructions: here

Plesk 8 - Apply Fix from Parallels Knowledge Base
Update Instructions: here

If you are already at or above the Version and MicroUpdate levels indicated above - you are already protected from this vulnerability.

Parallels takes the security of our customers very seriously and urges you to act quickly by applying these patches.

Thanks,

- The Parallels Plesk Panel Team

Leider wussten wir zu diesem Zeitpunkt noch nicht, das einer unserer Server bereits kompromitiert war.

Wer dieses Update noch nicht eingespielt hat, sollte dies umgehend nachholen. Leider heisst dies dann nicht, das der Server nicht bereits gehackt wurde. Jeder Admin sollte unbedingt die Logdateien genau durchsuchen, ob nicht bereits sämtliche Passwörter ausgelesen wurden.

Dies kann man wie folgt überprüfen:

Zuerst schaut man sich unter /usr/local/psa/admin/logs die httpsd_access_log an. Nicht nur die sondern auch die gepackten logs, da der Angriff schon vor Wochen stattgefunden haben kann.

Sucht nach dem Eintrag:

"POST /enterprise/control/agent.php HTTP/1.1" 200 185 "-" "-"

Wenn ihr so etwas findet ist noch alles OK. Findet ihr aber so etwas:

"POST /enterprise/control/agent.php HTTP/1.1" 200 3775 "-" "-"

könnt ihr davon ausgehen, das der Angreifer alle eure Plesk Passwörter hat. Ist die Rot eingefärbte Zahl kleiner als 200 kb

Verfasser: Michael Stender
Letzte Änderung: 2012-02-29 21:01


Plesk 10.4.4 Fehler: es wurden keine neuen Konfigurationsdateien für den apache-webserver erstellt, da fehler in den konfiguration-templates vorhanden sind.

Verfasser: Michael Stender
Letzte Änderung: 2012-03-12 23:44


Drweb cron Emails abschalten

Leider gibt es in Drweb einen kleinen Bug und man erhällt bei jedem Virendatenbank update eine Fehlermeldung per Email. Dies kann man wie folgt in der drweb.ini deaktivieren:

/etc/drweb/drweb32.ini

suchen nach

CronSummary = Yes

und ändern in

CronSummary = No

danach den Drweb Daemon neu starten

/etc/init.d/drwebd restart

und schon hören die nervigen Emails auf.

Verfasser: Michael Stender
Letzte Änderung: 2012-03-30 08:35


Plesk 11 Admin Passwort ändern

Verfasser: Michael Stender
Letzte Änderung: 2013-11-13 16:38


Plesk 12 upload Begrenzung in PhpMyAdmin ändern

Um das Upload Limit auf 100 MB zu ändern öffnet man folgende Datei:

/usr/local/psa/admin/conf/php.ini

upload_max_filesize = 100M

post_max_size = 100M

Danach muss man Plesk neu starten:

/etc/init.d/psa restart

Verfasser: Michael Stender
Letzte Änderung: 2014-08-04 00:37


Plesk 12 versendet keine Emails von Systemusern, wenn die Postausgangskontrolle aktiviert wird. (012REJECT)

Habe folgende Fehlermeldung in den Logdateien gefunden:

plesk sendmail[16567]: handlers_stderr: DATA REPLY:554:5.7.0 Your message could not be sent. The user otrs is not allowed to send email.#012REJECT

 

In Plesk gibt es eine Whitelist. Diesen Befehl ausführen und schon läuft es wieder.

/usr/local/psa/admin/sbin/mailmng-outgoing --add-to-whitelist --sysuser=otrs

Verfasser: Michael Stender
Letzte Änderung: 2014-08-09 18:50


DNS-Server

Poweradmin install Fehler

Wenn Ihr die Meldung [quote]Unable to include the DB/mysql.php file[/quote]angezeigt bekommt, versucht erst die perl DB zu installieren: [code]pear install DB[/code]
Eventuell reicht der Speicher in der /etc/php/cli/php.ini nicht aus. Einfach den Speicher erhöhen:
[code]memory_limit = 32M
post_max_size = 32M[/code]

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 03:24


MySQL Server

Mysql optimieren (tuning-primer.sh)

Verfasser: Michael Stender
Letzte Änderung: 2007-08-17 01:02


Alle mysql Datenbanken auf dem Server reparieren

mysqlcheck -A -r

 Das ganze kann man auch Nachts per Cronjob ausführen lassen:

crontab -e

35      0       *               *       0 /usr/bin/mysqlcheck -A -r --silent

Verfasser: Michael Stender
Letzte Änderung: 2007-08-25 21:12


Syscp

Syscp: GPG error … NO_PUBKEY EB8BDC4195A7D80C

Beim Updaten per apt-get update der Debian Pakete erhällt man folgenden Fehler: NO_PUBKEY EB8BDC4195A7D80C

Abhilfe:

wget http://debian.syscp.org/pubkey
apt-key add pubkey
gpg --import pubkey && gpg --fingerprint
rm pubkey 

Verfasser: Michael Stender
Letzte Änderung: 2008-12-20 03:28


Orderpanel

Nach der Umstellung von php4 auf php5 läuft das Orderpanel nicht mehr

Nach der umstellung von php4 auf php5 funktioniert das Orderpanel nicht mehr. Fehlermeldung lautet:

orderpanel fatal error: class '1' not found 

Lösung:

Im Ordner: Data/lib muss die classes.php in der Zeile 40 MYSQL_ASSOC geändert werden:

$obj = mysql_fetch_object($res,MYSQL_ASSOC);
 

ändern in

$obj = mysql_fetch_object($res);

Damit läuft das Bestellsystem wieder.

Dank an joomla100 für den Tip.

Verfasser: Michael Stender
Letzte Änderung: 2010-03-03 22:15


Webfakt Online Panel

Fehlermeldung Class '1' not found in classes.php on line 45

Nach dem Update von PHP4 auf PHP5 funktioniert das Webfakt Online Panel der Fa. Medienuniversum nicht mehr.

einfach in der classes.php, Zeile 45 wie folgt ändern.

$obj = mysql_fetch_object($res,MYSQL_ASSOC);
 

ändern in

$obj = mysql_fetch_object($res);

Verfasser: Michael Stender
Letzte Änderung: 2010-03-03 22:11


Windows

HP Notebook Nvidia Grafik Treiber HDX9350EG Bild friert ein

Seit dem es Windows 7 und Windows 8 gibt, hatte ich immer Probleme mit den aktuellen Nvidia Grafik Treibern für die in meinem HP Notebook eingebauten GTS8800 Grafikkarte. Kurz nachdem ich den neuen Treiber installiert hatte, blieb das System einfach stehen. Der Bildschirm fror (freeze) einfach ein.

Nun habe ich endlich eine Lösung gefunden auch aktuelle Nvidia Grafiktreiber zu verwenden. Das Problem ist, dass Nvidia ab eine speziellen Treiber Revision den standard "Performance level" geändert hat. Mit dem Tool Nvidia Inspector kann man diesen Performance level ganz einfach ändern. Es gibt aber auch ein anderes Tool für Nvidia Grafikkarten. Dies nennt sich nVidiaPowerMizerManager.

Zuerst installiert man den aktuellen Nvidia Grafiktreiber. Sollte das System sofort einfrieren, hilft hier eventuell die installation im Abgesichten Modus (F8).

Ich habe bei mir die einstellungen im nVidiaPowerMizerManager von Min Perf / Max Powersave (Performance level 0) auf Med Perf / Med Powersave (Performance level 1 oder 2) geändert. Seit dem läuft mein Notebook ohne Probleme mit dem aktuellen Nvidia Treibern.

Mein Dank geht hier an RickiBerlin aus dem Notebookreview.com Forum, der diese Lösung erarbeitet hat.

Verfasser: Michael Stender
Letzte Änderung: 2012-12-30 18:07


Windows » Windows 7

Windows 7 Minianwendungen werden nach dem Neustart nicht angezeigt

Zuerst im Taskmanager die sidebar.exe beenden. Dann unter c:\Users\DeinBenutzername\AppData\Local\Microsoft\Windows Sidebar\ die Datei settings.ini in settings.alt umbenennen.

Nun kann man die Minianwendungen aus dem Startmenü "Ausführen" sidebar.exe wieder starten.

Nach dem Neustart sollte die Sidebar automatisch starten.

Verfasser: Michael Stender
Letzte Änderung: 2011-01-09 12:04


Minianwendungen (Gadgets) Raster ändern

Beim verschieben der Minianwendungen in Windows 7, ist das Raster zu groß.

Dies kann man ändern, indem man die Schift Taste festhällt und dann das Gadget mit der Maus verschiebt.

Verfasser: Michael Stender
Letzte Änderung: 2011-01-09 12:09


AVM Fritzbox Freetz Image

AVM Fritzbox Freetz Image erstellen

Als erstes besorgen vir uns eine Virtuelle Maschine. Ich nutze den VMware Player.

Nun benötigen wir Ubuntu DesktopIch nutze die 64bit Version 12.04 LTS.

Nachdem wir den VMware Player installiert haben, installieren wir die virtuelle Ubuntu Maschine. 

 

Bei der installation den Benutzer freetz mit dem Passwort freetz anlegen.

 

Nun ändern wir die Systemsprache auf deutsch. Dazu im linken Menü die Systemeinstellungen öffnen und auf  Languages klicken. Unter Language Add Deutsch durch klicken auf das kästchen auswählen.

 

 

Als nächstes installieren wir mit dem Ubuntu Software Center den Midnight Commander (mc).

Nach der installation erscheint der mc auf der linken Seite des Ubuntu Desktops. Starte den Midnight Commander.

Nun werden wir ubuntu auf den neusten Stand brigen und einige Pakete installieren.

sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

 

sudo apt-get -y install imagemagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-cor

 

Wechsel in das /freetz Benutzerverzeichniss.

Im Benutzerverzeichniss /freetz geben wir umask 0022 ein.

Danach laden wir uns den freetz code runter: 

svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-stable-2.0

cd freetz-stable-2.0

Freetz starten mit make menuconfig.

 

Verfasser: Michael Stender
Letzte Änderung: 2013-11-26 18:36


Windows » Windows 8.1

Office 2013 FontCache Dienst lässt sich nicht starten Fehler 1083 "Der Dienst "Windows-Dienst für Schriftartencache" wurde aufgrund folgenden Fehlers nicht gestartet: In dem ausführbaren Programm, in dem der Dienst ausgeführt wird, ist der Dienst nicht implementiert."

Regedit starten und unter 

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Svchost

im rechten Fenster auf alle Einträge die mit LocalService beginnen doppel klicken, dies hier zusätzlich in einer neuen Zeile eintragen:

FontCache

Windows neustarten.

Verfasser: Michael Stender
Letzte Änderung: 2014-01-18 04:23


Mailserver

SuSE 8.2 Postfix HOWTO Cyrus Spamschutz Virenscanner

Diese Anleitung basiert auf eine SuSE 8.2 Distrubtion und der Anleitung aus dem RootForum.

Mail & MTAs: Postfix aktualisieren und mit Blockern und Virenscanner versehen 
Bei Suse 8.1 wird eine Postfix-Version 1.x installiert.
Diese ist aber nicht allzu frisch, außerdem fehlen eine Menge Features,
die man zur Viren und Spam-Abwehr benötigt.

Trotzdem sollte bei Euch schon das SuSE-Postfix installiert sein,
da es etwas einfacher macht und SuSEconfig Euch den Ärger mit den
Rechten und er chroot-Umgebung abnimmt.

Postfixversion 2.0.18.
postconf mail_version zeigt an welche Version Ihr benutzt.
postconf –m zeigt alles an was bei euch eincompiliert ist.

unix:~ # postconf -m
static
sdbm
pcre
nis
regexp
environ
proxy
ldap
btree
unix
hash

Zum bauen von Postfix werden folgende Pakete benötigt, die man mit yast eigespielt werden.
cyrus-sasl
cyrus-sasl-devel
db-devel
openldap-lib
openldap2
openldap2-client
openldap2-devel
openssl
openssl-devel
pcre

unix:~ # ldd /usr/lib/postfix/smtpd #zeigt an welche libs benutzt werden.

Ladet Euch die neue Version von Postfix herunter:

unix:~ # cd /usr/local/src/
wget
ftp://ftp.pca.dfn.de/pub/tools/net/postfix/official/postfix-2.0.18.tar.gz
gunzip postfix-2.0.18.tar.gz
tar xvf postfix-2.0.18.tar
cd postfix-2.0.18/

make tidy

SASL1:
[code]make makefiles CCARGS="-DHAS_LDAP -DHAS_PCRE -DUSE_SASL_AUTH -DHAS_SSL "
AUXLIBS="-lldap -llber -lpcre -lsasl -lssl -lcrypto"[/code]
SASL1+MYSQL:
make makefiles CCARGS="-DHAS_LDAP -DHAS_PCRE -DUSE_SASL_AUTH -DHAS_SSL -DHAS_MYSQL" AUXLIBS="-lldap -llber -lpcre -lsasl -lssl -lcrypto -L/usr/lib/mysql -lmysqlclient -lz -lm"

(Das ist alles in einer einzelnen Zeile zu schreiben!)
Falls Ihr mit mysql-Unterstützung arbeiten wollt, gebt das ein:

SASL2:
make makefiles CCARGS="-DHAS_LDAP -DHAS_PCRE -DUSE_SASL2_AUTH -DHAS_SSL " AUXLIBS="-lldap -llber -lpcre -lsasl2 -lssl -lcrypto"

SASL2+MYSQL:
make makefiles CCARGS="-DHAS_LDAP -DHAS_PCRE -DUSE_SASL2_AUTH -I/usr/include/sasl2 -DHAS_SSL -DHAS_MYSQL -I/usr/include/mysql" AUXLIBS="-lldap -llber -lpcre -L/usr/lib -lsasl2 -lssl -lcrypto -L/usr/lib -lmysqlclient -lz -lm"

(Auch das ist alles in einer einzelnen Zeile zu schreiben!)

[code]make[/code]

Wenn hier Fehler auftreten (meist fehlende Libs) dann behebt die durch installieren den nötigen Libs (achtet darauf, das ihr immer das *-devel-Zeug benötigt!)

[code]postconf -m[/code]

static
sdbm
pcre
nis
regexp
environ
proxy
ldap
btree
unix
hash
[code]
unix:/usr/local/src/postfix-2.0.18 # newaliases
unix:/usr/local/src/postfix-2.0.18 # rcpostfix stop
unix:/usr/local/src/postfix-2.0.18 # make upgrade
unix:/usr/local/src/postfix-2.0.18 # rcpostfix start[/code]

Jetzt öffnet mit tail –f /var/log/mail das log und schaut,
ob irgendwelche Fehler aufgetaucht sind.
Wenn nicht, toll, dann habt ihr jetzt ein neues Postfix.
Wenn Warnungen im Log aufgetreten sind, liegt das wahrscheinlich daran,
das Postfix ein paar Konfigurationen umbenannt hat.
Das ist nicht wild, sucht einfach nach der alten (wie im Log angegeben)
und ersetzt diese durch die neue (auch wie im Log angegeben).
Anschließend noch ein Restart:


[code]unix:~ # rcpostfix restart[/code]


Und wieder Logfiles kontrollieren.

Nachdem Postfix nun richtig läuft, können wir mal anfangen das ganze
zu konfigurieren und unsere User vor Viren, Spam und (eigener?) Dummheit schützen.

unix:~ # cd /etc/postfix/
unix:/etc/postfix/ # wget http://www.twosteps.net/download/checks.tgz
unix:/etc/postfix/ # tar xvzf checks.tgz

Das holt die Body/Mime und Header-Check-Dateien von einem meiner Server
und entpackt diese unter dem Postfix-Verzeichnis.

Nun müssen wir die main.cf noch anpassen:

unix:/etc/postfix/ # mcedit main.cf


Fügt dort folgendes ziemlich weit unten ein:


header_checks = pcre:/etc/postfix/header_checks
body_checks = pcre:/etc/postfix/body_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks

 

Unter strict_rfc821_envelopes tragt Ihr die Spamlists ein,
die euch gefallen. Mit gefallen spamhaus, ordb und dsbl, aber jeder wie er es mag ;)


maps_rbl_domains =      sbl.spamhaus.org,
                        relays.ordb.org,
                        unconfirmed.dsbl.org

Euere smtpd_recipient_restrictions sollte in etwa so aussehen:
(achtet auf die Reihenfolge!)


smtpd_recipient_restrictions = permit_sasl_authenticated,
  permit_mynetworks,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_non_fqdn_hostname,
  reject_unknown_recipient_domain,
  reject_invalid_hostname,
  reject_unknown_hostname,
  reject_unknown_sender_domain,
  reject_rbl_client,
  permit_mx_backup,
  reject_unauth_destination


Das ganze nun Abspeichern und postfix wieder neu starten.
Wenn das ohne Fehler gelaufen ist, können wir nun an den Virenscanner gehen.

Holt euch von HBV http://www.antivir.de/download/download.htm den „AntiVir MailGate Linux“.
Für den Privaten Einsatz ist der kostenlos zu registrieren.
Entpackt ihn und ruf das install-script auf.

Nun müssen wir die main.cf von Postfix wieder anpassen:

unix:/etc/postfix/ # joe main.cf

sucht dort eine Zeile mit content_filter.
Falls sie nicht da ist, fügt sie hinzu. In jedem fall sollte das ganze dann so aussehen:

content_filter = smtp:127.0.0.1:10024

Das ganze nun Abspeichern, postfix noch nicht neu starten.
editiert nun die master.cf

unix:/etc/postfix/ # mcedit master.cf

Editiert dort die Zeile localhost so dass sie hinterher so aussieht:


localhost:10024 inet n - n      -       -     smtpd -o content_filter=


Das ganze nun Abspeichern und postfix neu starten.
Schaut wieder im Logfile, ob alles richtig läuft.
Wenn ja, dann schickt euch mal eine Mail.
Der Virenscanner sollte gleich loslegen (sichtbar mit tail –f /var/log/mail ).

So. Das wars.

Verfasser: Michael Stender
Letzte Änderung: 2008-03-01 20:29


PortSentry installieren

PortSentry kann man mittlerweile von SourceForge runterladen.
Dazu sucht man sich auf der Seite http://sourceforge.net/projects/sentrytools/ das Tool PortSentry aus, und folgt einfach den Links.

Wenn PortSentry nach /usr/src runtergeladen wurde, kann man nun fortfahren.


# cd /usr/src
# tar -xzf portsentry-1.2.tar.gz

In der Datei portsentry_config.h kann man schon einiges konfigurieren, wie z.B. den Pfad zur Konfigurationsdatei, und die Syslog Einstellungen.
Beachten sollte man hierbei, dass die Bretterkreuze (#) nicht als Kommentarzeichen dienen, sondern Anzeiger für Compilerbefehle sind, also nicht löschen!

Um meiner Empfehlung der Installation nach /usr/local/portsentry zu folgen, sollte die Datei wiefolgt abgeändert werden.

#define CONFIG_FILE "/usr/local/portsentry/portsentry.conf"

Nun muss die portsentry.conf editiert werden, dazu die Einträge suchen und abändern:

IGNORE_FILE="/usr/local/portsentry/portsentry.ignore"
HISTORY_FILE="/usr/local/portsentry/portsentry.history"
BLOCKED_FILE="/usr/local/portsentry/portsentry.blocked"

Um den Angreifer via Packet Filter zu blocken (empfohlene Methode), muss eine der Optionen KILL_ROUTE aktiviert werden.
Ich persönlich benutze IpTables, darum nehme ich das Kommentar vor

KILL_ROUTE="/usr/sbin/iptables -I INPUT -s $TARGET$ -j DROP

weg und ändere /usr/sbin/iptables auf den Pfad zu IpTables in meinem System.
Dieser Pfad lässt sich leicht mit

# whereis iptables

herausfinden.

Wer will, kann noch den Text der Variable PORT_BANNER ändern und das Kommentar davor löschen.


Nun muss die Datei portsentry.ignore bearbeitet werden.
Hier muss mindestens 127.0.0.1, 0.0.0.0 und die IP des Servers rein.
Wenn die IP-Adresse (wie beim 1&1 Rootserver) via DHCP vergeben wird, muss hier auch die Adresse des DHCP-Servers rein.
Diese DHCP-Adresse kann man mittels
# cat /var/state/dhcp/dhcpcd-eth0.info | grep DHCPSIADDR

herausfinden.

Die Datei portsentry.ignore kann dann so aussehen:

# lo
127.0.0.1

#
0.0.0.0

# IP des Servers
217.xx.xx.xx

# IP des DHCP-Servers
217.xx.xx.xx


--------------------------------------------------------------------------------

2. Kompilieren/Installieren
Um den Installationspfad auf /usr/local/portsentry zu setzen, muss Makefile noch abgeändert werden.
Dazu muss ungefähr in Zeile 40 die Variable INSTALLDIR auf /usr/local gesetzt werden.

Dann wieder in der Konsole:


# make linux
# make install

Nun ist PortSentry unter /usr/local/portsentry installiert.


--------------------------------------------------------------------------------


3. Automatisierung
Im Moment wird der Angreifer solange geblockt, bis die Filterregeln manuell entladen werden.
Um das Entladen zu vereinfachen, habe ich noch ein kleines Perlscript geschrieben, das man in das PortSentry Installationsverzeichnis mit rein packt.
# cd /usr/local/portsentry
# wget http://www.rob-schulze.de/informatik/tutorials/portsentry/filtermgr
# chmod 700 filtermgr

Im Script muss unbedingt eine Variable angepasst werden.
Je nachdem, in welches Verzeichnis man das Script packt, muss die Variable $BASE_DIR entsprechend angepasst werden.
Ich gehe hier von dem Verzeichnis aus, in das ich auch PortSentry installiert habe.
Hier bitte aufpassen, dass kein Slash am Ende steht und das Semikolon nicht vergessen.

my $BASE_DIR="/usr/local/portsentry";

Nun muss das Script mit PortSentry verbunden werden.
Dazu öffnet man die /usr/local/portsentry/portsentry.conf und löscht erstmal (oder kommentiert) alle KILL_ROUTE Einträge. Außerdem muss man sich noch folgende Einträge suchen und folgend abändern, damit nun lediglich das Script blockt, PortSentry dient nun ausschließlich zum Erkennen der Scans.

BLOCK_UDP="2"
BLOCK_TCP="2"

KILL_RUN_CMD="/usr/local/portsentry/filtermgr -a $TARGET$"


Die Zeit, nachdem eine geblockte IP wieder zugelassen werden soll, kann man innerhalb des Scripts einstellen.
Dazu einfach mit einem Editor öffnen und den Wert hinter $BLOCK_TIMEOUT (Standard habe ich als 30 Minuten festgelegt) ändern.
Achtung, die Zeit wird dort in Sekunden angegeben, man kann aber ohne Probleme die Übersicht halten, in dem man einfach z.B. 1 Stunde als 60*60 schreibt.
Hier bitte keine Anführungsstriche benutzen und das Semikolon nicht vergessen.


Um regelmäßig das Löschen der alten IPs zu veranlassen, reicht ein kleiner Cronjob.
Also die eine Datei /etc/cron.d/filtermgr erzeugen und Folgendes reinschreiben:

# Jede halbe Stunde das Loeschen alter IPs veranlassen (portsentry)

*/30 * * * * /usr/local/portsentry/filtermgr -d

 

So nun fehlt bloß noch eins, nämlich ein Startskript, sodass PortSentry bei jedem Start automatisch geladen wird.

# cd /etc/init.d
# wget http://www.rob-schulze.de/informatik/tutorials/portsentry/rcportsentry
# chmod 700 rcportsentry

Das Script muss nun bloß noch ins Runlevel 3 gelinkt werden:

# cd /etc/init.d
# ln -s /etc/init.d/rcportsentry /etc/init.d/rc3.d/S08portsentry
# ln -s /etc/init.d/rcportsentry /etc/init.d/rc3.d/K17portsentry


Fertig.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:47


FrontPage SuSE Linux 8.2 und Confixx

/etc/httpd/httpd.conf
LoadModule frontpage_module /usr/lib/apache/mod_frontpage.so
AddModule mod_frontpage.c

/etc/httpd/mod_frontpage.conf
# FrontpageDisable

cd /root/
wget http://download.webmasterhilfe.de/fp40.linux.tar.gz

cd /usr/local/
tar xzvf /root/fp40.linux.tar.gz

/root/confixx/confixx_main.conf
$fp_homeDir = '/usr/local/frontpage'

mv /usr/sbin/fpexec /usr/sbin/fpexec_old

cd /usr/sbin/
wget http://download.webmasterhilfe.de/fpexec)

chmod 755 /usr/sbin/fpexec
chmod u+s /usr/sbin/fpexec

mkdir /usr/local/httpd
mkdir /usr/local/httpd/htdocs

rcapache restart

/root/confixx/confixx_counterskript.pl
/root/confixx/confixx_counterskript.pl
/root/confixx/confixx_counterskript.pl

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:48


MailScanner Installation Guide

Diese Anleitung basiert auf der Anleitung von Julian Field.
http://www.sng.ecs.soton.ac.uk/mailscanner/install/

As with the other mail systems, MailScanner sits in between 2 copies of Postfix running on the same machine. The incoming one provides SMTP service and doesn't do any delivery, the outgoing one does all the delivery. MailScanner sits in between them and moves/copies messages as necessary from the delivery queue of the incoming Postfix to the incoming queue of the outgoing Postfix.

How to Set Up Postfix for MailScanner Use
Install Postfix (version 1 or 2) and get it all working.
Stop Postfix using a command
postfix stop
Make sure you have the chroot jail set up in /var/spool/postfix. You should be able to see "etc", "usr" and "lib" directories inside /var/spool/postfix). If you haven't got the chroot jail setup already, then look in the "examples" directory of the Postfix documentation and you will find a script in there to set up it up for your operating system. If you can't find that, then see the "Problems or Errors" section further down this page.
Copy the postfix configuration files for the incoming Postfix:
cp -rp /etc/postfix /etc/postfix.in
Tell the incoming Postfix not to deliver mail: Edit /etc/postfix.in/main.cf and add a line at the top that says this:
defer_transports = smtp local virtual relay
In the same file, look for the definition
queue_directory = /var/spool/postfix
and change it to
queue_directory = /var/spool/postfix.in
If you have a chroot jail setup in /var/spool/postfix, copy the postfix spool are to the incoming setup using a command
cp -rp /var/spool/postfix /var/spool/postfix.in
Otherwise, just create the new spool directory for the incoming Postfix using a command
mkdir /var/spool/postfix.in
When the incoming Postfix starts up, it will create any missing files and directories it needs in there.
Tell the outgoing Postfix not to provide an SMTP service: Edit /etc/postfix/master.cf and comment out the following line by inserting a "#" at the start of the line:
smtp   inet    n       -       y       -       -       smtpd
How to Set up MailScanner for Use with Postfix
In your MailScanner.conf file (probably in /etc/MailScanner or /opt/MailScanner/etc), there are 5 settings you need to change. They are all really near the top of the file. The settings are

     Run As User = postfix
     Run As Group = postfix
     Incoming Queue Dir = /var/spool/postfix.in/deferred
     Outgoing Queue Dir = /var/spool/postfix/incoming
     MTA = postfix

If you are using the RedHat RPM distribution, one change will enable all the Postfix support in the init.d script. Edit /etc/sysconfig/MailScanner and set

    MTA=postfix

You will need to ensure that the user "postfix" can write to /var/spool/MailScanner/incoming and /var/spool/MailScanner/quarantine:

    chown postfix.postfix /var/spool/MailScanner/incoming
    chown postfix.postfix /var/spool/MailScanner/quarantine

If you upgrade your copy of MailScanner, unfortunately these directories will be changed back to being owned by root, so you will have to do those 2 commands again.

Starting It All Running
If on a system installed using the RedHat RPM distribution, please edit /etc/sysconfig/MailScanner and set it up for your mail system. Then just use the init.d script to do it all for you:
/etc/rc.d/init.d/MailScanner start
(or on RedHat systems just service MailScanner start) If not using the RedHat RPM distribution, then
Start the incoming Postfix
postfix -c /etc/postfix.in start
Start the outgoing Postfix
postfix -c /etc/postfix start
Start MailScanner
check_MailScanner
Problems or Errors
If you are using RedHat Linux and Postfix or sendmail, please make sure that your system is switched to the correct mail system. You can set this by running the command
redhat-switchmail-nox
and then pick the mail system you want to use. You should then edit /etc/sysconfig/MailScanner to match that setting.

sendmail: invalid option -- O
See the paragraph above. You have your RedHat system set to use Postfix while you are telling MailScanner to use sendmail. Both settings must be the same.
Unknown service
If you get lots of "smtp/tcp" "unknown service" errors in your maillog when you send a test message through it, then either your chroot jail is set up wrong or you haven't got one at all. Take a look in /etc/postfix/master.cf and find the "chroot" column in the table of settings. Set all "y" to "n" in this column so that it doesn't try to chroot.
If you want to use chroot but can't get it right, then download a copy of Postfix version 2 from www.postfix.org. In the distribution documentation directories, you will find a script that will set up the chroot jail for your operating system. Run that script and then try using the chroot jail again.

Verfasser: Michael Stender
Letzte Änderung: 2007-08-08 02:51


Outlook Authentifizieren

Outlook: Server erfordert Authentifizierung

Um mit einem E-Mail Client Nachrichten über ihren AKTIVhost Account zu versenden, ist die Anmeldung beim Postausgangsserver zwingend erforderlich. Dieses Verfahren wird ASMTP (Authenticated Simple Mail Transfer Protocol) oder SMTP-Auth bezeichnet. Die Anmeldung dient vor allem dazu, den Versand von unerwünschten E-Mails (Spam) zu verhindern.

Die folgende Anleitung zeigt Ihnen, wie Sie Ihr Programm entsprechend einrichten.

Schritt 1 - Aufrufen des E-Mail Kontos

Klicken Sie oben in der Menüleiste auf "Extras > E-Mail Konten".

Wählen Sie "Vorhandene E-Mail-Konten anzeigen oder bearbeiten". Öffnen Sie in der folgenden Übersicht bitte mit einem Linksklick ein bestehendes Konto und klicken anschließend auf "Ändern", um ein bestehendes Konto zu bearbeiten.

Bestätigen Sie mit einem Klick auf "Weiter".

Schritt 2 - Anmeldeinformationen einstellen

Stellen Sie im folgenden Fenster sicher, dass unter "Benutzername" Ihre komplette E-Mail Adresse eingetragen ist. Anschließend öffnen Sie bitte die Option "Weitere Einstellungen".

 

Schritt 3 - Server erfordert Authentifizierung

Wechseln Sie in die Karteikarte "Postausgangsserver" und aktivieren Sie die Option "Der Postausgangsserver (SMTP) Server erfordert Authentifizierung anmelden mit". Tragen Sie dort Ihre komplette Email Adesse und Ihr Passwort ein.

Outlook authentifizieren

 

Für Mac Mail tragen Sie bitte folgendes ein:

Tragen Sie nun folgende Informationen in den Dialog "Server für ausgehende E-Mails" ein:

  1. Beschreibung: meinedomain.de
  2. Server für ausgehende E-Mails: mail.meinedomain.de
  3. Checkbox für "Nur diesen Server verwenden" ausfüllen
  4. Checkbox für "Identifizierung verwenden" ausfüllen
  5. Benutzername: Ihre E-Mail-Adresse oder Ihren gewählten Login-Namen z.B. ich@meinedomain.de
  6. Passwort: Ihr Kennwort

Verfasser: Michael Stender
Letzte Änderung: 2016-08-10 12:08