Archive

Archives pour la catégorie ‘Linux’

Générer un mot de passe depuis le terminal

27/07/2016 Comments off
Rating 3.00 out of 5
[?]

Il est tout à fait possible de générer un mot de passe aléatoire de 8 caractères avec la commande OpenSSL du terminal :

openssl rand -base64 6

Cette commande va générer un mot de passe du type ‘DCbTqlfi’.

Il est possible de changer la longueur du mot de passe généré en modifiant le paramètre en fin de commande ‘6’ par ’15’ par exemple.

Categories: Linux, Mac OS X, SSH Tags:

Installer (d)dos.sh pour augmenter la sécurité sous linux

24/11/2013 Comments off
Rating 4.00 out of 5
[?]

Les machines accessibles depuis l’Internet sont de plus en plus soumises aux attaques en tout genre et notamment des attaques dites DoS Une attaque par déni de service (denial of service attack, d’où l’abréviation DoS) est une attaque informatique ayant pour but de rendre indisponible un service, d’empêcher les utilisateurs légitimes d’un service de l’utiliser.

La plus courante étant d’envoyer un grand nombre de requêtes à un service pour le saturer.

Il existe une méthode simple de limiter ces attaques, un script sh s’executant toutes les minutes, regardant le nombre de connexions ouvertes par une adresse ip unique. Si le nombre de connexions dépasse un nombre fixé dans la configuration du script, il ajoutera une règle temporaire au Firewall empêchant cette adresse de faire des requêtes pendant une durée déterminée dans la configuration.

Pour installer un tel script, tapez les commandes suivantes :

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

Une fois installé, il ajoute un enregistrement dans la cron table permettent de l’executer toutes les minutes.

vous trouverez les fichiers de configuration à cet endroit /usr/local/ddos/. Le fichier ddos.conf qui contient les différents paramètres tel que NO_OF_CONNECTIONS=150 permettant de fixer la limite de connexions TCP pour une IP ainsi que le paramètre APF_BAN=0 qui doit être à 0 si vous n’utilisez pas un firewall dynamique APF.

Si vous désirez recevoir un mail lorsque le script à banni une adresse, entrez votre adresse dans le paramètre EMAIL_TO= »votreadresse ».
Le paramètre BAN_PERIOD=600 permet de déterminer le délai du bannissement en secondes.

Vous trouverez également un fichier ignore.ip.list qui comme son nom l’indique contient les adresses IP à ne pas vérifier.
Pour mon utilisation sous Centos, j’ai modifié une ligne dans le script sh qui ne donnait pas un bon résultat, j’ai donc remplacé la ligne :

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

par

netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -nr > $BAD_IP_LIST

Ce script n’est pas parfait mais à l’avantage d’être simple et permet de limiter les tentatives de ddos.

Pour plus d’informations sur les attaques DoS visitez ce site : www.digitalattackmap.com, vous serez surpris de l’ampleur du phénomène.

Pour conclure, si vous désirez désinstaller ce script :

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

Mise à jour de l’heure sous OpenVZ

16/10/2013 Comments off
Rating 3.00 out of 5
[?]

Si vous avez tenté de modifier l’heure d’une machine virtuelle sous OpenVZ, vous avez probablement obtenu l’erreur suivante:

root@srv:# date -s 18:15
date: cannot set date: Operation not permitted
Wed Oct 16 17:00:00 CEST 2013

En effet sous OpenVZ, seule la date de l’hôte peut être mise à jour, Donc inutile de tenter une commande date ou autre, la commandes ne fonctionnera pas. Même en tant que root, vous n’y serez pas autorisé.

comment faire ?

Une seule solution, changer de fuseau horaire et pour cela, les commandes sont les suivantes :

root@srv:# cd /etc
root@srv:# rm localtime
root@srv:# ln -s /usr/share/zoneinfo/Europe/Paris ./localtime
root@srv:# date 
Wed Oct 16 18:15:32 CEST 2013

Voilà une bonne chose de faite…

Categories: Administration, Linux, SSH Tags: , ,

Supprimer tous les fichiers d’un utilisateur

12/07/2013 Comments off
Rating 3.00 out of 5
[?]

Terminal

Sous Linux, il est possible de supprimer tous les fichiers d’un utilisateur en utilisant la commande find :

find /chemin/ -user apache -exec rm {} \;

find /chemin/ execute une recherche dans le répertoire /chemin/, . indique tous les fichiers
-user apache indique une recherche des fichiers appartenants à l’utilisateur apache, -exec rm {} indique que nous exécutons la commande rm (supprimer) sur le résultat obtenu en l’occurrence le résultat de la recherche.

Attention, lors de son exécution, il n’y à aucune demande de confirmation, donc faites attention en utilisant cette commande irréversible.

Pour ceux que cela intérressent, il y a sur cette page une bonne quantité d’exemples d’utilisation de cette commande.

Configuration de Postfix pour les MX d’Orange

02/02/2013 Comments off
Rating 4.00 out of 5
[?]

Terminal

 

 

 

Si vous utilisez Postfix comme serveur de mails et que vous rencontrez un souci d’envoi de mails en nombre vers Orange, le message de refus étant :

status=deferred (host smtp-in.orange.fr[80.12.242.9] refused to talk to me: 421 mwinf5c10 ME Trop de connexions, veuillez verifier votre configuration. Too many connections, slow down. OFR004_104 [104])

Voici ce qu’il faut faire :

Editez le fichier /etc/postfix/transport

wanadoo.com slow:
wanadoo.fr slow:
orange.com slow:
orange.fr slow:

