Le Blog de C-quad

Archive pour la catégorie ‘Internet’

Mettre à jour automatiquement dyndns sous Linux

J’utilise le service gratuit de dyndns, néanmoins je n’ai pas besoin de mettre à jour automatiquement mon adresse ip à jour car celle ci ne change pas. Mais je vais quand même détailler un moyen d’y arriver pour ceux qui ne seraient pas dans ce cas.

L’utilitaire ddclient permet de mettre à jour une grande majorité de serveur dns dynamique tel que dyndns.
Pour l’installer nous ferons donc :

# yum install ddclient

Il reste ensuite à le configurer, pour cela nous éditerons le ficher /etc/ddclient.conf
A noter que dyndns fourni un fichier de configuration tout prêt à cette adresse : https://www.dyndns.com/support/tools/clientconfig.html

un exemple de fichier généré par dyndns :

## ddclient configuration file
daemon=600
# check every 600 seconds
syslog=yes
# log update msgs to syslog
mail-failure=cedric.olivier@free.fr # Mail failed updates to user
pid=/var/run/ddclient.pid
# record PID in file.
## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
## DynDNS username and password here
login=cquad
password=##YOUR PASSWORD##
## Default options
protocol=dyndns2
server=members.dyndns.org
## Dynamic DNS hosts
cquad.dyndns.org

Il sera ensuite nécessaire de démarrer le service :

# service ddclient start

si on désire qu’il soit démarré au démarrage de la machine:

# chkconfig ddclient on

 

Seeks – un méta moteur de recherche à tester

Seeks est un méta-moteur de recherche libre, disponible sous licence publique générale Affero.
Il se compose de plusieurs éléments :

  • Un proxy web , qui intercepte les requêtes faites aux moteurs de recherche, les soumet lui-même aux moteurs activés dans la configuration, recueille et recoupe les résultats pour les présenter à l’utilisateur.
  • Une interface de moteur de recherche, qui permet de faire des recherches comme avec n’importe quel moteur de recherche classique.

Personnellement, Je n’ai pas activé le proxy et préfère utiliser l’interface web de recherche plutôt que de voir mes requêtes google interceptées. J’aime converser le contrôle de ce que je fais.
Pour ceux qui ne ressentent pas le besoin d’installer ce moteur de recherche, mais qui désirent néanmoins l’essayer, un noeud est disponible :

http://www.seeks.fr

Méta-moteur

Le méta-moteur recueille et réordonne les résultats fournis par les moteurs de recherche classiques. L’ordre final est le résultat d’un compromis entre tous les résultats proposés.
Quelques fonctionnalités qui font de Seeks un moteur de recherche agréable à utiliser:

  • une recherche étendue (demande de la page suivante aux moteurs de recherche),
  • un « regroupement intelligent » (la fonction « cluster »), qui regroupe dans des cadres les résultats par similarités (en se basant sur les mots contenus dans les descriptions),
  • un classement soit par titre, url ou type
  • une mise en valeur des mots les plus discriminants de la description de chaque résultat,
  • une détection automatique de la langue.

L’avenir de Seeks

L’un des objectifs de Seeks est de s’éloigner petit à petit des moteurs de recherches actuels pour construire son propre index, à partir des recherches effectuées par les utilisateurs et de leur retour.
Seeks se base sur l’idée que les utilisateurs peuvent apporter beaucoup à pertinence des recherches.

Les moteurs de recherche actuels vivent grâce aux habitudes des utilisateurs, enregistrent tout afin de pouvoir vendre de la régie publicitaire ciblée. Seeks replace l’utilisateur au centre, et ne se sert pas de ses recherches pour en apprendre plus sur lui, mais pour pouvoir réutiliser les résultats de ces recherches pour les autres utilisateurs.
Dans un futur proche chaque nœud de recherche seeks pourra être interconnecté en peer to peer afin de réaliser des recherches mutualisées et bénéficier du retour des autres utilisateurs.

