BitTorrent Sync – Monter son serveur personnel dans le cloud
Configuration de Debian Durant cette étape, nous allons préparer notre serveur et y installer tous les composants nécessaire à son bon fonctionnement, mais aussi veiller à sa maintenance et surtout, sa sécurité.
1 Connectez-vous en SSH sur votre serveur, sous Windows vous pouvez télécharger
http://www.putty.org/ Windows, sous Mac ou Linux, il suffit simplement d’entrer cette commande:
ssh root@ip_of_your_server
Une fois connecté, changez votre mot de passe qui vous a été attribué lors de l’installation, pour cela, utilisez la commande:
passwd
2 On vérifie qu’il est bien à jour avec la commande:
sudo apt-get update && sudo apt-get upgrade -y
3 On installe les paquets nécessaires:
sudo apt-get install ssmtp ntp ntpdate cron-apt
4 On configure l’envoi de mails depuis le serveur, on édite le fichier
nano /etc/ssmtp/ssmtp.conf
Dans notre exemple on utilise un compte gmail pour envoyer les email, votre fichier devrait alors ressembler à quelque chose comme ceci:
root=postmaster
UseTLS=YES
UseSTARTTLS=YES
mailhub=smtp.gmail.com:587
AuthMethod=LOGIN
AuthUser=email@domain.com
AuthPass=your_password
hostname=server.domain.com
5 On configure la mise à jour automatique du serveur, on édite le fichier
nano /etc/cron-apt/config
On modifie ces deux lignes dans le fichier:
MAILTO="email@domain.com"
MAILON="always"
1) Installation et configuration de BitTorrent Sync
1- On ajoute le repository pour BitTorrent Sync
gpg --keyserver pgp.mit.edu --recv-keys 6BF18B15
gpg --armor --export 6BF18B15 | apt-key add -
echo deb http://debian.yeasoft.net/btsync squeeze main contrib non-free >> /etc/apt/sources.list.d/btsync.list
echo deb-src http://debian.yeasoft.net/btsync squeeze main contrib non-free >> /etc/apt/sources.list.d/btsync.list
2- On installe BitTorrent Sync
sudo apt-get update && sudo apt-get install btsync -y
On laisse les options par défaut, sauf en ce qui concerne le port à utiliser, là vous pouvez choisir entre 1000 et 65534.
On édite le fichier de configuration
nano /etc/btsync/debconf-default.conf
Le fichier devrait ressembler à ceci:
{
"device_name": "server.domain.com",
"storage_path" : "/var/lib/btsync",
"listening_port" : 12345,
"check_for_updates" : false,
"use_upnp" : false,
"download_limit" : 0,
"upload_limit" : 0,
"disk_low_priority" : true,
"lan_encrypt_data" : true,
"lan_use_tcp" : false,
"rate_limit_local_peers" : false,
"folder_rescan_interval" : 600,
"webui" :
{
"listen" : "0.0.0.0:8888",
"login" : "admin",
"password" : "password"
}
}
Votre serveur est maintenant opérationnel ! Vous devriez normalement pouvoir accéder à son interface web depuis votre navigateur favori sur cette adresse:
http://ip.du.serveur:8888
2) Installation et configuration du client BitTorrent Sync
L’installation du client est très simple, il vous suffit simplement de le télécharger depuis le site de l’éditeur BitTorrent. Il existe pour pratiquement tous les systèmes, y compris les smartphones.
Une fois l’installation terminé, ajouter simplement un dossier que vous voulez synchroniser, laissez BitTorrent Sync générer une clé unique, elle devrait ressembler à quelque chose comme ça ” AXIGDKK3VD6KH6XMRQYMKROTJFGCWNAQR”. Cette clé sera ensuite utilisée sur votre serveur pour synchroniser votre dossier.
Connectez-vous sur votre serveur, puis créé les répertoires dans lesquels seront stockés vos fichiers. Par principe, la racine de votre dossier devrait être “/home”. Créons par exemple un dossier “toto”:
sudo
mkdir /cloud/toto/ && sudo chmod 777 /cloud/toto/
Connectez-vous sur l’interface web de votre serveur et ajouter le dossier “toto” pour qu’il se synchronise.
Cliquez sur “Add Folder”, ajouter votre clé générée et sélectionnez le répertoire que nous venons de créer: “/cloud/toto”
Si tout c’est passé correctement, vous devriez voir le statut de votre serveur comme suit:
3)Un peu de sécurité
1- Installons fail2ban:
apt-get install fail2ban
2- Éditons le fichier de configuration:
nano /etc/fail2ban/jail.conf
3- Modifiez les lignes suivantes:
bantime = 86400
maxretry = 2
destemail = email@domain.com
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 2
4- On redémarre le service fail2ban pour appliquer les changements:
service fail2ban restart
On passe maintenant à la partie firewall, on commence par créer un fichier avec toutes nos règles:
nano /etc/init.d/firewall
#!/bin/sh
### BEGIN INIT INFO
# Provides: custom firewall
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: firewall initscript
# Description: Custom Firewall
### END INIT INFO
# Réinitialise les règles
iptables -t filter -F
iptables -t filter -X
# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
# iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# FTP
# iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
# SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
# DNS
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# HTTPS
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
# Mail SMTP
# iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
# iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
# iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
# NTP (horloge du serveur)
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
# iperf
# iptables -t filter -A INPUT -p udp --dport 5001 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 5001 -j ACCEPT
# iptables -t filter -A OUTPUT -p udp --dport 5001 -j ACCEPT
# iptables -t filter -A OUTPUT -p tcp --dport 5001 -j ACCEPT
# BitTorrent Sync Web Interface
iptables -t filter -A INPUT -p tcp --dport 8888 -j ACCEPT
# BitTorrent Sync Protocol
iptables -t filter -A INPUT -p udp --dport 12345 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 12345 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 12345 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 12345 -j ACCEPT
# BitTorrent Sync Tracker
iptables -t filter -A INPUT -p udp --dport 3000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 3000 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 3000 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 3000 -j ACCEPT
N’oubliez pas de changer les valeurs de ports à la rubrique “BitTorrent Sync Protocol” en fonctions de vos choix lors de l’installation du serveur BitTorrent Sync.
On rend ensuite le fichier executable:
chmod +x /etc/init.d/firewall
On met à jour la liste des services qui doivent démarrés automatiquement avec le serveur:
update-rc.d firewall defaults
On démarre le service:
service firewall restart
L’installation est maintenant terminée! Maintenant que vous savez installer un serveur BitTorrent Sync, rien ne vous empêche d’en deployer plusieurs dans différents coin du monde pour bénéficier d’un maximum de performance et de redondance.
Source de l'article.
À vos contributions !!