Récupération d'articles d'archives
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/512
|
||||
date: '2012-02-05 17:34:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120225102811/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/
|
||||
tags:
|
||||
- Firewall
|
||||
- iptables
|
||||
title: Introduction
|
||||
weather:
|
||||
humidity: 42
|
||||
illuminance: 1267.0
|
||||
precipitations: false
|
||||
pressure: 1027.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -6.8
|
||||
wind_direction: 72
|
||||
wind_speed: 11.4
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Je parle beaucoup sur ingnu du fait que [Google c'est le mal](https://web.archive.org/web/20120225102811/http://ingnu.fr/2011/12/25/pourquoi-google-cest-le-mal/), qu'il faut utiliser des [alternatives libres](https://web.archive.org/web/20120225102811/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/), et que [le Cloud, c'est de la merde](https://web.archive.org/web/20120225102811/http://ingnu.fr/2012/01/19/il-faut-arreter-avec-le-cloud/).
|
||||
Pour être tout à fait cohérent, il me fallait proposer des articles traitant concrètement de la mise en place de ces alternatives, et c'est pour cela que j'ai créé la rubrique "[Créer son propre cloud](https://web.archive.org/web/20120225102811/http://ingnu.fr/category/creer-son-propre-cloud/)", dont cet article constitue le premier maillon pour vous aider à construire votre serveur grâce aux Logiciels Libres.
|
||||
|
||||
Il y a quatre prérogatives : n'utiliser que des Logiciels Libres, assurer la confidentialité de vos données, assurer la sécurité de votre serveur, s'affranchir de tout service géré par une entreprise.
|
||||
|
||||
Nous considérerons que vous disposez déjà d'un système GNU/Linux, de préférence fraîchement installé, brut de décoffrage.
|
||||
Je me baserai sur un système [Debian GNU/Linux](https://web.archive.org/web/20120225102811/http://www.debian.org/) (que je maîtrise bien mieux que les autres), il faudra alors adapter certaines de mes notes à votre cas précis (notamment en ce qui concerne les commandes d'installation de paquets).
|
||||
|
||||
La toute première étape après l'installation du système d'exploitation est d'imposer une politique de sécurité stricte.
|
||||
Nous commençons donc par créer un script permettant la mise en place d'un pare-feu et qui s'exécutera à chaque démarrage de la machine.
|
||||
|
||||
```bash
|
||||
mkdir /scripts
|
||||
cd /scripts
|
||||
```
|
||||
|
||||
Le répertoire /scripts que nous venons de créer contiendra un certains nombre de fichiers, que nous créerons au fil des articles.
|
||||
Dans un premier temps, nous ne créons que le script du firewall :
|
||||
|
||||
```bash
|
||||
nano firewall
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/sh
|
||||
|
||||
IPT=/sbin/iptables
|
||||
IF_EXT=eth0
|
||||
IP_SSH=xxx.xxx.xxx.xxx
|
||||
|
||||
${IPT} -t mangle -F
|
||||
${IPT} -t nat -F
|
||||
${IPT} -F
|
||||
${IPT} -t mangle -X
|
||||
${IPT} -t nat -X
|
||||
${IPT} -X
|
||||
${IPT} -Z
|
||||
|
||||
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
|
||||
|
||||
${IPT} -P INPUT DROP
|
||||
${IPT} -P OUTPUT ACCEPT
|
||||
${IPT} -P FORWARD ACCEPT
|
||||
|
||||
${IPT} -A FORWARD -i lo -o lo -j ACCEPT
|
||||
${IPT} -A INPUT -i lo -j ACCEPT
|
||||
${IPT} -A OUTPUT -o lo -j ACCEPT
|
||||
|
||||
${IPT} -A INPUT -p tcp ! --syn -m state --state NEW,INVALID -j REJECT
|
||||
|
||||
${IPT} -N SPOOFED
|
||||
${IPT} -N SERVICES
|
||||
|
||||
${IPT} -A SPOOFED -s 127.0.0.0/8 -j DROP
|
||||
${IPT} -A SPOOFED -s 169.254.0.0/12 -j DROP
|
||||
${IPT} -A SPOOFED -s 172.16.0.0/12 -j DROP
|
||||
${IPT} -A SPOOFED -s 192.168.0.0/16 -j DROP
|
||||
${IPT} -A SPOOFED -s 10.0.0.0/8 -j DROP
|
||||
|
||||
${IPT} -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||
|
||||
${IPT} -A SERVICES -p tcp --dport 22 -s ${IP_SSH} -j ACCEPT
|
||||
|
||||
##### Configuration personnalisée #####
|
||||
|
||||
##### Fin : Configuration personnalisée #####
|
||||
|
||||
${IPT} -A OUTPUT -j ACCEPT
|
||||
${IPT} -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT
|
||||
${IPT} -A INPUT -j SPOOFED
|
||||
${IPT} -A INPUT -i ${IF_EXT} -j SERVICES
|
||||
|
||||
#################################
|
||||
# Anti spam #
|
||||
#################################
|
||||
|
||||
FILE="/tmp/drop.lasso"
|
||||
URL="http://www.spamhaus.org/drop/drop.lasso"
|
||||
|
||||
[ -f $FILE ] && /bin/rm -f $FILE || :
|
||||
cd /tmp
|
||||
wget $URL
|
||||
blocks=$(cat $FILE | egrep -v '^;' | awk '{ print $1}')
|
||||
${IPT} -N droplist
|
||||
|
||||
for ipblock in $blocks
|
||||
do
|
||||
${IPT} -A droplist -s $ipblock -j LOG --log-prefix "DROP List Block"
|
||||
${IPT} -A droplist -s $ipblock -j DROP
|
||||
done
|
||||
|
||||
${IPT} -I INPUT -j droplist
|
||||
${IPT} -I OUTPUT -j droplist
|
||||
${IPT} -I FORWARD -j droplist
|
||||
|
||||
/bin/rm -f $FILE
|
||||
```
|
||||
|
||||
Dans un premier temps, on défini quelques variables.
|
||||
La plus importante est IP_SSH, c'est votre adresse IP, l'adresse depuis laquelle vous allez vous connecter au serveur via ssh.
|
||||
|
||||
Notice : Il est vital de s'assurer que cette variable est correctement renseignée, sans cela, vous serez incapable d'accéder au serveur une fois le script exécuté !
|
||||
|
||||
Ensuite, on purge les règles (pour pouvoir exécuter plusieurs fois le fichier sans que cela ne les alourdisse), on met en place une politique par défaut (rien ne doit pouvoir rentrer sans autorisation), on créé les chaînes SPOOFED et SERVICES qui vont nous permettre de séparer le trafic et de sécuriser les accès, on met en place des règles personnalisées (pour le moment, aucune), et on installe un blocage du SPAM en bonus.
|
||||
|
||||
Théoriquement, ce script est tout à fait utilisable tel quel.
|
||||
Au fil des articles, on ajoutera des directives spécifiques au niveau du commentaire "Configuration personnalisée".
|
||||
On se servira de la chaîne SERVICES pour y affecter les services hébergés par notre machine.
|
||||
|
||||
Important : Le "bonus block" relatif au spam va nous permettre, directement au niveau d'iptables, de dropper purement et simplement toute tentative de connexion depuis les adresses fournies par [spamhaus](https://web.archive.org/web/20120225102811/http://www.spamhaus.org/).
|
||||
|
||||
Dans le cas extrême où vous vous retrouviez bloqué, incapable de vous connecter en ssh à votre serveur, essayez de voir si votre hébergeur vous offre la possibilité de passer par un KVM virtuel.
|
||||
Cela vous permettra de reprendre la main sur votre serveur le temps de configurer correctement le pare-feu.
|
||||
Et dans le cas où le KVM est indisponible, voyez si votre hébergeur vous propose de démarrer un système de secours.
|
||||
Pour information, les deux possibilités vous sont offertes chez [online](https://web.archive.org/web/20120225102811/http://www.online.net/).
|
||||
|
||||
Il ne reste plus qu'à enregistrer, chmoder, exécuter, et patienter jusqu'au prochain article :
|
||||
|
||||
```bash
|
||||
chmod +x firewall
|
||||
./firewall
|
||||
```
|
||||
Reference in New Issue
Block a user