Update script

Het eerste in de verzameling scripts. Mijn to-do lijstje wat enkel nog in mijn hoofd zit had dit nog op het programma staan. Op de site van Henk van de Kamer kwam ik een update script tegen waarmee een aptitude upgrade run gesimuleerd wordt. Als er dan updates klaar staan dan wordt er een mailtje verzonden zodat je de update kunt starten.

Hieronder vindt je het script wat ik van hem geleend heb. Voor mijn eigen referentie heb ik hier de kopie ervan bewaart:

#!/bin/bash

# Simuleer een upgrade
#
cd ~/scripts
aptitude update >/dev/null
aptitude -y -s upgrade | sed -re '/ded\.$/,$ d' -e '/led:$/,$ d' -e '1,/ded:$/ d' > mailfile
if [ -s mailfile ]; then
  cat mailfile | mail -s "`hostname -s` wil update" ********@********.nl
fi
rm mailfile

Uiteraard horen er andere tekens op de plek van de sterretjes die je ziet. Ik heb om spam te voorkomen mijn mailadres verborgen.

Het script doet bij het aanroepen wel iets, er wordt namelijk zowiezo een mailfile aangemaakt. Tot op heden heb ik nog geen update hoeven installeren dus of ik een mail krijg moet ik nog even afwachten. Het mailen zelf heb ik al wel getest dus daar zal het niet aan liggen.

Tijd

Vandaag kwam ik erachter dat ik om 10 uur ’s avonds al voor de volgende dag aan het posten was. Ergens klopt er iets niet. Toch maar even de tijd goed zetten.

Je kan de tijd van de server natuurlijk handmatig instellen. Maar uiteindelijk zal de tijd gaan verlopen. Het automatiseren hiervan is dus handiger. Hiervoor installeer ik de pakketten ntp en ntpdate

Arkon:~# aptitude install ntp ntpdate

Als alles goed gaat dan wordt de NTP service na de installatie automatisch gestart. We kunnen dit controleren met het volgende commande:

Arkon:~# ntpq -p

Dit commando draait een NTP query en de optie -p zorgt ervoor dat er een lijst van de servers geprint wordt die in /etc/ntp.conf genoemd worden. Ook laat het van deze servers de status zien.

Voor de zekerheid nog even de tijdzone controleren en/of goedzetten met:

Arkon:~# tzconfig
Your current time zone is set to Europe/Amsterdam
Do you want to change that? [n]: n
Your time zone will not be changed

En zoals je ziet staat mijn tijdzone prima aangezien ik in Nederland woon en daar ook mijn server heb staan.

Als laatste met date nog even kijken of de aanpassingen succesvol waren:

Arkon:~# date
Sat Feb 23 23:02:26 CET 2008

En ook dat klopt, CET oftewel Central European Time en de juiste tijd ook nog eens.

Vanaf nu zal het tijdstip wat er bij mijn blogposts staat dus ook werkelijk kloppen.

Nieuw theme wp-multiflex-3

Na een redelijke zoektocht heb ik eindelijk een thema gevonden wat me wel past. Uiteraard zal ik na verloop van tijd het thema wel bijschaven maar voor nu is het al heel wat.

Ik heb het thema gevonden op WordPress Themes.nl en had gedacht dat ik er dan helemaal klaar mee zou zijn. Meteen in het nederlands dus. Helaas bleek dit een illusie… Een aantal pagina’s konden namelijk niet eens meer geladen worden waardoor de enkele topics inclusief reacties niet meer te zien waren.

Vervolgens heb ik het origineel op Webgazette.co.uk opgehaald om vervolgens de verschillen eens na te pluizen.

Arkon:~$ diff -crN wp-multiflex-3-nl/ wp-multiflex-3/ > wp-multiflex-3-nl.patch

Deze verschillen heb ik vervolgens handmatig nageplozen en elk bestand met de hand aangepast. Hierdoor kwam ik erachter dat de vertalers van WordPress Themes.nl het niet zo heel nauw genomen hebben met de vertaling. Het is namelijk niet handig om de commentaren in de bronbestanden te vertalen. Het is al helemaal niet goed om ook de variabelen te vertalen en dit maar gedeeltelijk te doen. Vandaar ook het probleem met het laden van de pagina’s.

Ook hebben ze botweg het bestand footer.php aangepast door de oorspronkelijke maker van het thema weg te laten. Niet heel netjes, dit heb ik dus hersteld. Omdat ik eigenlijk het hele thema opnieuw vertaald en gecontroleerd heb is de referentie naar WordPress Themes.nl volledig uit de footer verdwenen. Als ze zelf geen credits willen afgeven dan zullen ze het ook niet krijgen ook.

Als laatste was er nog een probleem met de weergave van de tijd. Hiervoor hebben ze de functie

Als opschoning nog even een patch andersom maken zodat ik bij een eventuele nieuwe installatie dit process niet nogmaals hoef door te gaan:

Arkon:~$ diff -crN wp-multiflex-3/ wp-multiflex-3-nl/ > wp-multiflex-3_v1-3-NL.patch

Deze patch is te downloaden: wp-multiflex-3_v1-3-NL.patch

Eerdaags nog even de oorspronkelijke auteur van dit thema inlichten over mijn aanpassing.

Fail2ban

Naar aanleiding van de Problemen Arkon (4) heb ik vandaag een volautomatisch blockprogramma geinstalleerd. De keuze is gevallen op fail2ban. Waarom zul je denken? Ik had het namelijk de vorige keer over snort en snortblock. Snort is inderdaad een intrusion detection systeem wat al een behoorlijke tijd aan de weg timmert. Blokkeer mogelijkheden zitten er niet in en snortblock was een shell script wat iemand van het Freesco support forum in elkaar geknutseld heeft. In hoevere dit bijgehouden wordt weet ik niet, dus vandaar dat ik op zoek ben gegaan naar een vervanger. Uiteindelijk kwam ik uit op fail2ban als enkel pakket wat zowel het detecteren als het blokkeren voor zijn rekening neemt. Continue reading “Fail2ban”

PureFTPd-mysql installeren (6)

De ftp-server draait al een paar dagen op poort 2121. Vanuit het interne netwerk is daar geen enkel probleem mee. Maar van buitenaf is er een behoorlijk probleem. De ftp-client wil in passive mode gaan en kan vervolgens niet connecten.

Na wat nazoekwerk kom ik erachter dat de router (een sitecom DC-202v5) een stukje verkeer aan het blokkeren is. De poorten die namelijk gebruikt worden voor de Passive verbinding worden niet doorgelaten.

Aanmaken bestand PassivePortRange:

Arkon:~# nano /etc/pure-ftpd/conf/PassivePortRange
Arkon:~# /etc/init.d/pure-ftpd-mysql restart
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/d
40000 45000

En vervolgens het herstarten van de ftp-server:

/etc/init.d/pureftpd restart

En die forwarden. Als het goed is moet het nu wel lukken.

PureFTPd-mysql installeren (5)

Voordat ik het uitzoekwerk van snortblock afgerond heb zal ik toch iets moeten doen om ftp misbruik te beperken. De enige snelle oplossing die ik hiervoor het is het aanpassen van het poortnummer. Dit kan ik in mijn geval op 2 plaatsen doen, namelijk in de router door een poort door te sturen naar het interne ip adres van Arkon op poort 21 (standaard). Of door pureftpd te laten luisteren op een andere poort. Dit doe je door een bestand aan te maken in /etc/pureftpd/conf en hierna de server te herstarten:

Arkon:~# nano /etc/pure-ftpd/conf/Bind
Arkon:~# /etc/init.d/pure-ftpd-mysql restart
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -O clf:/var/log/pure-ftpd/transfer.log -u 1000 -j -A -E -S **** -B

In dit bestand zet je enkel het poortnummer waarop je de ftp-server wil draaien.

Zoals je (niet) ziet staat nu het poortnummer op een andere poort door middel van de optie -S die staat voor –bind

Nu nog even de gegevens in de router updaten naar deze wijziging zodat we ook van buitenaf bereikbaar zijn op dat poortnummer. Helaas werkt mijn router niet zo vernuftigd zoals ik hierboven noemde, ik kan enkel poorten 1:1 doorsturen. Een poortwissel met het forwarden kent ie niet 🙁

Problemen Arkon (4)

Ik heb een flauw vermoeden waar de problemen vandaan komen die mijn systeem plat hebben gegooid. Ik zie namelijk in de messages log veelvuldig de volgende regels langs komen:

Feb 19 14:49:18 Arkon pure-ftpd: (?@80.190.202.###) [WARNING] Authentication failed for user [Administrator]
Feb 19 14:49:28 Arkon pure-ftpd: (?@80.190.202.###) [INFO] PAM_RHOST enabled. Getting the peer address

Tijd voor een banscript.

In het verleden heb ik al eens gewerkt met snortblock, ik moet er echter opnieuw induiken omdat dit een volledig voorgeconfigureerd Freesco pakket is en dat draait hier niet meer. Het mooie hiervan is dat er na een aantal mislukte poging het ip gebant wordt en dat dit voor meerdere protocollen gebruikt kan worden.

Problemen Arkon (2)

Ik heb ondertussen van mijn systeem ook een mailtje ontvangen:

puredatabase.ftptabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_commentstabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_linkstabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_optionstabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_postmeta
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_poststabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_term_relationshiptabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_term_taxonomytabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_termstabel
warning  : 1 client is using or hasn't closed the table properly
wordpressdatabase.wp_usermetatabel
warning  : 1 client is using or hasn't closed the table properly

Dat verklaart meteen waarom ik op dit blog geen wijzigingen kon doorvoeren.

*edit* Tabelstructuur even aangepast, niet iedereen hoeft te weten hoe mijn database en de daarin opgeslagen tabellen genoemd worden.