Demande d'information
Alignement des images
Les balises audio et video foirent
Planète Libre et Micro-blogging
Mis à jour du flux RSS
Partages ?
®om
4LW
Admin-Linux
agatzebluz
Aldevar
Another Pinky Punky
AnTav
Antistress
Antoine Millet
Antonin Moulart
archi02
arNuméral
Artisan Numérique
Asher256
Aternatik
Aurélien Bompard
Bastnic
Benkemoun
Bilbo Planet
Biscotte
Blogmotion
bochecha
botchchikii
bouleetbil
Boutor
Breizh ardente
Cairo-Dock
Cameleon
Capof's Space
Captaine74
Carl Chenet
Cedynamix
champtoussel dominique
ChEza
Chicha
Chimrod
Christophe-Marie
Clapico
Corbier
Costalfy
Creasy
CSM 'illovae' Seldon
CyberSDF
Cyrille BORNE
dada
dahu_fou
Damien Cougar
Damocles
Daria
David Dup
David Larlet
Davromaniak
Ddmdllt
Des nouvelles de Wikilivres
Desidia
Devil505
Dhoko
DigitalSpirit
djibux
Dorian Dd
Duchatelet
E-PhasE
Eddy33
Edouard
Effraie
eMerzh
Emilien Macchi
Emilpoe
Emmanuel Gontcho
Emmanuel Kasper
Equinoxefr
Eric
Exceed
FACIL
Facilinux
Feilong
fgallaire
Finss
florentg
floruby
Fonctionerd
Framablog
François
Franck Archange
FredBezies
Full Circle Magazine
Fuse
Génération Linux
G3L
Gaëtan Tenshu
Gilir
Grégory Gutierez
Gregory Colpart
Guillaume Kulakowski
Hugues
Hyla project
Il Palazzo-sama
inalgnu
Jérémy Verda
Jeff
jeremy2491
jeromeg
jesuislibre
JJL
Johan Cwiklinski
Jonathan Ernst
Jonathan Le Lous
Jopa
Jp Fox
Juky
Julien
Julius
ka.da
Kagou
kamagatos
Kate
Kiddo
KissCoolMan
Labo-Linux
LeDucDuBleuet
Lemarinel
Lenezir
Liberez le tux
Libre Astux
Linalis
Littlewing
Louis Roché
lowje
Luc
Macsim
Manu Absolacom
Marco
Matao
Mathieu Comandon
Maxime Carron
McKey
meepix
Michael Zwyssig
Michauko
Mickaël
Minimumserious
Monitoring-FR
Morot
Motarion
mozillaZine-fr
Mr.Yann
MrTom
Nÿco
Naparuba
Nicofo
Nicolargo
Nicosmos
Nicoz
NiKo
nizarus
Noplay
Olivier Faurax
Olivier Prieur
Omega
Oncle Tom
Op'Aisne Source
openSyd
opossum1er
Osku
OxyRadio
Paquet Fedora du Jour
Pascal Chevrel
pc-kc
Peck
Phil
Pianopenguin
Pingax
PlayOnLinux
Ploum
Pokemon_JOJO
Poupoul2
Rémi Samier
Raphaël Hertzog
Ravomavain
Renaud Littolff
Renault
Respawner
Retouche Libre
Ricard
Robin Millette
Roland Mas
RollsRox
Rydgel
Saïmon
Samuel Martin
Sauthier
SckyzO
Scoffoni
Scurz
Shnoulle
Silvyn
Skhaen
Slobberbone
Splitsch
StandarT
StephZ
Sylvain
System Linux
Taltan
Tbellemb
Tchouvince
theClimber
TheGlu
TheLinuxFr
Thibaut
Thierry Andriamirado
Thom1
Thomas Bassetto
Tigrou Damien
TitaX
toitoinebzh
Toorop
TrouveTonGull.info
Tuxargon
Tuxicoman
U-Classroom
Uggy
Ulrich Diplodocus
Une goutte de blog
Uselink
Vanaryon
VELCS
Vetsel
Warren Dumortier
Wattazoum
Wavemaker
Weedfast
Yannig
yeKcim
Yellowiscool
Yoho
Yves Gesnel
Zanko
Zic
Zippy
ZitrouilleSelon Wikipédia :
Virtual Router Redundancy Protocol (protocole de redondance de routeur virtuel, VRRP) est un protocole non propriétaire redondant décrit dans la RFC 3768 dont le but est d’augmenter la disponibilité de la passerelle par défaut servant les hôtes d’un même sous-réseau.
Le fonctionnement de VRRP est le suivant :
Chaque Routeur Virtuel utilise une adresse mac de l’IANA ces adresses mac sont réversées et vont de 00:00:5e:00:01:00 à 00:00:5e:00:01:ff (on peut donc avoir 256 routeurs virtuels par segment Ethernet)
Les routeurs communiquent entre eux via l’adresse multicast réservée 224.0.0.18 associé à la mac réservé 00:00:5e:00:01:02
Comme l’indique le paquet capturé suivant :
Frame 6 (70 bytes on wire, 70 bytes captured)
Ethernet II, Src: IETF-VRRP-virtual-router-VRID_02 (00:00:5e:00:01:02), Dst: IPv4mcast_00:00:12 (01:00:5e:00:00:12)
Internet Protocol, Src: 192.168.130.160 (192.168.130.160), Dst: 224.0.0.18 (224.0.0.18)
Virtual Router Redundancy Protocol
Afin d’utiliser une IP virtuelle associés a plusieurs routeurs nous utilisons le Common Address Redundancy Protocol ou CARP.
Selon wikipédia :
Common Address Redundancy Protocol ou CARP est un protocole permettant à un groupe d’hôtes sur un même segment réseau de partager une adresse IP.
Dans le cadre de préparation de labs, j’ai voulu émulé l’ensemble de via une solution freebsd (Pfsense) sous VMware Server. Cependant l’adresse virtuel CARP ne pouvait pas être utilisé. Les réponses ARP était bien présente mais le ping et tout les autres services était indisponible.
Le module kernel vmnet drop tout les paquets ethernet que ne sont pas à destination :
Cependant le bloc de IANA est manquant !!!Les packets sont donc droppés.
Afin de valider et corriger le module noyau, il faut éditer le driver.c contenu dans /usr/lib/vmware/modules/source
Le fichier qui nous intéresse est dans l’archive vmnet.tar. Il faut extraire cette archive.
tar xvf vmnet.tar
cd vmnet-only
Ensuite nous devons localiser la fonction VNetPacketMatch qui est responsable du matching de paquet.
*
*———————————————————————-
*
* VNetPacketMatch –
*
* Determines whether the packet should be given to the interface.
*
* Results:
* TRUE if the pasket is OK for this interface, FALSE otherwise.
*
* Side effects:
* None.
*
*———————————————————————-
*/
Bool
VNetPacketMatch(const uint8 *destAddr, // IN: destination MAC
const uint8 *ifAddr, // IN: MAC of interface
const uint8 *ladrf, // IN: multicast filter
uint32 flags) // IN: filter flags
{
/*
* Return TRUE if promiscuous requested, or unicast destined
* for interface, or broadcast (and broadcast requested), or
* if multicast (and all multicast, or this specific
* multicast MAC, was requested).
*/
return ((flags & IFF_PROMISC) || MAC_EQ(destAddr, ifAddr) ||
((flags & IFF_BROADCAST) && MAC_EQ(destAddr, broadcast)) ||
((destAddr[0] & 0×1) && (flags & IFF_ALLMULTI ||
(flags & IFF_MULTICAST &&
VNetMulticastFilter(destAddr, ladrf)))));
}
Il faut ajouter les lignes suivantes ajoutant le support des paquets de IANA :
((destAddr[0] == 0) && (destAddr[1] == 0) &&
(destAddr[2] == 0×5e) && (destAddr[3] == 0) &&
(destAddr[4] == 1))
Ce qui nous donne la fonction suivante :
return ((flags & IFF_PROMISC) || MAC_EQ(destAddr, ifAddr) ||
((flags & IFF_BROADCAST) && MAC_EQ(destAddr, broadcast)) ||
((destAddr[0] == 0) && (destAddr[1] == 0) &&
(destAddr[2] == 0×5e) && (destAddr[3] == 0) &&
(destAddr[4] == 1)) ||
((destAddr[0] & 0×1) && (flags & IFF_ALLMULTI ||
(flags & IFF_MULTICAST &&
VNetMulticastFilter(destAddr, ladrf)))));
Sauvegardez et recompilez le module :
make vmnet.ko
Il nous reste à copié le nouveau module au bon endroit
cp vmnet.ko /lib/modules/`uname -r`/misc/vmnet.ko
/etc/init.d/vmware restart
Nous avons désormais un VMware Server fonctionnelle.

