Bloquer une IP avec iptables

Depuis deux jours, un petit malin (quarante-six point cent soixante-douze point quatre-vingt-onze point quinze) tente sans succès des injections SQL sur le serveur via WordPress. Félicitations à lui, il gagne un blocage IP!

Pour bloquer une IP avec iptables, on utilisera donc la commande suivante:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Dans ce cas-là, c’est un blocage total qui sera effectué. Il est possible d’être plus précis pour ne bloquer qu’un port particulier pour un protocole spécifique avec les options, respectivement, --destination-port et -p. Ce qui nous donne par exemple pour le port 80 sur tcp :

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP

Enfin, si éventuellement, on se décide à débloquer l’adresse IP, l’option -D à la place de -A fera l’affaire :

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

À noter également la commande permettant de visualiser les règles iptables configurées :

iptables -L

Bloquer une IP est une solution facile à mettre en œuvre et (très) efficace. Si de telles attaques devaient reprendre depuis une autre IP, je me verrais dans l’obligation de créer une règle fail2ban afin de bloquer dynamiquement les nouvelles tentatives d’attaque.

 

dd ? Et pourquoi pas, dcfldd ?

Si vous avez un peu joué avec le Raspberry Pi, vous êtes certainement familier avec la commande dd, en particulier si vous avez installé l’OS sur carte SD depuis GNU/Linux. Peut-être avez-vous même effleuré sa consœur, j’ai nommé: dcfldd.

J’ai découvert cette version du programme dd lors de ma dernière installation de Raspbian. Bien que celle-ci soit un peu ancienne et peu mise à jour, nous pouvons tout de même parler de version améliorée du programme d’origine. L’outil est développé par le « laboratoire des investigations informatiques » américain (Defense Computer Forensics Lab), aussi abrévié DCFL, d’où le nom de l’outil: dcfldd.

Du côté des fonctionnalités, on notera la possibilité d’effacer un disque en utilisant des motifs connus, ou encore celle de vérifier qu’une image est identique à l’originale bit à bit. dcfldd propose également un suivi de la quantité de donnée traitée au fur et à mesure de son avancement.

La dernière version stable date du 19 décembre 2006. Les dernières modifications sont à peine plus récentes et datent quant à elle du 4 décembre 2007. En comparaison, les dernières modifications du programme original ont eu lieu en janvier 2016, dcfldd ne dispose donc pas de toutes les améliorations qui ont pu être apportées à dd depuis 2008. Une mise à jour du code serait donc appréciable, mais l’opération ne serait pas forcément aisée.

Ces derniers temps, j’ai principalement utilisé dcfldd plutôt que dd afin de profiter de l’information d’avancement du travail en cours donnée par défaut par la commande. Néanmoins, à l’avenir, dd devrait faire l’affaire, puisqu’il existe une option status=progress permettant de suivre l’avancement de l’opération. Le comportement par défaut de dd étant de ne rien afficher avant que la tâche soit terminée. Ce sera donc un retour probable à dd pour les prochaines opérations.

 

Voir aussi : http://forensicswiki.org/wiki/Dcfldd

Cmd #6 [Git]

Quelques commandes Git bien utiles.

 

git log -p

Permet de voir le diff introduit par chaque commit.

 

git log --name-status

Voir la liste des fichiers affectés par chaque commit avec le type de modification: ajout, modification, suppression.

 

git log --stat

Donne des infos concernant les fichiers modifiés (ex: …/src/test/resources/log4j.properties | 3 +-).

 

git stash save

Sauvegarde les modifications locales et remet le dépôt dans l’état correspondant à votre HEAD.

 

git stash pop

Applique les modifications précédemment sauvegardées.

 

Source:

[NPM] Wrong python executable at install

In case you get an error similar to this when trying to npm install :

Error: Python executable "python" is v3.4.2, which is not supported by gyp.

You should tell npm which executable to use with the following command:

npm config set python python2

If you are on ArchLinux, you’re likely to encounter this problem since the default python is python3. Fortunately, it’s easy to fix.

Cmd #5 [Git]

Petit pense-bête pour la suppression du dernier commit local dans Git. A utiliser donc pour le cas où l’on a pas encore effectué un git push.

git reset --soft HEAD~1

L’option soft permet de conserver les modifications apportées aux fichiers que « contenait » le commit. Si on souhaite simplement se débarrasser de l’ensemble, on pourra utiliser l’option hard.

Par ailleurs, si le commit a été poussé vers le serveur et que quelqu’un a déjà effectué un git pull, il faudra passer par un revert:

git revert HEAD