RSS
 

Archive for the ‘Linux’ Category

Créer un alias sous Linux

21 sept

Créer un alias sous Linux est très utile pour redéfinir des commandes que l'on utilise souvent avec une option particulière, comme par exemple ls -l --color=auto pour afficher le format long et en couleur de la commande ls

La commande alias permet de créer par exemple une commande ll qui exécutera en fait ls -l --color=auto.

Pour cela, on utilise la commande alias de la manière suivante pour définir un nouvel alias :

$ alias ll='ls -l --color=auto'

On peut également utiliser alias sans argument pour afficher la liste des alias actuellement configurés :

$ alias
alias ll='ls -l --color=auto'

Par contre, l'alias ainsi créer n'est valable que pour le shell courant (et les processus fils).

Si l'on veut un alias permanent, il suffit de faire la déclaration dans le fichier .bashrc de l'utilisateur (si on est sous un shell Bash, sinon ça peut être .tcshrc par exemple) :

$ vi ~/.bashrc

Et on y insère par exemple cette ligne à la fin :

alias ll='ls -l --color=auto'

Ainsi, l'alias sera défini à chaque nouveau shell créé pour l'utilisateur.

On peut aussi recharger le shell courant pour prendre en compte le nouvel alias sans attendre la reconnexion :

$ . ~/.bashrc
 
No Comments

Posted in Divers

 

Configurer Apache avec SSL

20 sept

SSL (Secure Socket Layer) est un protocole permettant de sécuriser une communication entre deux points, typiquement un client et un serveur.

Il peut être couplé au protocole HTTP pour former le HTTP sécurisé (HTTPS) qui apporte à la communication entre le client et le serveur Web :

  • la confidentialité : les données sont cryptées et donc pas lisibles par un tiers
  • l'intégrité : vérification que les données n'ont pas été modifiées pendant le transport
  • l'authentification : vérification que le serveur (ou le client) est bien celui qu'il prétend être

Le but de cette note est donc de configurer un serveur Web Apache pour qu'il prenne en compte le SSL, permettant ainsi d'accéder à des sites Webs en HTTPS.

Read the rest of this entry »

 
1 Comment

Posted in Apache, OpenSSL

 

OpenSSL : créer un certificat auto-signé

14 sept

OpenSSL est une boite à outils open source qui implémente SSL/TLS ainsi qu'une bibliothèque de cryptographie.

Il va nous permettre ici de générer un certificat auto-signé. Ce type de certificat est très utile dans un cadre d'utilisation personnelle, par exemple pour implémenter les variantes sécurisées des protocoles tels que HTTP, IMAP ou SMTP qui deviendront alors HTTPS, IMAPS et SMTPS.

A noter : lors de l'utilisation sur un site Web, le navigateur affichera un message d'avertissement sur la connexion en HTTPS. Ceci est du au fait que, comme son nom l'indique, le certificat utilisé est auto-signé, c'est à dire non certifié par une autorité de confiance telle que Verisign par exemple. C'est pour cela qu'il n'est pas conseillé d'utiliser un certificat auto-signé pour un site publique par exemple, mais plutôt dans un cadre restreint.

Read the rest of this entry »

 
1 Comment

Posted in Linux, OpenSSL

 

Chrooter un utilisateur

15 juil

chroot est une commande permettant de lancer une commande en modifiant l'emplacement du répertoire racine. Ainsi, si l'on choisit comme répertoires racine /usr/local/jail, lorsque l'utilisateur tapera "cd /" il arrivera dans ce qui est pour lui la racine (la commande pwd lui retournera bien /), alors qu'en réalité il sera dans /usr/local/jail. Il ne pourra donc pas accéder à la vraie racine du serveur.

Objectif : permettre à un utilisateur d'accéder à un système Linux de manière étanche avec le reste du système tout en lui permettant d'accéder à certaines ressources ou services, comme par exemple la possibilité de se connecter en ssh et d'utiliser sftp.

En pratique, on obligera l'utilisateur à s'emprisonner lui-même dans un environnement "prison" que l'on aura préparé spécialement pour lui :)

Cette note sera découpée en deux grandes parties : la création de la prison et de son environnement, puis la création des utilisateurs de cette prison.

Logiciels utilisés : chroot, OpenSSH 4

Système d'exploitation : RedHat EL 5, Linux 2.6.x

Read the rest of this entry »

 
 

Générer un mot de passe aléatoire sous Linux

09 juil

Voici un enchainement de commandes simples qui permet de générer très facilement une chaîne de caractère aléatoire composée de lettres minuscules, majuscules et de chiffres, et qui peut donc être utilisée comme générateur de mot de passe :

$ tr -d -c "a-zA-Z0-9" < /dev/urandom | head -c 8

Petite explication de texte :

  • /dev/urandom : interface du générateur de nombres aléatoires du noyau
  • tr : commande utilisée pour supprimer tous les caractères (option -d) ne correspondant pas (option -c) à la chaîne de caractères qui suit. Ici, on garde les lettres minuscules (a-z), les lettres majuscules (A-Z) et les chiffres (0-9). D'autres caractères peuvent être ajoutés, par exemple "a-zA-Z0-9;,:?\!_-" pour compléxifier un peu plus le mot de passe.
  • head : commande qui permet de sélectionner les 8 premiers caractères (option -c 8)
 
No Comments

Posted in Divers

 

