samedi 6 février 2010

ubuntu logo LOL

En cherchant 'ubuntu logo' sur google le lien nous redirige sur ce site , je me demande comment ils feront avec le logo de debian lolll

mardi 8 décembre 2009

atftpd[23943]: Requested file to big, increase BLKSIZE

Si vous avez ce message, c'est que le serveur tftp atftp a reçu/envoyé un fichier très gros et qu'il ne supporte pas, il y a des manips sur Internet et j'ai testé mais rien à faire, le problème c'est au niveau du code. Donc ma solution est encore simple, utilisez un autre serveur tftp, c'est tftpd .


# aptitude install tftpd


Editer le fichier de conf de inetd avec votre éditeur favori :


# emacs /etc/inetd.conf


Changer la ligne qui commence par tftp par

tftp  dGram   udp4    wait    nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot


Ici le répertoire de destination est le /tftpboot , pour relancer inetd c'est simple:


# killall inetd ; inetd &

mardi 17 novembre 2009

Comment monter un répertoire FTP distant en local

La solution est simple :


# aptitude install curlftpfs
# mkdir remote_dir
# curlftpfs ftp://username:mypass@ftp.example.mg/ remote_dir
# ls -al remote_dir/


Et voilà, on peut vérifier :


# df -h
Filesystem Size Used Avail Use% Mounted on
...
curlftpfs 7.5T 0 7.5T 0% /home/thierry/remote_dir

Pour démonter la commande est simple :

fusermount -u remote_dir

vendredi 16 octobre 2009

Automatiser les accès FTP,SFTP,SSH avec python pexpect

Voici un des moyens d'automatiser le téléchargement avec FTP,SFTP ou le lancement d'une commande avec ssh ou telnet, dans l'exemple, j'utilise le module python pexpect qui se connecter sur un serveur SFTP puis telecharge des fichiers. Pour ssh on peut utiliser le système de clés mais pour FTP, telnet ce n'est pas possible et si vous n'etes pas aussi l'admin du serveur distant.

Voici de code, évidemment il faut installer les paquets openssh-client et python-pexpect si vous utilisez ubuntu ou debian


#!/usr/bin/env python

import pexpect

p=pexpect.spawn('sftp -C -R 128 thierry@113.231.167.XXX')
p.expect("thierry@113.231.167.XXX's password: ")
p.sendline('MyVerySecurePassword')
p.expect('sftp> ')
p.sendline('get foo.bar /home/thierry/')
p.expect('sftp> ',timeout=None)
p.sendline('bye')


Ceci est un simple exemple vous pouvez l'améliorer en ajoutant un expect s'il demande d'accepter la clé du serveur ...

lundi 28 septembre 2009

debian + squid + dansguardian + antivirus + havp

Je vais expliquer rapidement comment installer et configurer un serveur proxy transparent sur une debian dans mon cas c'est Lenny.
Le serveur proxy filtera aussi les contenu des site visités avec Dansguardian et vérifiera si les fichiers reçus par l'utilisateur contient des virus avec Clamav. Dans la configuration le proxy n'agira que sur le protocole HTTP sur le port 80 si vous cherchez un 'full transparent' utiliser plutôt tproxy . Le principe est simple, on redirige les trafics sur le port 80 vers le port 8080 de Dansguardian qui filtre selon les règles puis redirige sur le port 8090 de HAVP enfin Squid le reçoit sur le port par défaut 3128.


Selon les informations sur le net Squid est plus performant sur une partition en resiserfs qui gère mieux une grande quantité de petits fichiers. Choisissez aussi des disques rapides.
Dans l'exemple j'ai utilisé Debian 5.0 ou Lenny, ajouter cette ligne dans /etc/apt/sources.list :

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Puis on installe les packets :

aptitude update
aptitude install squid3 dansguardian clamav clamav-base havp


Configuration de dansguardian :
Le fichier de configuration est le /etc/dansguardian/dansguardian.conf

cp /etc/dansguardian/dansguardian.conf /etc/dansguardian/dansguardian.conf.orig

Modifier le fichier et ça donne :