Le développement des nouvelles technologies à donné naissance à un nouveau type de danger, aussi bien pour les entreprises que pour le consommateur final : le piratage des systèmes privés. Il s’agit dans la majorité des cas d’une intrusion sur le système même de la victime. Le pirate est alors en mesure d’utiliser l’ordinateur visé comme s’il en était propriétaire, mais sans en avoir les autorisations. Les conséquences peuvent être dramatiques aussi bien à une échelle commerciale qu’individuelle.
La sécurité informatique regroupe l’ensemble des techniques, compétences et méthodologies destinées à garantir l’intégrité des systèmes d’informations automatisés de tout type, et à les protéger contre cette menace de piratage.
Le Hacking peut se définir comme la passion de la recherche de jeunes esprits dynamiques, souvent amateurs, dans la recherche de bugs (cause de piratage) des programmes couramment utilisés, afin de trouver des solutions adaptées pour prévenir les utilisateurs de ces dangers. C’est aussi une volonté du partage de l’information avec le grand public, destinée à offrir à chacun la possibilité de comprendre, d’apprendre et de participer à son tour au développement de nouvelles technologies de sécurité.
Autour de conférences et de challenges informatiques, la Nuit du Hack a pour objectif de réunir passionnés et professionnels du monde de la sécurité informatique. Ils pourront découvrir les dernières avancées techniques dans ce domaine et évaluer leurs compétences.
A ne pas manquer, rendez vous a Paris le 13 juin. Au programmes conférences, challenges et autres joyeusetées.
Nous sommes actuellement a la recherche de conférenciers, si cela vous intéresse veuillez envoyer un mail indiquant le thème de celle ci et une explication de ce que vous allez aborder. Nous contacter.
Pour plus d’information rendez vous : http://www.nuitduhack.com
Les inscriptions seront bientôt ouvertes. Toute communauté du monde libre est également bienvenue. Le libre étant très proche de l’éthique que nous défendons de par son développement et sa rapidité d’évolution.
N’hésitez pas à venir nous voir sur le chan #hzv sur irc.worldnet.net.
Lorsque l’on a un serveur dédié on peut être tenté de faire de la virtualisation sur son serveur. Plus OS, facilité des backups etc… Cependant, pour éviter que ce soit trop le bazar sur leur réseau, Ovh a limiter les mac adresse par rapport au port des commutateurs.
Il est donc impossible de communiquer avec un machine qui serait bridger sur l’interface de la machine hôte. Pour pallier à ça il est possible de mettre ses machines virtuelles en mode HostOnly. Il suffit ensuite d’activer le routage et le snat sur le linux .
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Mais cela pose problème si l’on souhaite utiliser des ip public. Il faut donc feinter.
Tout d’abord ovh propose d’utiliser des IpFailOver afin de faire « pointer » plusieurs ip public sur le même serveur. Comme les mac adresses sont bloquées par port, il faut utiliser le proxy_arp de linux afin de réussir cette configuration.
L’idée est donc d’utiliser des ips public que l’on a acheter à ovh pour des machines virtuelles. Il faut donc configurer une interface réseau vmware en hostonly. Dans ma configuration c’est vmnet1. Activons maintenant le proxy_arp sur l’interface vmware.
echo 1 > /proc/sys/net/ipv4/conf/vmnet1/proxy_arp
Je vous laisse consulter la page suivante pour avoir plus d’information sur le fonctionnement d’un proxy arp.
Ensuite il faut ajouter une route à destination de ip_suplémentaire pour que la machine hote puisse savoir à quel interface envoyer le paquet.
route add ip_supplémentaire dev vmnet1
Il ne vous reste plus qu’a configurer votre machine virtuelle avec l’adresse suplémentaire. Avec un masque de sous réseau 255.255.255.255 pour pouvoir communiquer avec les machines de votre subnet.
Cependant attention le trafic à destination de votre machine virtuel passe par la table filter-forward d’iptables il vous faut évidement configurer les protocoles que vous souhaiter router.
On l’attendais depuis un petit moment et il est arrivé:
Après plusieurs mois d’attente, le team HZV est heureux de vous présenter le premier numéro du magazine HZV ! Nous vous invitons à poster vos commentaire sur le forum afin d’améliorer le prochain numéro. Je tiens à remercier tous les gens qui on cru à ce projet et ceux qui on activement participé à l’élaboration de ce premier numéro. Et encore toutes nos excuses pour le retard engendré par le maquetage du journal qui je l’espère sera à la hauteur de vos attentes
![]()
Cordialement CrashFr
Voici le sommaire :
CODAGE DE DONNÉES
BOF : EXPLOITATION AVANCÉE
REDIRECTION DE FLUX
STACKS OVERFLOWS
LA TOILE À NUE FACE AU RENARD
NDS : LE WIFI ULTRA-PORTABLE
PRISE D’EMPREINTE DE SERVEUR
DÉMYSTIFICATION DE L’EXPOIT WEB
LES RÉSEAUX DE ROBOTS
STÉGANOGRAPHIE
La BD : FUTURE EXPOSED
LA NUIT DU HACK 2008
CYBERFLASH
LES PTITS CONSEILS ENTRE AMIS
A L’HONNEUR
HOW TO CONTRIBUTE
Bonne lecture :p
Dimdim est une application intranet-internet de réunion à distance, à l’instar de logiciels comme Netmeeting ou Ekiga. Ainsi, il est possible de diffuser la voix de trois personnes au maximum sur tous les clients, ou de voir la caméra du maître de conférence. Ce dernier peut choisir, en outre, d’afficher :
son écran
un document au format PDF
un document au format Word
un document au format Excel
un document au format PowerPoint
Dimdim ne se trouve pas sous forme de logiciel, mais s’intègre à un site Internet déjà existant. L’éxécutable installera un serveur apache, Tomcat. Dès lors, l’intérêt devient énorme quand on pense aux plateformes d’apprentissage en ligne, où les étudiants pourront avoir des cours en direct.
Dimdim semble à terme avoir un gros potentiel, d’autant plus que des paquetages d’installation existent pour différents LCMS (Learning Content Management System) : Claroline, Moodle et SugarCRM et s’installent facilement, comme des modules.
Beaucoup de personnes sur les forums n’arrivent pas à le faire fonctionner sous Ubuntu. Voici un script qui permet le téléchargement et l’installation des paquets nécessaire afin de le faire fonctionner sous Ubuntu.
Install_dimdim.sh
#######ChangeLOG##################
#Createur : Maussion Frederic
#Contact : Fmaussion@starxpert.fr
#Date de creation : 16/05/08
####################################Installation des paquets necessaire a dimdim
apt-get update && apt-get -qy install lighttpd openoffice.org sun-java6-jre wget python-setuptools#On stop lighttpd pour plus tard
/etc/init.d/lighttpd stop#Telechargement de Dimdim
cd /usr/src/
wget http://surfnet.dl.sourceforge.net/sourceforge/dimdim/Dimdim_Linux_Native_Install_v3.5.tar.gz#Decompression de dimdim
tar xzvf Dimdim_Linux_Native_Install_v3.5.tar.gz
mv dimdim/ /usr/local/#Telechargement et installation de cherrypy
wget http://download.cherrypy.org/cherrypy/3.0.3/CherryPy-3.0.3.tar.gz
tar xzvf CherryPy-3.0.3.tar.gz
cd CherryPy-3.0.3
chmod +x *
python setup.py install
cd /usr/src
rm -rf CherryPy-3.0.3/
rm -rf CherryPy-3.0.3.tar.gz#Telechargement et installation de flup
wget http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz
tar xzvf flup-1.0.tar.gz
cd flup-1.0
chmod +x *
python setup.py install
cd /usr/src/
rm -rf flup-1.0
rm -rf flup-1.0.tar.gz#Telechargement et installation de zdeamon
wget http://pypi.python.org/packages/source/z/zdaemon/zdaemon-2.0.2.tar.gz
tar xzvf zdaemon-2.0.2.tar.gz
cd zdaemon-2.0.2
python setup.py install
cd /usr/src/
rm -rf zdaemon-2.0.2
rm -rf zdaemon-2.0.2.tar.gz#On backup les fichiers de configuration que l’on va modificer
cp /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf.bak
cp /usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py /usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh.bak#On indique ou se situe le fichier dans une variable
wrapper=/usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf
osconfig=/usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py
java=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/jvm.cfg
startdimdim=/usr/bin/startDimdim#On remplace la commande « source » par un point
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh
#Dans le fichier de configuration on remplace le root de java par le notre
sed -e ’s#wrapper.java.command=DIMDIM_JAVA_HOME/bin/java#wrapper.java.command=/usr/lib/jvm/java-6-sun-1.6.0.06/bin/java#’ -i $wrapper#Dans le fichier de configuration on remplace le root de OOo par le notre
sed -e ’s#/opt/openoffice.org2.3/program/#/usr/lib/openoffice/program/#’ -i $osconfig#Dans le fichier de configuration de java on indique a java qu’il n’agisse pas en temps que client regle des pb dans openvz
sed -e ’s#-client IF_SERVER_CLASS -server#-client KNOWN#’ -i $java#Changement de l’executable de lighthttpd
sed -e ’s#/usr/local/dimdim/lighty/sbin/lighttpd#/usr/sbin/lighttpd#’ -i $startdimdim#On creer les dossiers
mkdir /usr/local/share/swftools#Copie des fichiers necessaire a dimdim
cp /usr/local/dimdim/swftools/pdf2swf /usr/bin
cp /usr/local/dimdim/swftools/swfextract /usr/bin
cp /usr/local/dimdim/swftools/swfdump /usr/bin
cp /usr/local/dimdim/swftools/libs/* /usr/lib
cp -r /usr/local/dimdim/swftools/swffonts/fonts /usr/local/share/swftools/
cp -r /usr/local/dimdim/swftools/swffonts/swfs /usr/local/share/swftools/#Export du home de java dans le .bashrc
echo « JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.06/ » >> /root/.bashrc
echo « export JAVA_HOME » >> /root/.bashrc
echo « PATH=$JAVA_HOME/bin:$PATH » >> /root/.bashrc
echo « export PATH » >> /root/.bashrc#Creation de lien symobilques
ln -s /usr/lib/openoffice/program/soffice.bin /usr/bin/soffice.bin
ln -s /usr/local/dimdim/startDimdim.pl /usr/bin/startDimdim
ln -s /usr/local/dimdim/stopDimdim.pl /usr/bin/stopDimdim
ln -s /usr/lib/libpcre.so.0 /usr/lib/libpcre.so.3
#pour wrapper
ln -s /bin/ps /usr/bin/ps#On applique les permissions aux differents dossier
chmod +x /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/bin/*
chmod +x /usr/local/dimdim/red5/*
chmod +x /usr/local/dimdim/red5/conf/*
chmod +x /usr/local/dimdim/nginx/sbin/*
chmod +x /usr/local/dimdim/DTP3/Deployment/Reflector/*
chmod +x /usr/local/dimdim/Mediaserver/mods/*
chmod +x /usr/local/dimdim/Mediaserver/www/pages/*
chmod +x /usr/local/dimdim/swftools/*
chmod +x /usr/bin/*
chmod +x /usr/lib/*
chmod +x /usr/local/share/*#/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/jvm.cfg
#Lancement de dimdim
startDimdim
Si vous avez des soucis vous pouvez me contacter sur l’adresse suivante : fmaussion (at) starxpert.fr
Télécharger le script Install_Dimdim.sh
Références :
Nous sommes donc le jour tant attendu, ce soir c’est du plaisir,

Nouvelle année, nouveaux locaux et nouveaux programmes, la nuit du hack revient du 14 au 15 Juin à Orsay avec au programme :
- des conférences sur l’actualité underground et la sécurité informatique ;
- un challenge Hacking codé spécialement pour l’occasion par nos rooteurs sur pattes ;
- divers concours avec de nombreux lots à gagner ;
Les conf :
| Horaires | Sujet | Conférencier |
|---|---|---|
| 18H-19H | Nitendo DS | Virtualabs |
| 19H-20H | Scapy | Nono2357 |
| 20H-21H | Exploitation kernel | Ivanlef0u |
| 21H-22H | Securité physique | Virtualabs’ Brother |
| 22H-23H | BackTrack 3 Final | Shaman virtuel |
Donc du plaisir j’attends avec impatience la conférence sur scappy de l’ami Nono2357, conférence que j’avais le plaisir de voir lors des python days. J’ai entendu dire de source plus ou moins sur (il se reconnaîtra) que la conférence de la nuit du hack sera beaucoup poussé techniquement.
Je vous posterai les photos dans la semaine.
Pourquoi un tel post sur le planet-libre ?
Tout simplement car je pense que le hacking dans son sens premier entre pleinement dans la philosophie du libre.

This option adds a `ROUTE’ target, which enables you to setup unusual
routes. For example, the ROUTE lets you route a received packet through
an interface or towards a host, even if the regular destination of the
packet is the router itself. The ROUTE target is also able to change the
incoming interface of a packet.
To copy (duplicate) all traffic from and to a local ECHO server to a second box (nonfinal target)
iptables -A PREROUTING -t mangle -p tcp –dport 7 -j ROUTE –gw 1.2.3.4 –tee
iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee
Afin d’activer la cible route pour iptables il est nécéssaire de recompiler l’ensemble « noyau + iptables »
Nous allons donc préparer notre environnement de travail.
apt-get install linux-source-2.6.18 gcc make ncurses-dev
cd /usr/src
tar -xvjf linux-source-2.6.18.tar.bz2
ln -s linux-source-2.6.18 linux
On télécharge les sources d’iptables et on les décompresses
wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.6.tar.bz2
tar -xjpf iptables-1.3.6.tar.bz2
On peut maintenant télécharger le patch-o-matic :
wget http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20070728.tar.bz2
tar xvjf patch-o-matic-ng-20070728.tar.bz2
cd patch-o-matic-ng-20070728
Nous devons spécifié le dossier des sources d’iptables
IPTABLES_DIR=/usr/src/iptables-1.3.6 ./runme ROUTE
Hey! KERNEL_DIR is not set.
Where is your kernel source directory? [/usr/src/linux]
Loading patchlet definitions…………….. done
Welcome to Patch-o-matic ($Revision: 6736 $)!
Kernel: 2.6.18, /usr/src/linux
Iptables: 1.3.6, /usr/src/iptables-1.3.6
Each patch is a new feature: many have minimal impact, some do not.
Almost every one has bugs, so don’t apply what you don’t need!
——————————————————-
Already applied:
Testing ROUTE… not applied
The ROUTE patch:
Author: Cédric de Launois <delaunois@info.ucl.ac.be>
Status: Experimental
This option adds a `ROUTE’ target, which enables you to setup unusual
routes. For example, the ROUTE lets you route a received packet through
an interface or towards a host, even if the regular destination of the
packet is the router itself. The ROUTE target is also able to change the
incoming interface of a packet.
The target can be or not a final target. It has to be used inside the
mangle table.
ROUTE target options:
–oif ifname Send the packet out using `ifname’ network interface.
–iif ifname Change the packet’s incoming interface to `ifname’.
–gw ip Route the packet via this gateway.
–continue Route the packet and continue traversing the rules.
–tee Route a copy of the packet, but continue traversing
the rules with the original packet, undisturbed.
Note that –iif, –continue, and –tee, are mutually exclusive.
Examples :
# To force all outgoing icmp packet to go through the eth1 interface
# (final target) :
iptables -A POSTROUTING -t mangle -p icmp -j ROUTE –oif eth1
# To tunnel outgoing http packets and continue traversing the rules :
iptables -A POSTROUTING -t mangle -p tcp –dport 80 -j ROUTE –oif tunl1 –continue
# To forward all ssh packets to gateway w.x.y.z, and continue traversing
# the rules :
iptables -A POSTROUTING -t mangle -p tcp –dport 22 -j ROUTE –gw w.x.y.z –continue
# To change the incoming network interface from eth0 to eth1 for all icmp
# packets (final target) :
iptables -A PREROUTING -t mangle -p icmp -i eth0 -j ROUTE –iif eth1
# To copy (duplicate) all traffic from and to a local ECHO server
# to a second box (nonfinal target)
iptables -A PREROUTING -t mangle -p tcp –dport 7 -j ROUTE –gw 1.2.3.4 –tee
iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee
—————————————————————–
Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] y
Excellent! Source trees are ready for compilation.
Nous pouvons maintenant compiler le noyau
cd /usr/src/linux
make oldconfig
Quelques librairies sont rapidement indispensable ;o)
apt-get install kernel-package
Et c’est partie pour de la compilation
make-kpkg clean
make-kpkg –initrd kernel_image kernel_headers
make-kpkg –initrd kernel_image
Une fois la compilation effectué il faut installer et booter sur le noyau.
dpkg –i monnoyau.deb
Vérifiez votre /boot/grub/menu.lst afin de voir si votre nouveau noyau apparait.
Ensuite Reboot
Pour monitorer tout le trafic entrant vers une ip (Un IDS par exemple J) utiliser la règle iptables suivante :
iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee
Nous verrons dans un prochain billet comment utiliser ce trafic avec un IDS.
Définition du mot de passe root mysql :
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘new_password’);
Query OK, 1 row affected (0.00 sec)
Lors de l’installation mysqld créée deux users avec » en nom de user et » en password il faut les supprimer.
mysql> DELETE FROM mysql.user WHERE user= » or pass »;
Suppression des utilisateurs inutiles :
mysql> DELETE FROM user WHERE Host=’monhost’ AND User=’monuser’;
Query OK, 1 row affected (0.00 sec)
Ainsi que les mots de passe vides :
mysql> DELETE FROM user WHERE Password= »;
Query OK, 2 rows affected (0.00 sec)
La base de donné test créée par mysql à l’installation est inutile.
mysql> DROP DATABASE test;
Query OK, 0 rows affected (0.00 sec)
Par défaut, la base test et toutes les bases commençant par « test_ » sont accessibles par tous.
mysql> DELETE FROM db WHERE db=’test’ OR db=’test\_%’;
Query OK, 2 rows affected (0.00 sec)
Afin d’activé les modifications il est nécessaire de recharger les privilèges
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Privilèges
Afin de garantir la confidentialité des données et des utilisateurs. Il faut autoriser les différents utilisateurs à se connecter et à modifier uniquement leurs bases de données. Nous utilisons la commande GRANT.
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP ON userdb.* TO someuser@ »% » IDENTIFIED BY « pwd »;
Lister les bases de données
A l’aide de la commande SHOW DATABASES, un utilisateur lister toutes les bases de données du serveur.
mysql -u someuser -p
Enter password:
mysql> show databases;
+——————–+
| Database |
+——————–+
| mysql |
| someuserdb |
+——————–+
Il est possible de désactiver cette commande. Cependant il serait judicieux d’autoriser l’utilisateur à lister que les bases de données sur lesquelles il a des droits. Dans le fichier my.cnf, dans la section mysqld, ajouter safe-show-database.
mysql -u someuser -p
Enter password:
mysql> show databases;
+———-+
| Database |
+———-+
| someuserdb |
+———-+
Restriction réseau
Afin de limiter l’écoute du deamon mysql à une interface, utilisez bind-address.
netstat -lataupen |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 19963 7045/mysqld
Si aucune connexion réseau n’est requise, on peux la supprimer avec –skip-networking.
Chrooter Mysql
Malgré toutes ces modifications, nous ne sommes pas à l’abri d’un exploit sur le service mysqld. Il apparait donc nécessaire de chrooter mysqld. Ceci fait, mysqld ne pourra pas accéder à l’ensemble du disque. Il restera dans sa nouvelle racine.
Nous allons donc créer l’arborescence :
mkdir -p /chroot/mysql/var/lib/
cd /chroot/mysql
mkdir -p var/run etc tmp
chmod 1777 tmp
Ensuite nous allons recréer l’environnement de mysql et les bases nécessaires
grep « mysql: » /etc/passwd > etc/passwd
mv /var/lib/mysql var/lib/
ln -s /chroot/mysql/var/lib/mysql/ /var/lib/mysql
mv /var/run/mysqld var/run
ln -s /chroot/mysql/var/run/mysqld/ /var/run/mysqld
Enfin, nous ajoutons les librairies de mysqld.
[root@localhost mysql]# ldd /usr/libexec/mysqld
librt.so.1 => /lib64/librt.so.1 (0×0000003d59200000)
libz.so.1 => /usr/lib64/libz.so.1 (0×0000003d58600000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000003d57a00000)
libssl.so.6 => /lib64/libssl.so.6 (0×0000003d65400000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0×0000003d61600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0×0000003d58200000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0×0000003d6a000000)
libnsl.so.1 => /lib64/libnsl.so.1 (0×0000003d5b200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0×0000003d69c00000)
libm.so.6 => /lib64/libm.so.6 (0×0000003d57e00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0×0000003d69800000)
libc.so.6 => /lib64/libc.so.6 (0×0000003d57600000)
/lib64/ld-linux-x86-64.so.2 (0×0000003d57200000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0×0000003d63400000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0×0000003d63800000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0×0000003d5e200000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0×0000003d5fa00000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0×0000003d5fe00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0×0000003d64000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0×0000003d5ce00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0×0000003d58e00000)
libsepol.so.1 => /lib64/libsepol.so.1 (0×0000003d58a00000)
mkdir -p lib64/ usr/lib64
cp /lib64/librt.so.1 /lib64/libdl.so.2 /lib64/libcrypto.so.6 /lib64/libpthread.so.0 /lib64/libcrypt.so.1 /lib64/libnsl.so.1 /lib64/libm.so.6 /lib64/libgcc_s.so.1 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 /lib64/libcom_err.so.2 /lib64/libkeyutils.so.1 /lib64/libresolv.so.2 /lib64/libselinux.so.1 /lib64/libsepol.so.1 lib64/
cp /usr/lib64/libz.so.1 /usr/lib64/libstdc++.so.6 /usr/lib64/libgssapi_krb5.so.2 /usr/lib64/libkrb5.so.3 /usr/lib64/libk5crypto.so.3 /usr/lib64/libkrb5support.so.0 usr/lib64/
Il faut aussi ajouter les librairies nécessaires à la résolution de noms
cp /lib/libnss_compat.so.2 /lib/libnss_files.so.2 lib64
Il nous reste à compléter la nouvelle racine dans le fichier my.cnf
/etc/my.cnf: chroot=/chroot/mysql
Ntop est un outil d’analyse réseau permettant de surveiller un parc informatique en temps réel. Toutes les données et statistiques sont représentées via une interface Web.
Quelques fonctionnalités de Ntop :
Ntop s’installe en ligne de commande :
Installation du package
apt-get install ntop
Vérification de la version
apt-cache policy ntop
Ntop est maintenant installé.
Renseigner le mot de passe Admin permettant de gérer l’interface Web Admin :
ntop -A
Pour lancer ntop, plusieurs possibilités de démarrage :
-i : défini l’interface de capture (Possibilité de mettre plusieurs interfaces séparés d’une virgule)
-w : permet de spécifier l’adresse IP du serveur ntop suivi du port
-W : permet de spécifier également une IP mais cette fois-ci en HTTPS
-d : permet de démarrer ntop en daemon
-u : défini l’utilisateur (par défaut l’utilisateur ntop est créé)
Dans mon exemple, je vais lancer ntop en daemon sur l’interface eth0 et eth1 sur mon serveur 192.168.0.1 en https avec le port 3001 :
ntop -u ntop -d -i eth0,eth1 -W 192.168.0.1:3001
L’utilisateur ntop doit être spécifié dans la commande afin d’avoir les droits nécessaires pour visualiser toutes les stats. Puis, si vous ne lancez pas ntop en daemon, vous devrez arréter le service manuellement (kill) au lieu de le faire via le daemon (/etc/ini.d/ntop stop).
Il est possible maintenant d’attaquer le serveur en https. Ntop intègre son propre serveur Web, il n’y a pas besoin d’installer un serveur Apache à coté.
https://votre_site:3001
Plusieurs onglets sont disponibles sur l’interface :
Dans le cas où l’on capture avec plusieurs interfaces réseaux, l’interface Web affiche les stats d’une seule interface. Pour switcher, il suffit de cliquer sur l’ongler Admin puis Switch NIC. L’interface Web vous affichera les interfaces disponibles.
Ntop permet de sniffer un réseau IP. Si la partie sniffée est un réseau IP avec Hub, il n’y a pas de problème car tous les paquets transitent sur tous les ports. Par contre, la plupart des réseaux utilisent aujour’hui des switchs. Dans ce cas, il faut dupliquer le trafic vert le port où se trouve le serveur Ntop.
Sur un switch Cisco, il faut configurer le SPAN permettant de récupérer le trafic que l’on souhaite vers un port de destination :
Dans mon exemple, j’utilise un switch Cisco Catalyst 2950. Ma sonde se trouve sur le port Fa0/11 et je veux dupliquer le trafic du port Fa0/12 et FA0/14 :
monitor session 1 source interface Fa0/11
monitor session 1 destination Fa0/12
monitor session 1 destination Fa0/14
Afficher votre configuration (sh run) pour voir si les commandes ont bien été appliquées et surveiller si Ntop récupère bien le trafic.
Zimbra est l’une des plus performante messagerie unifiée dans le monde Open Source. Cette plateforme permet de centraliser toutes les données de l’entreprise (contacts, calendriers, notes, documents). En plus du rôle de serveur de messagerie, cette solution intègre un système anti-spam et d’un antivirus.
Zimbra existe en plusieurs versions (Open Source, Network Edition, …) mais ce tutorial est adapté exclusivement à la version Open Source. Pour plus d’information, un comparatif est disponible sur le site http://www.zimbra.com/products/product_editions.html
Ce document a pour but de vous montrer l’installation d’un serveur Zimbra sur un serveur Linux puis d’interagir Zimbra avec un serveur Funambol.
Funambol est un serveur de synchronisation permettant de transférer sur des clients (Outlook, Mobile phone, Smartphone) tous les contacts et calendriers d’un compte zimbra.
La première partie du document concernera l’installation de Zimbra puis en second temps, nous verrons le fonctionnement du serveur Funambol.
Téléchargez la dernière version de Zimbra Open Source Edition sur le site officiel :
http://www.zimbra.com/community/downloads.html
Placez le fichier téléchargé dans le répertoire /usr/src/ puis l’extraire :
cd /usr/src/
tar -xvfz Zimbra-5.0.2.tgz
Avant d’installer Zimbra, téléchargez les paquets nécessaires :
apt-get install sudo libidn11 fetchmail libpcre3 libgmp3c2 libxml2 libstdc++6 openssl libltdl3 perl
Maintenant, exécutez le script install.sh :
cd /usr/src/Zimbra-5.0.2/
./install.sh
Normalement, le script trouvera les paquets téléchargés précédemment. S’il manque des paquets, téléchargez les via « apt » ou sur les sites officiels.
L’assistant Zimbra vous proposera désormais d’installer les services Zimbra que vous souhaitez. Répondez « Y » pour installé sinon « N ».
Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
Install zimbra-spell [Y]
Install zimbra-proxy [N]
Ensuite, il vous dira que le système a été modifié et si vous voulez continuer l’installation, répondez « Y » :
The system will be modified. Continue? [N] Y
Il va maintenant installer les services Zimbra sélectionnés auparavant. Cette étape est assez longue :
zimbra-core……zimbra-core_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-ldap……zimbra-ldap_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-logger……zimbra-logger_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-mta……zimbra-mta_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-snmp……zimbra-snmp_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-store……zimbra-store_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-apache……zimbra-apache_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
zimbra-spell……zimbra-spell_5.0.2_GA_1975.DEBIAN4.0_i386.deb…done
Si vous n’avez pas d’enregistrement MX sur votre serveur DNS, il va vous afficher un message d’erreur :
DNS ERROR resolving MX for zimbra.ace-service.fr
It is suggested that the domain name have an MX record configured in DNS
C’est alors qu’il va vous suggérer de changer de domaine. Si vous souhaitez changer de domaine, tapez « Yes », sinon « No ». L’installation continuera normalement même si vous n’avez pas d’enregistrement MX, c’est seulement un message à titre informatif.
Change domain name? [Yes] No
Ensuite, il vous affiche un menu pour connaître les informations manquantes pour continuer l’installation. Les informations manquantes sont précédées des caractères « ** ».
Dans mon exemple, je dois renseigner le mot de passe Admin :
******* +Admin Password UNSET
Pour cela je tape le numéro 3 pour accéder au menu « zimbra-store » où se trouve le sous-menu Admin password. Puis le 4 pour définir le mot de passe Admin.
Après avoir défini le mot de passe, tapez « r » pour revenir au menu général.
Enfin, tapez « a » pour continuer l’installation.
Après avoir défini les fichiers de sauvegarde, zimbra va procéder au démarrage des services installés :
Save configuration data to a file? [Yes]
Save config in file: [/opt/zimbra/config.14265]
The system will be modified – continue? [No] Yes
Liens web zimbra :
L’installation de zimbra est terminée. Toutes les configurations se passent dans l’interface Admin de Zimbra (Gestion des comptes, Alias, services, domaines, …)
Funambol est une suite logicielle permettant la synchronisation de données telles qu’un carnet d’adresses, un calendrier ou des emails, entre plusieurs ordinateurs et/ou périphériques portables.
Dans notre tutorial, Funambol nous servira de serveur de synchronisation entre un client outlook et un zimbra.
Rendez vous sur la page http://funambol.com/opensource/downloads.php
Fichier binaire pour installer le serveur sous linux
Fichier exécutable permet de configurer le serveur à distance sur un windows
Coté serveur placez votre binaire dans /usr/src puis rendez votre fichier exécutable :
cd /usr/src/
chmod 777 funambol-6.5.14.bin
Lancez le script :
./funambol-6.5.14.bin
Le script vous affichera la licence Funambol, rendez-vous en bas de la page et répondez « Yes » :
Do you agree to the above license terms? [yes or no]
yes
Laissez par défaut le répertoire d’installation /opt :
Directory to extract Funambol [/opt] <return to accept>?
Le serveur est bien installé et vous pouvez le démarrer.
Afin d’intégrer Zimbra au serveur de synchronisation, télécharger la dernière version du module Zimbra à l’adresse https://sourceforge.net/project/showfiles.php?group_id=219645
Placez le fichier téléchargé dans le dossier /opt/Funambol/ds-server-modules puis renommez le en ZimbraConnector :
cd /opt/Funambol/ds-server/modules
mv ZimbraConnector-0.4.96.s4j ZimbraConnector.s4j
Renseignez le nouveau module dans le fichier de configuration « install.properties » :
nano /opt/Funambol/ds-server/install.properties
Rajoutez le nom du module à la fin du fichier à la ligne « modules-to-install » :
modules-to-install=foundation-6.5.10,…,funambol-email-connector-6.5.9,ZimbraConnector
Pour appliquer les changements, lancez le script « install-modules.sh » à partir du répertoire « ds-server » :
cd /opt/Funambol/ds-server
./bin/install-modules-sh
Répondez « y » pour installer ou mettre à jour les modules
Coté serveur, tout est installé.
Nous allons désormais utiliser le logiciel sous windows pour attaquer le serveur Funambol/zimbra à distance. Après l’avoir téléchargé et installé, lancez-le.
Pour vous connectez au serveur, il vous suffit de cliquer droit sur Funambol Administrative Tool à gauche de la fenêtre puis « Login ». A la prochaine fenêtre, rentrez votre adresse IP de votre serveur Funambol puis laissez les paramètres par défaut (login = admin et password = sa et port = 8080).
Une fois connecté au serveur, vous devrez avoir les 3 modules suivants apparents :
L’étape suivante consiste à supprimer les champs suivants dans l’arboresence Modules > Foundation > FunambolFoundationConnector :
PIM Contact SyncSource — card; scard
Ensuite, nous allons ajouter des champs dans le module Zimbra > FunambolZimbraConnector :
Modules > zimbra > FunambolZimbraConnector>CalendarSyncSource
Ajouter les champs suivants : cal, event, scal, stask and task.
Source URI = cal,event,scal,stask,task
Name = cal,event,scal,stask,task
Zimbra URL = http://<hostname>:port/service/soap/
secure URL = https://<hostname>:port/service/soap/
Modules > zimbra > FunambolZimbraConnector>ContactSyncSource
Ajouter les champs card and scard.
Source URI = card, scard
Name = card, scard
Zimbra URL = http://<hostname>:port/service/soap/
secure URL = https://<hostname>:port/service/soap/
Modules > zimbra > FunambolZimbraConnector>GALContactSyncSource
Source URI = zimbraGalContacts
Name = zimbraGalContacts
Zimbra URL = http://<hostname>:port/service/soap/
secure URL = https://<hostname>:port/service/soap/
Maintenant, pour synchroniser vos contacts et agendas, téléchargez et installez le logiciel client Outlook sur le site http://funambol.com/opensource/downloads.php
Après installation, un plugin va s’ajouter dans votre client de messagerie et vous pourrez configurez vos différentes options selon vos besoins.
Ce document prmet également une synhcronisation avec les clients :
Windows Mobile PocketPC
Windows Mobile SmartPhone
IPod