Références :

Le site du projet : http://www.seeks-project.info/site/
La revue en cours du paquet pour Fedora : https://bugzilla.redhat.com/show_bug.cgi?id=678809

Configurer sendmail – envoyer des emails grâce à un relai SMTP

Nous allons voir comment configurer le service sendmail pour fonctionner en tant que relai SMTP.

Pour pouvoir intervenir sur la configuration de sendmail il est nécessaire d’installer le paquetage sendmail-cf :

# yum install sendmail-cf

Configuration

Le fichier de configuration

Le fichier de configuration de sendmail se situe dans /etc/mail et se nomme sendmail.mc.
Pensez à faire une sauvegarde du fichier d’origine :

# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.sauvegarde

Ensuite éditez-le via votre éditeur préféré.

Il faudra modifier et/ou ajouter quelques lignes. (les dnl en début de ligne permettent l’ajout de commentaires) :

dnl # permettra de savoir que votre fichier de configuration a été modifié par vous
VERSIONID(`Installation Personnelle')dnl

dnl # définir smtp.fournisseur.fr comme serveur de relai
define(`SMART_HOST',`smtp.fournisseur.fr')

dnl # demander au serveur de relayer le local
GENERICS_DOMAIN(localhost.localdomain localhost)dnl

dnl # masquer le header mais aussi l'enveloppe
FEATURE(masquerade_envelope)dnl