Editez le fichier /etc/postfix/master.cf

# Slow - config MX Orange/Wanadoo
slow unix - - n - 5 smtp
-o syslog_name=postfix-slow
-o smtp_destination_concurrency_limit=3
-o slow_destination_rate_delay=1

Editez le fichier /etc/postfix/main.cf

transport_maps = hash:/etc/postfix/transport
slow_destination_recipient_limit = 20
slow_destination_concurrency_limit = 10
default_destination_concurrency_limit = 10

Relancez le tout :

postmap /etc/postfix/transport
/etc/init.d/postfix restart

Et merci à Orange pour nous pourrir la vie régulièrement avec la gestion du mail…

Categories: Administration, Linux, SSH Tags: ,

Traitement de Queue mail Postfix

17/01/2013 Comments off
Rating 3.00 out of 5
[?]

Terminal

Si vous avez besoin d’informations sur le contenu de la queue de Postfix, voir faire le ménage dans la-dite queue, voici quelques lignes de commande bien utiles : (le code DBB3F1A7 étant le no de votre message à traiter)

 

Lister les messages en Queue : postqueue -p

Supprimer un message en Queue : postsuper -d DBB3F1A7

Supprimer tous les messages en Queue : postsuper -d ALL

Mettre un messages en attente (hold) : postsuper -h DBA3F1A7

Remettre un messages en mode normale (actif) : postsuper -H DBA3F1A7

Remettre en Queue un message : postsuper -r DBA3F1A7

Pour tous les messages : postsuper -r ALL

Afficher le contenu d’un message : postcat -q DBA3F1A9

Forcer l’envoie des messages en Queue (flush) : postqueue -f

Categories: Administration, Centos, Linux, SSH Tags: , ,

Réparer toutes les tables MySQL

19/08/2012 Comments off
Rating 3.00 out of 5
[?]

Terminal

 

 

Pour réparer l’ensemble des tables MySQL sous Linux, tapez la commande ci-dessous dans le terminal :

mysqlcheck -u root -p –auto-repair –optimize –all-databases

ou encore

mysqlcheck -p -Aor

Categories: Linux, MySQL, SSH Tags:

J’ai oublié mon mot de passe root MySQL !

25/05/2011 Comments off
Rating 3.00 out of 5
[?]

TerminalIl peut arriver lorsque l’on a une tête pleine de trous comme la mienne, d’oublier le mot de passe root d’un serveur MySQL.
Don’t panic, il est possible de réinitialiser le mot de passe root de MySQL sans connaitre le mot de passe d’origine.

Commencez par stopper MySQL :
service mysqld stop

Démarrez mysql sans le contrôle des mots de passe (safe mode) :
mysqld_safe --skip-grant-tables &

Connectez-vous ensuite en root sans mot de passe :
mysql -u root
Vous devriez obtenir à l’écran :
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: ....
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>

Changez ensuite le mot de passe à l’aide des commandes :
use mysql;
update user set password=PASSWORD("nouveau mot de passe") where User='root';
flush privileges;
quit

Relancez MySQL :
service mysqld restart

Connectez-vous en root avec le nouveau mot de passe :
mysql -u root -p

Voilà, vous pouvez vous rendormir tranquillement.

Categories: Linux, Mac OS X, MySQL Tags: , ,

Créer une commande équivalente à ‘pidof’ sous Mac

18/09/2010 Comments off
Rating 3.00 out of 5
[?]

TerminalSous Linux, il existe une commande appelée ‘pidof’ bien pratique qui permet d’obtenir le numéro d’un process (pid) à partir de son nom. Vous trouverez ci-dessous de quoi recréer cette commande.

Créez un fichier texte avec comme contenu :

#!/bin/sh

ps axc|awk "{if (\$5==\"$1\") print \$1}";

Enregistrez-le par exemple au premier niveau de votre disque avec comme nom ‘pidof’ sans extension. Lancez ensuite le terminal et executez la commande : chmod 755 /pidof de manière à le rendre executable, copiez-le ensuite dans le répertoire /bin

Vous avez à ce moment là une nouvelle commande dans votre terminal nommée ‘pidof’

A l’utilisation dans le terminal, cela donne :

$pidof Finder
45560
(renvoi le numéro du pid de votre Finder).

Categories: Linux, Mac OS X Tags:

Mac OS X Server et GD (PHP)

03/09/2009 Comments off
Rating 3.00 out of 5
[?]

Il n’y a aucun danger à appliquer la nouvelle mise à jour. Alors vous vous êtes lancé.

Au redémarrage vous vous rendez compte que votre installation a la mano de la librairie GD (qui permet la manipulation d’images avec PHP) est cassée.

Je ne sais pas pourquoi GD n’est pas inclus dans la distribution de PHP de Mac OS X Server, il y a peut-être une très bonne explication, mais je sais que presque toutes les mises à jour de sécurité et les mises à jour du système cassent GD.

Même, et surtout, quand Apple ne précise rien à ce sujet, quand les détails de la mise à jour ne mentionnent rien à propos de PHP, et bien à la sortie, re-boum !, plus de GD.

Petit truc pour éviter de passer sa vie à compiler :

sudo cp /usr/libexec/apache2/libphp5.so /usr/libexec/apache2/libphp5.so.old

sudo cp /usr/bin/php /usr/bin/php.old

Et ensuite, vous réincrémentez votre sauvegarde en faisant les commandes inverses. Vous redémarrez Apache et, re-re-boum !, tout rentre dans l’ordre.

Categories: Apache, Mac OS X, PHP, Serveur Tags: