Archives pour l'étiquette debian

Mise en place d’un portknocking pour limiter les ports accessibles sur le net

Hello …

Protéger des services non-public (type ssh) d’être accédés par n’importe qui ça peut être assez utile (pour éviter les connexions intempestives pour la prise d’information, tentative de login/bruteforce …), le tout sans avoir à déclarer d’ip, …

On peut utiliser pour cela du portknocking, le but étant de mettre en place une séquence de « toc toc qui est là » qui permettra ensuite d’ouvrir la porte, et si la séquence n’est pas bonne … ^^).
Continuer la lecture de Mise en place d’un portknocking pour limiter les ports accessibles sur le net

Configurer un serveur SMTP et cacher sa bannière (Exim4)

Bijour à vous …

Today, la configuration d’un serveur de mail exim4 (le serveur smtp par défaut de Debian … ), à la base je voulais juste m’amuser à filer une astuce pour cacher la bannière du serveur (Il est fufu mon serveur smtp!!! Gaffe au backstab ;)), et pis, prendre des screenshots, c’est pas compliqué, donc ben vous aurez droits à la version complète du Grand LoupZeur … si c’est pas la lose ça :D. (Mon but est seulement de configurer le smtp, pas de truc anti-spam et …, y’a plein de tutos pour ça)

Sinon, quelques liens sur des tutos d’installation d’exim4 :

Pour l’installation, la démarche à suivre est simple …

apt-get install exim4
dpkg-reconfigure exim4-config

Pour un dédié j’ai choisit la config internet (comme j’ai une ip fixe, je n’ai pas besoin de smarthost):
config-internet
Ensuite, le nom de domaine utilisé :
fqdn-exim4
L’ip sur laquelle on écoute :
ip-exim4
Les domaines pour lesquelles on acceptes les mails (noté la séparation des domaines par 🙂 :
mail-destination-accepte
Les relais que l’on autorise à envoyer des mails (NE JAMAIS AUTORISER TOUT LES DOMAINES, c’est le principal vecteur de spam)
relay-autorise-exim4
et la même choses pour les ip (autorisé les ips local, si vous êtes dans un réseau local).
relay-ip
Les requêtes DNS (pour ma part j’ai mis non comme j’ai un serveur DNS local normalement, ça ne pose pas de problème, à part si le DNS tombe, tous les mails seront mis dans la queue … ça m’est arrivé suite à la « sécurisation » de mon serveur DNS 😉 j’ai oublié d’autoriser 127.0.0.1 à faire des requêtes DNS :p ololz le Jean-Kevin!!!! ).
dns-exim4
Le maildir (pour ma part, /var étant plus petit que /home, pour gagner de la place je l’ai mis dans le repertoire utilisateur).
le-maildir
et c’est la fin ^^, on demande le split config, c’est plus simple pour le noob comme moi de comprendre la configuration du soft :
split-config-exim4

Bon donc voilà, l’ennui, c’est que lorsque l’on se connecte en telnet sur le port 25 de mon serveur, exim donne directement le nom du logiciel et sa version (sacrilège!!!).

Après avoir cherché un petit moment … voici l’astuce du Père GG :
Ouvrir le fichier /etc/exim4/conf.d/main/02_exim4-config_options (avec un éditeur plein de charme genre vi ^^).
et modifier les dernières lignes :

MAIN_SMTP_BANNER = "${primary_hostname} ESMTP Exim ${version_number} (Debian package MAIN_PACKAGE_VERSION) ${tod_full}"
smtp_banner = $smtp_active_hostname ESMTP Exim $version_number $tod_full

pour quelles ressemblent à ceci :

MAIN_SMTP_BANNER = "${primary_hostname}"
smtp_banner = $smtp_active_hostname

Et désormais lors de la connexion en telnet à la bête, ça retourne seulement le nom de ma machine (comme c’est le seul truc que les spammeurs/hackers connaissent déjà, on ne lui apprend donc rien) :

kikoo@WillOwnDaWorld:~$ telnet gaetan-grigis.eu 25
Trying mon.ip.a.moi...
Connected to gaetan-grigis.eu.
Escape character is '^]'.
220 r22686.ovh.net
quit
221 r22686.ovh.net closing connection
Connection closed by foreign host.

Et voilà, sinon, pour les petits désagrément, les stats de tentatives d’utilisation de mon serveur en tant que relais publique :
spam-exim4
En rouge, ce sont les mails bloqués qui n’appartiennent pas à mon domaine … je vais peut-être créer une liste d’ip à bannir ^^.

Et c’est la fin … go spam Da Worldz 😉

Serveur VPN en Point-to-Point avec pépétépédé ??

Bonsoir …

Excusez-moi pour le titre … j’étais pas inspiré :p, il s’agit en fait du daemon pptpd et non de la question « pépé t’est pd ? ».
Donc voilà, avec Hadopi, on ne présente plus les VPNs mais bon … leurs utilités sont multiples :

  • Accéder à des réseaux privés d’entreprise (pour faire du télétravail, …)
  • Obtenir une autre ip (fixe ou non) pour faire des choses orthodoxes ou pas
  • Authentifier/Chiffrer des connexions
  • … ?

Pour l’installer … très simple :

apt-get install pptpd

Ensuite, un peu de configuration s’impose, il faut ouvrir le fichier /etc/pptpd.conf :
et décommentez :

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245

Ou si votre réseau local utilise déjà l’adresse en question, changer les adresses du réseau pour un truc du genre :

localip 10.0.0.1
remoteip 10.0.0.234-238,10.0.0.245

Une fois le service démarré, il faut ouvrir le port 1723 du firewall et autoriser le protocole GRE (et pas GRRRRR!), on peut aussi rajouter le forwarding et le postrouting pour accéder au net, ce qui donne pour moi :

/sbin/iptables -A INPUT -p tcp -i eth0 --dport 1723 -j ACCEPT
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j SNAT --to mon.ip.a.moi
echo 1 > /proc/sys/net/ipv4/ip_forward

Vous pouvez ensuite modifier les options du serveur :
Personnellement je vous conseil au moins de changer les DNS, et de changer le système d’authentification/chiffrement, via l’ajout des lignes suivantes à la fin du fichier : /etc/ppp/options

ms-dns 10.0.0.1
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

Et maintenant, les comptes d’accès dans le fichier /etc/ppp/chap-secrets, le format est le suivant :

# client        server  secret                  IP addresses
login            pptpd   password              *

Vous pouvez remplacer * par une ip local, si vous voulez donner une IP fixe à un utilisateur et bien sûr, il faut changer login par votre login et password et votre mot de passe.

Reste plus qu’à redémarrer la chose : /etc/init.d/pptpd restart

Et maintenant, un client pour tester :

apt-get install network-manager-pptp

Puis :
config1
modif
Une fois le VPN en place une magnifique icone ce met en place :
vpnok
Et voilà vous pouvez pinger votre machine (on prend son pied comme on peux hein ;)) sur l’adresse 10.0.0.1 (pour moi).

Annuaire LDAP et authentification UNiX/Linux

Bé voilà bonsoir … dans ma série tuto « memo-inutile » voici …

Encore des trucs inutile pour le commun des mortels …l’authentification centralisée par un annuaire LDAP (OpenLDAP dans mon cas).
Alors bon, ça fait suite à l’un de mes tuto/louange à ce lien ^^ (jsuis trop fainéant pour reprendre l’ensemble du tuto ;)).

Dans mon cas, je devais monter le réseau de mon groupe de projet pour ma licence en Dev (et on nous demande de monter des réseaux ^^), et pour avoir un réseau potable avec plein de machines j’ai eu la géniallissime idée de mettre en place un PDC (Samba/LDAP) pour gérer un parc informatique de …… 8 machines :p 😀 (je devrais peut-être rajouter 3/4 lignes de smiley pour exprimer le fond de ma pensé façon kevin).

Sur le coup bon ben c’est amusant (et ouai … mon gros kif c’est les fichiers de conf et les lignes de commandes … c’est grave ???) de suivre le tuto de damstux (cf. le lien plus haut) qui fonctionne très bien juqu’au moment où l’on veut insérer des machines unix, on à beau modifier les fichiers de conf nsswitch.conf, pam_ldap.conf et libnss-ldap comme dans le tuto, rien ne fonctionne.

Donc pour réussir à se faire logguer des utilisateurs depuis l’annuaire LDAP rien de plus simple … suffit de modifier 4 autres fichiers (et ouai quand y’en a plus … y’en a encore ^^). En imaginant bien sûr que votre serveur LDAP fonctionne (genre que l’authentification fonctionne avec des machines windows ^^ wouah le test 😉 jvai pousser au suicide des apprenti-sysadmin :D).

Bien entendu, il faut suivre le tuto de damstux jusqu’au bout (y compris les modifs sur les fichiers nsswitch.conf, libnss-ldap.conf et pam_ldap.conf côté client) et poursuivre ici ^^ .

CES FICHIERS SONT A MODIFIER COTE CLIENT SEULEMENT (à part si vous voulez laisser les utilisateurs ce connecter à la machine en question … is it secure ??).
Le premier fichier à modifier : /etc/pam.d/common-account (commentez tous le reste)
[sourcecode language=bash]
account sufficient      pam_ldap.so
account required        pam_unix.so try_first_pass
[/sourcecode]

Le deuxième fichier à modifier : /etc/pam.d/common-auth (commentez tous le reste)
[sourcecode language=bash]
auth    sufficient      pam_ldap.so
auth    required        pam_unix.so nullok_secure try_first_pass
[/sourcecode]

Le troisième fichier à modifier : /etc/pam.d/common-password (commentez tous le reste)
[sourcecode language=bash]
password   sufficient   pam_ldap.so
password   required   pam_unix.so nullok obscure md5
[/sourcecode]

Le quatrième fichier à modifier : /etc/pam.d/common-session (commentez tous le reste)
ici on rajoute la possibilité de créer le dossier home si il n’existe pas … sinon on va droit dans le mur (l’utilisateur se log et n’a pas de home 😉 à mettre dans le groupe sdf koi^^). Attention, il faut le mettre avant les deux autres directives, sinon ça ne marche pas (j’ai lu pas mal de tuto qui les mettait dans un mauvais ordre et ça plantait le tout donc …)
[sourcecode language=bash]
session required pam_mkhomedir.so skel=/etc/skel/
session sufficient pam_ldap.so
session required pam_unix.so
[/sourcecode]

Il vous faudra aussi (peut-être modifier le fichier /etc/ldap/ldap.conf) remplacer 1.3.3.7 par l’ip du serveur LDAP et la base par la votre …
[sourcecode language=bash]
BASE dc=mon,dc=reseau,dc=lan
URI ldap://1.3.3.7
[/sourcecode]
Attention … si vous vous plantez, vous n’arriverez plus à vous logguer (et n’oubliez pas d’arroser …), et sinon, ben voilà vous pouvez importer votre base d’utilisateur et vous logguer depuis n’importe quelle machine configurée pour utiliser l’annuaire LDAP avec n’importe quelles utilisateurs de l’annuaire (encore heureux ;)).

Et voilà …