Sunday, November 16th, 2008
Par soucis de sécurité je vous recommande fortement de changer le port de connexion de vos serveurs SSH.
ATTENTION: Assurez vous que votre firewall laisse passer les connexions sur le nouveau port !
Changement temporaire
- Avant de changer le port définitivement nous allons lancer un deuxième démon sshd qui va écouter sur le nouveau port. SSHD va alors écouter sur le nouveau port ET sur l’ancien (probablement 22). Exécutez la commande suivante en tant que root:
/usr/sbin/sshd -p 123
Où 123 est le nouveau port
- Essayez de vous connectez à votre ssh sur le nouveau port. Si ça fonctionne passez à l’étape suivante, sinon vérifiez votre firewall.
Changement permanent
- Ouvrez le fichier de configuration de sshd ( /etc/ssh/sshd_config ) avec vi et cherchez la ligne Port XX (où XX est le port actuel). Si la ligne est commentée (précédée par un ou des #), décommentez la.

- Changez le port pour celui que vous désirez et enregistrez les changements. Quittez Vi.
- Redémarrez sshd (/sbin/
service sshd restart ou /etc/init.d/sshd restart)
Maintenant votre serveur ssh devrait écouter sur le nouveau port !
Sunday, November 16th, 2008
Saturday, October 25th, 2008

J’ai passé quelques heures à faire du reverse engineering pour découvrir ce qui se produit lorsque j’appuie sur un des boutons tactiles de mon ordinateur portable de marque HP.
Les deux touches tactiles qui m’intéressaient particulièrement étaient celle qui normalement démarre le logiciel QuickPlay et celle qui démarre la lecture d’un dvd dans QuickPlay (ces deux mêmes touches sont aussi sur la télécommande IR). Puisque je suis contre tous les crapwares que HP nous impose, je n’utilise pas QuickPlay et je voulais démarrer d’autres applications à la place
.
Bref le bouton qui démarre normallement QuickPlay démarre maintenant un Terminal ssh et le bouton “dvd” démarre windows media center(ou VLC, j’ai pas arrêté mon choix encore)
.
La procédure est très simple, mais je ne l’ai pas trouvé après de nombreuses recherches sur google, j’ai dû la découvrir par essais-erreur.
Voici comment faire:
- Installer les drivers HP pour les touches (Il faut que les touches fonctionnent évidement ! Mais le logiciel QuickPlay n’est PAS obligatoire du tout !)
- Le fichier qui est exécuté lorsqu’on appuie sur la touche QuickPlay est \Program Files\HP\QuickPlay\QPMenu.exe
- Le fichier qui est exécuté lorsqu’on appuie sur la touche Dvd est \Program Files\HP\QuickPlay\DVDP.exe
Vous aurez deviné, il suffit de créer/remplacer les exécutables pour ouvrir ce qu’on veut !
L’astuce devrait fonctionner sur tous les portables de série dv2000-dv2900, sans doute d’autres gammes.
Pour créer un exécutable qui exécute un autre programme (parce qu’on ne peut pas bêtement copier firefox.exe dans le dossier) vous pouvez faire un simple programme C qui contient system(“firefox.exe”); ou alors télécharger ce programme pour convertir un fichier .bat en exe.
J’ai fait un petit vidéo qui montre comment faire: ici le vidéo montre comment exécuter filezilla quand j’appuie sur la touche DVD. À la fin, vous devinerez, Filezilla démarre quand j’appuie sur la touche en question
.
J’ai aussi fait un miroir du programme là: bat_to_exe_converter.
Je ferai un article prochainement pour expliquer comment faire fonctionner ces touches sur FreeBSD ou Linux !
Bonne chance !
Wednesday, September 3rd, 2008
Plusieurs d’entre vous utiliser Ubuntu. C’est un excellent système d’exploitation, mais parfois, il faut le reconnaitre, il est un peu lent. Une simple astuce vous permet de rendre le système beaucoup plus rapide.
Executer la commande suivante:
sudo echo "id:6:initdefault:">/etc/inittab
Redémarrer et voila, vous avez maintenant un système beaucoup plus réactif
Monday, September 1st, 2008
En php, comme dans la plupart des langages, lorsque nous effectuons des fonctions récursives (s’appelant elle même) on arrive vite à un dépassement de la pile. Dans un langage tel que le C ce n’est pas très important, on peut très facilement éviter/prévoire cela. Dans une application en PHP aussi c’est facile d’éviter les fonctions récursives s’appelant elle même des dizaines de milliers de fois.
Cependant, dans le cas d’un hébergement vous ne pouvez évidement pas vérifier tous les scripts de votre serveur. Le problème est que certains membres pourraient s’en servir pour causer un déni de service. En effet lorsque PHP est utilisé comme module apache, en effectuant un dépassement de la pile, il se produit une faute de segmentation et cela tue le processus entier. Si c’est un serveur multithreader alors tout le serveur meurt, si c’est en prefork alors le fils meurt et éventuellement le serveur au complet pourrait mourrir dans le cas d’une attaque répété. Même si vous n’êtes pas hébergeur, avec un script tel que phpmyadmin ou peu importe il est facile d’envoyer des milliers de variables POST qui sont lue récursivement par PHP (magic_quotes, etc) !
Je n’entrerai pas dans les explications de bas niveaux, je vais plutôt vous expliquer comment produire un crash de PHP
et éventuellement comment le corriger.
En C vous pouvez essayer un code du genre:
#include <stdio.h>
void a(int i){
printf(“Stack: %d\n”,i);
i++;
a(i);
}
int main( int argc, char **argv ) {
a(0);
}
Lorsque la pile va être pleine, vous allez avoir une faute de segmentation. Le nombre d’appels récursif dépend de votre système (surtout de la grosseur du programme en mémoire), dans mon cas ça tourne aux alentours de 392200 à 392940. Vous pouvez évidement utiliser un autre type qu’un entier, mais vous allez arriver au même résultat.
En php pour produire une faute de segmentation il suffit de faire ceci:
function a($i) {
echo “$i\n”;
$i++;
a($i);
}
a(0);
Pour php 5.2.6 sous linux 2.6.25 le dépassement de la pile se produit entre 23354 et 39291 appels.
Comment s’en protéger ?
Continued reading >