Auto-hébergement: YunoHost Bêta 1 est disponible

05/02/2024 Categories: Logiciel, Système Tags: , , , Comments off

Source: linuxfr.org

La distribution home-serveur YunoHost, basée sur Debian, a sortie le 31/05/12 sa première version publique. Encore en développement intensif, la Bêta 1 nous donne un avant-goût de ce qui a pour but de devenir une distribution serveur grand public.

Au programme de cette version : Un serveur mail, XMPP et LAMP auto-configuré à base de LDAP, ainsi qu’une installation simplifiée par rapport au standard Debian.

Un développement expéditif

C’est lors d’un constat alarmant de l’état de l’auto-hébergement en France que les deux développeurs du projet ont décidé de réagir: L’auto-hébergement peut être bénéfique au plus grand nombre mais reste très difficile d’accès, et des initiatives comme Beedbox ou Freedombox peinent à voir le jour.

Ainsi, 3 mois de développement auront suffit à l’administrateur système et au développeur web en charge du projet pour sortir cette première Bêta. Bien sûr, beaucoup de travail reste à faire avant que Madame Michu ne relève ses mails sur son propre serveur, mais l’idée était avant tout de proposer un support sur lequel baser une communauté de contributeurs motivés.

Techniquement

La distribution inclut par défaut les composants standards Debian suivant :

  • Apache 2
  • MySQL
  • PHP
  • Postfix
  • Dovecot
  • Ejabberd
  • OpenLDAP

Elle utilise LemonLDAP::NG comme SSO, et le reste sont des paquets YunoHost disponible par un dépôt Debian dédié.

Lors de l’installation, tous les services sont configurés pour fonctionner avec l’annuaire LDAP, et une interface d’administration Web (« admin.mondomaine.fr ») permet de gérer, entre autre, les utilisateurs de celui-ci.

Les développeurs ont également mis en place un système d’installation automatique d’applications web, sous forme de paquets Debian également, et installables depuis l’interface web. Un portail d’application devient ensuite accessible par l’URL « apps.mondomaine.fr », et bénéficie de l’authentification unique de LemonLDAP.

Encore des lacunes

Toujours dans un souci de « Release early, release often » (sortir tôt, sortir souvent), l’équipe a concédé plusieurs lacunes importantes techniquement :

D’une part, l’interface web d’administration est codée en PHP et permet un large choix d’opérations serveurs (installation de paquet, redémarrage de services, consultation de logs), ce qui peut et pourra présenter de conséquentes failles de sécurité.
D’autre part, certains composants intégrés sont assez gourmand en ressources (Apache, Ejabberd et MySQL en particulier), ce qui oblige un utilisateur modeste à disposer d’un minimum de 512Mo de mémoire vive pour faire tourner correctement la distribution.
Enfin, le SSO LemonLDAP::NG – bien que très fonctionnel – restreint l’architecture requise aux processeurs x86 uniquement, ce qui empêche pour le moment la distribution de s’installer sur des NAS ou autres boîtiers ARM.

Categories: Logiciel, Système Tags: , , ,

Surveillance système des machines sur un réseau avec Munin

04/02/2024 Categories: Logiciel, Réseau, Système Tags: , , , Comments off

I. Introduction

muninMunin est un outil de surveillance basé sur le célèbre RRDTool, permettant de connaître toutes les données systèmes des autres ordinateurs du réseau. Il les présente automatiquement sous forme de graphiques consultables depuis une page web. Par ailleurs, il dispose d’un système de plugins qui le rend simple d’utilisation et très modulaire.

J’ai choisi de le présenter, et non certains de ses concurrents comme Nagios, Cacti ou Zabbix, car il m’a semblé être le plus simple d’utilisation tout en conservant de fortes possibilités d’adaptation.

Un système Munin est composé de :

  • un serveur principal, récupérant les informations
  • un nœud par équipement à surveiller

Il faut signaler qu’avec une telle architecture Munin se différencie de Nagios. Ce dernier préfère en effet centraliser toutes les mesures sur le serveur, ce qui permet de ne rien installer sur les équipements surveillés.

Lire la suite…

MySQL – Monitorer le port 3306

04/02/2024 Categories: Bases de données, Réseau Tags: , , Comments off

Pour faire le monitoring du port 3306 sous Linux il suffit d’utiliser la commande :

tcpdump  -i eth0 -nN -vvv -xX  -s 1500  port 3306

Où s représente la longueur du paquet.

Protéger votre serveur ssh contre les attaques brute-force

03/02/2024 Categories: Réseau, Sécurité Tags: , , , , , Comments off

ssh est excellent pour accéder à distance à ses fichiers, ou même utiliser son ordinateur à distance.

Mais que faire contre les attaques de type brute-force ?
(Essai de toutes les combinaisons de lettre pour trouver le mot de passe).

C’est simple:

sudo aptitude install fail2ban

Et voilà !

Si quelqu’un fait 6 essais ratés de connexion sur le serveur ssh, son adresse IP sera bannie pendant 10 minutes.
C’est suffisant pour rendre inutile ce genre d’attaque.

Pour voir les actions du programme, faites:

sudo cat /var/log/fail2ban.log

Aller plus loin

En fait, fail2ban peut être configuré pour faire plein d’autres choses.
Dans le principe, il surveille les fichiers log de votre choix, et déclenche alors des actions.

Dans le cas de ssh, il surveille /var/log/auth.log et lance des commandes iptables pour bannir les adresses IP.

Regardez le fichier /etc/fail2ban/jail.conf
Il contient déjà les lignes pour bloquer les attaques sur les serveurs ftp (vsftpd, wuftpd, proftpd…), postfix, apache…
Vous pouvez les activer en remplaçant enabled = false par enabled = true.

Sauvegarde et restauration des tables de règles importantes

03/02/2024 Categories: Réseau Tags: , Comments off

Source: iptables-tutorial

La commande iptables-save est, comme nous l’avons déjà expliqué, un outil pour sauvegarder dans la table de règles un fichier que iptables-restore peut utiliser. Cette commande est tout à fait simple, et prend seulement deux arguments. Regardons l’exemple suivant pour comprendre la syntaxe :

iptables-save [-c] [-t table]

L’argument -c indique à iptables-save de conserver les valeurs spécifiées dans les compteurs de bits et de paquets. Ce qui pourrait être utile si vous voulez redémarrer votre pare-feu principal, mais sans perdre les compteurs de bits et de paquets que nous pourrions utiliser dans un but de statistiques. Exécuter une commande iptables-save avec l’argument -c nous permet de redémarrer sans briser les routines de statistique et de comptage. La valeur par défaut est, bien sûr, de ne pas garder les compteurs intacts quand cette commande est exécutée.

L’argument -t indique à la commande iptables-save quelle table sauvegarder. Sans cet argument toutes les tables disponibles dans le fichier seront automatiquement sauvegardées. Ci-dessous, un exemple de ce que donne une commande iptables-save sans avoir chargé de table de règles.

# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002
*filter
:INPUT ACCEPT [404:19766]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [530:43376]
COMMIT
# Completed on Wed Apr 24 10:19:17 2002
# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002
*mangle
:PREROUTING ACCEPT [451:22060]
:INPUT ACCEPT [451:22060]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [594:47151]
:POSTROUTING ACCEPT [594:47151]
COMMIT
# Completed on Wed Apr 24 10:19:17 2002
# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [3:450]
:OUTPUT ACCEPT [3:450]
COMMIT
# Completed on Wed Apr 24 10:19:17 2002

Les commentaires débutent avec la signe #. Chaque table est marquée par *<table-name>, par exemple, *mangle. Dans chaque table nous avons les spécifications de chaînes et les règles. Une spécification de chaîne ressemble à : <chain-name> <chain-policy> [<packet-counter>:<byte-counter>]. Le chain-name peut être, par exemple, PREROUTING, la règle d’action est décrite avant et peut être, par exemple, ACCEPT. Enfin les compteurs d’octets et de paquets sont les mêmes que dans la sortie de la commande iptables -L -v. Chaque déclaration de table se termine avec un mot-clé COMMIT. Le mot-clé COMMIT indique qu’à ce niveau toutes les règles seront envoyées au noyau par l’opérateur de transfert de données.

L’exemple ci-dessus est tout à fait basique, et je crois qu’il est approprié de montrer un bref exemple qui contient un petit Iptables-save ruleset. Si nous voulons lancer iptables-save sur celui-ci, la sortie de la commande sera :

# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002
*filter
:INPUT DROP [1:229]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Apr 24 10:19:55 2002
# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002
*mangle
:PREROUTING ACCEPT [658:32445]
:INPUT ACCEPT [658:32445]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [891:68234]
:POSTROUTING ACCEPT [891:68234]
COMMIT
# Completed on Wed Apr 24 10:19:55 2002
# Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002
*nat
:PREROUTING ACCEPT [1:229]
:POSTROUTING ACCEPT [3:450]
:OUTPUT ACCEPT [3:450]
-A POSTROUTING -o eth0 -j SNAT --to-source 195.233.192.1
COMMIT
# Completed on Wed Apr 24 10:19:55 2002

Comme on peut le voir, chaque commande a été préfixée avec les compteurs d’octets et de paquets car nous avons utilisé l’argument -c. Excepté pour ceci, la ligne de commande est tout à fait identique au script. Le seul problème, est de savoir comment sauvegarder la sortie dans un fichier. Vraiment simple, et vous devriez savoir le faire si vous avez utilisé Linux auparavant. Il suffit d’utiliser un « pipe » (canal de communication) pour enregistrer la sortie de la commande dans le fichier. Ça ressemblera à cela :

iptables-save -c > /etc/iptables-save

La commande ci-dessus fera une sauvegarde de toute la table de règles appelée /etc/iptables-save avec les compteurs d’octets et de paquets toujours intacts.

Categories: Réseau Tags: ,