dnl # Définir le domaine qui va apparaitre lors de l'envoi des mails
MASQUERADE_AS(`mon_domaine.fr')dnl

Si le serveur SMTP que vous avez défini dans SMART_HOST effectue un contrôle et que de ce fait vos mails ne sont pas envoyés , vous avez 2 solutions :

  1. vous définissez dans MASQUERADE_AS le domaine de votre serveur SMTP (par exemple free.fr)
  2. vous laissez le paramètre MASQUERADE_AS tel qu’il est, et ajoutez les lignes suivantes dans votre fichier :
FEATURE(always_add_domain)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(`allmasquerade')dnl 

MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(`mon_domaine.fr')dnl 

Obtention du fichier sendmail.cf

Dernièrement, vous devrez générer le fichier sendmail.cf

# cd /etc/mail
# make

Il est ensuite nécessaire de redémarrer sendmail afin que les paramètres soient pris en compte

# service sendmail restart

Références

Documentation Fedora

Sécuriser l’accès au site via https – configuration d’apache

Nous allons ici voir comment sécuriser un site web fonctionnant sous apache en y ajoutant la possibilité de se connecter avec le protocole https.

Pour cela nous installerons le module « mod_ssh »

# yum install mod_ssl

Le protocole https utilise SSL et de ce fait il est nécessaire de générer les certificats qui seront installés. Si vous avez déjà une autorité de certification active vous pouvez passer à la suite directement.

Mise en place d’une autorité de certification (CA)

Création de l’autorité de certification (CA)

Nous allons créer la clé privée de l’autorité de certification qui nous permettra de produire des certificats auto-signé.

Le autorité de certification (CA) sera stocké dans /etc/pki/CA/cacert.pem, tandis que la clé privée du CA sera stockée dans /etc/pki/CA/private/cakey.pem:

# openssl req -new -x509 -days 365 -newkey rsa:1024 \
  -keyout /etc/pki/CA/private/cakey.pem \
  -out /etc/pki/CA/cacert.pem
# chmod 600 /etc/pki/CA/private/cakey.pem

Une copie de chaque certificat signé par l’autorité sera stockée dans /etc/pki/CA/newcerts, avec un nom correspondant au SN (Serial Number) de l’autorité avec l’extentsion .pem. Si ce dossier n’est pas présent, il est nécessaire de le créer :

# mkdir /etc/pki/CA/newcerts

Le fichier /etc/pki/CA/index.txt liste tous les certificats qui ont été signés, si ce fichier n’est pas présent, il est la aussi nécessaire de le créer :

# touch /etc/pki/CA/index.txt

Le fichier /etc/pki/CA/serial contient le prochain numéro de série disponible, étant donné que nous venons de mettre en place l’autorité le prochain numéro de série sera le 1 :

# echo 01 > /etc/pki/CA/serial

Voila l’autorité de certificat est prête à délivrer des certificats auto-signé, nous allons donc pouvoir créer notre certificat pour apache.

Création du certificat pour apache

Création du certificat

Il est nécessaire de créer un certificat SSL.Voici la démarche à suivre :

 # cd /etc/pki/tls/certs
 # openssl genrsa -des3 -out apachekey.pem 2048

Génération du CSR (Certificate Signing Request)

# openssl req -new -key apachekey.pem -out apachekey.csr
Enter pass phrase for apachekey.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:FR
State or Province Name (full name) []:France
Locality Name (eg, city) [Default City]:Fretin
Organization Name (eg, company) [Default Company Ltd]:C-quad Company Ltd
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:cquad.dyndns.org
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Créer le certificat pour le serveur web

Il est nécessaire de signer le CSR pour créer le certificat du serveur web.

# openssl ca -in apachekey.csr -out apachecert.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
 Serial Number: 1 (0x1)
 Validity
 Not Before: Feb  6 15:51:39 2011 GMT
 Not After : Feb  6 15:51:39 2012 GMT
 Subject:
 countryName               = FR
 stateOrProvinceName       = France
 organizationName          = C-quad Company Ltd
 commonName                = cquad.dyndns.org
 emailAddress              =
 X509v3 extensions:
 X509v3 Basic Constraints:
 CA:FALSE
 Netscape Comment:
 OpenSSL Generated Certificate
 X509v3 Subject Key Identifier:
 98:D8:CF:53:5D:0D:5C:BE:E8:87:ED:01:0C:CA:71:1B:32:94:80:60
 X509v3 Authority Key Identifier:
 keyid:E4:04:44:36:1A:A3:1C:F1:D5:6A:5A:C2:CA:E6:DC:7D:24:EF:FD:41

Certificate is to be certified until Feb  6 15:51:39 2012 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Installer le certificat SSL

Copier la clé et le certificat dans /etc/pki/tls/http/ :
# cp apachecert.pem /etc/pki/tls/http/
# cp apachekey.pem /etc/pki/tls/http/

Update VirtualHost as follows:

<VirtualHost cquad.dydns.org:443>
    SSLEngine On
    SSLCertificateFile /etc/pki/tls/http/apachecert.pem
    SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
    SSLProtocol All -SSLv2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:+MD5
    DocumentRoot "/var/www/html/ssl"
    ServerName cquad.dyndns.org:443
</VirtualHost>

Attention avec cette configuration, au démarrage d’apache la passphrase qui a été renseignée sera demandée pour décrypter la clé. Si vous redemarrez souvent ce service ou l’ordinateur, il est préférable de supprimer la passphrase avec les actions suivantes :

# cp apachekey.pem apachekey.pem.org
# openssl rsa -in apachekey.pem.org -out apachekey.pem
Enter pass phrase for apachekey.pem.org:
writing RSA key

De ce fait apache ne demandera plus la passphrase. Pour le vérifier, il suffit d’afficher le contenu de la clé il ne doit plus apparaitre ce type de choses :

Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,E895E09547914F04

Interface graphique à distance avec VNC

VNC est utilisé pour afficher une session X-Windows sur un autre ordinateur. Contrairement à une connexion à distance (export DISPLAY), le serveur X est en cours d’exécution sur l’ordinateur distant, et non pas sur votre poste de travail local. Votre poste de travail (Linux ou Windows) contient une copie de l’écran qui s’exécute sur la machine distante.

Il existe plusieurs façons de configurer le serveur vnc. Nous allons voir comment configurer VNC en utilisant le service ‘vncserver’ tel que fourni par Fedora / CentOS.

Lire la suite de cette entrée »