Bloquer une plage d’adresse IP avec iptables

09 juin

En observant les logs d'un service exposé sur Internet on se rends parfois compte que des requêtes "pourries" arrivent régulièrement d'adresses IP très ressemblantes.

Après un petit whois très intructif on peut obtenir la plage d'IP correspondante et ainsi la bloquer en amont du service, évitant de polluer les fichiers de logs et de faire travailler le serveur pour rien.

Le blocage d'une plage d'adresse IP se fait très facilement en utilisant iptables et le module iprange.

Par exemple, pour bloquer en entrée une plage d'adresse IP bien connue des serveurs smtp :

$ iptables -A INPUT -p tcp --dport 25 -m iprange --src-range 118.166.0.0-118.166.255.255 -j DROP

Options utilisées :

  • -A : pour ajouter une règle dans la châine (ici, pour les paquets en entrée donc INPUT)
  • -p : protocole
  • --dport : port de destination du paquet
  • -m : utilisation d'un module (ici, on utilise le module iprange)
  • --src-range : plage d'adresse IP source
  • -j : action à effectuer pour le paquet (ici, on ne le prends pas en compte)
 
No Comments

Posted in Linux

 

Ajouter un module à Apache

17 mai

Vous avez compiler et installer votre tout nouveau serveur Apache, puis, quelques temps plus tard, vous avez besoin d'un nouveau module (par exemple, le mod_rewrite).

Plutôt que de tout recompiler, il est possible d'ajouter un module au serveur Apache de manière dynamique (ou shared) grâce à l'outil apxs (APache eXtenSion tool), fourni avec le package Apache.

Note : cette opération n'est réalisable que si vous avez compiler votre serveur Apache avec le module mod_so ! (option de compilation : --enable-module=shared)

Pour le vérifier, la commande httpd -l vous renseignera sur les modules compilés :

$ httpd -l
Compiled in modules:
  core.c
  prefork.c
  mod_so.c

Les sources d'Apache fournissent un certain nombre de sources de modules, dont le mod_rewrite qui nous intéresse. A partir de là, la compilation et l'installation se fait en une seule commande.

On se place dans le répertoire contenant les sources du module :

$ cd /usr/local/src/httpd-2.2.14/modules/mappers

Et on lance apxs avec trois options, plus le nom du fichier source *.c (fonctionne aussi avec les fichiers objets *.o et les archives *.a) :

  • -c pour compiler
  • -i pour installer le module compilé dans le répertoire des modules d'Apache
  • -a pour ajouter le chargement du module dans la configuration d'Apache (via la directive LoadModule)

$ apxs -i -a -c mod_rewrite.c

Un petit redémarrage d'Apache pour charger le module et c'est fini :

$ /etc/init.d/httpd stop
$ /etc/init.d/httpd start

PS : pour l'installation d'un serveur Apache, voir cet article : http://blog.moncoindunet.fr/linux/installer-un-serveur-apache-avec-php-sur-linux/

 
No Comments

Posted in Apache

 

Installer un serveur Apache avec PHP sous Linux

14 mai

Apache est un serveur HTTP open source utilisé pour hébergé des pages web (html, php, etc.). Il est le serveur web le plus populaire depuis 1996 et plus de 50% des sites Internet du monde tournent avec Apache (barre des 100 000 000 de sites dépassée en 2009).

PHP est un langage de programmation largement utilisé dans le développement Web.

L'objectif de cette note est donc d'installer un serveur Apache ainsi que PHP pas à pas à partir des sources officielles, puis de configurer notre serveur Apache pour interpréter les pages PHP.

Logiciels utilisés : Apache 2.2.17 et PHP 5.3.4

Système d'exploitation : Debian  5.0, Linux 2.6.34

Mis à jour le 03/09/2010 : upgrade des versions Apache et PHP et améliorations diverses

Read the rest of this entry »

 
No Comments

Posted in Apache, PHP

 

Quitter telnet …

03 mai

Qui n'a pas déjà pesté contre ce message invariable renvoyé par ce foutu telnet qui ne veut pas se fermer ?

$ telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

En fait, le caractère tant attendu est produit par :

  • sous Windows : Ctrl + $
  • sous Linux : Ctrl + Alt Gr + ]

Ce qui nous ramène sur l'invite telnet, et là un petit quit met fin au calvaire :

^]
telnet> quit

Ouf ! Plus d'excuse pour ne pas quitter ce truc proprement :D
 

 
1 Comment

Posted in Divers

 

Ajouter de la couleur à VIM

02 mai

Pour ajouter la coloration syntaxique à l'éditeur de texte VIM (Vi iMproved), c'est très simple, il suffit de taper cette commande dans vim :

:syntax on

Différents thèmes de couleurs sont disponibles par défaut, on peut les choisir en tapant colorscheme puis la touche TAB pour faire défiler les différents thèmes disponibles. Par exemple :

:colorscheme delek

D'autre thèmes sont disponibles sur le Net, il suffit de les télécharger et de les placer dans /usr/share/vim/vimcurrent/colors/.

Pour que la coloration syntaxique et le thème choisi soit permanent il suffit de rajouter ces mêmes commandes dans le fichier ~/.vimrc de l'utilisateur (le créer s'il n'existe pas) :

$ vim ~/.vimrc

:syntax on
:colorscheme delek

 
No Comments

Posted in Divers