# grep -v '^#' dansguardian.conf | sed -e '/^$/d'
reportinglevel = 3
languagedir = '/etc/dansguardian/languages'
language = 'french'
loglevel = 2
logexceptionhits = 2
logfileformat = 3
syslog = on
loglocation = '/var/log/dansguardian/access.log'
filterip = 192.168.0.200
filterport = 8080
proxyip = 127.0.0.1
proxyport = 8090
accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
nonstandarddelimiter = on
usecustombannedimage = on
custombannedimagefile = '/usr/share/dansguardian/transparent1x1.gif'
filtergroups = 1
filtergroupslist = '/etc/dansguardian/lists/filtergroupslist'
bannediplist = '/etc/dansguardian/lists/bannediplist'
exceptioniplist = '/etc/dansguardian/lists/exceptioniplist'
showweightedfound = on
weightedphrasemode = 2
urlcachenumber = 5000
urlcacheage = 900
scancleancache = on
phrasefiltermode = 2
preservecase = 0
hexdecodecontent = off
forcequicksearch = off
reverseaddresslookups = off
reverseclientiplookups = off
logclienthostnames = off
createlistcachefiles = on
maxuploadsize = -1
maxcontentfiltersize = 128
maxcontentramcachescansize = 2000
maxcontentfilecachescansize = 20000
filecachedir = '/tmp'
deletedownloadedtempfiles = on
initialtrickledelay = 20
trickledelay = 10
downloadmanager = '/etc/dansguardian/downloadmanagers/fancy.conf'
downloadmanager = '/etc/dansguardian/downloadmanagers/default.conf'
contentscannertimeout = 60
contentscanexceptions = off
recheckreplacedurls = off
forwardedfor = off
usexforwardedfor = off
logconnectionhandlingerrors = on
logchildprocesshandling = off
maxchildren = 180
minchildren = 32
minsparechildren = 8
preforkchildren = 10
maxsparechildren = 64
maxagechildren = 500
maxips = 0
ipcfilename = '/tmp/.dguardianipc'
urlipcfilename = '/tmp/.dguardianurlipc'
ipipcfilename = '/tmp/.dguardianipipc'
nodaemon = off
nologger = off
logadblocks = off
loguseragent = off
softrestart = off
mailer = '/usr/sbin/sendmail -t'
root@proxy:/etc/dansguardian#


Vous avez remarqué que mon proxy utilise l'IP 192.168.0.200 . Passons à HAVP, la configuration est simple :

root@proxy:~# grep -v '^#' /etc/havp/havp.config | sed -e '/^$/d'
PARENTPROXY 127.0.0.1
PARENTPORT 3128
FORWARDED_IP true
PORT 8090
BIND_ADDRESS 127.0.0.1
TEMPLATEPATH /etc/havp/templates/fr
ENABLECLAMLIB true
ENABLECLAMD false
ENABLEFPROT false
ENABLEAVG false
ENABLEAVESERVER false
ENABLESOPHIE false
ENABLETROPHIE false
ENABLENOD32 false
ENABLEAVAST false
ENABLEARCAVIR false
ENABLEDRWEB false
root@proxy:~#


Comme vous l'avez constaté HAVP peut être utilisé avec d'autre antivirus Avast, Nod32, ... dans notre cas nous utilisons Clamav. Dans le fichier de configuration de HAVP nous avons redirigé les  traffic sur 127.0.0.1:3128, c'est le port par défaut de Squid.
Modifier votre fichier de configuration de Squid, changer la ligne qui commence par http_port :

http_port 127.0.0.1:3128 transparent



Pour spécifier la taille maximale de votre cache vous pouvez changer la ligne suivante ici dans l'exemple spécifie que squid peut utiliser 12000MB :

cache_dir ufs /var/spool/squid3 12000 16 256


Redémarrer les services :

# /etc/init.d/dansguardian restart
# /etc/init.d/havp restart
# /etc/init.d/squid3 restart


Il nous reste qu'à rediriger le trafic, vous pouvez utiliser des logiciels comme Shorewall, mais  ici pour simplifier, on utilise directement iptables :

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080



Pour tester que ça marche vous pouvez vérifier avec les fichiers log

root@proxy:~# tail -f /var/log/dansguardian/access.log
root@proxy:~# tail -f /var/log/squid3/access.log
root@proxy:~# tail -f /var/log/havp/access.log



Vita tompoko, j'espère que ce petit post vous a aidé.