Annonce ToutSurTout

Bienvenue sur toutsurtout.biz

Radio TST

Si vous souhaitez participer vous aussi aux discussions sur le forum, il faut vous inscrire ou vous identifier.

Le Thème TST Printemps est maintenant en place.

Les inscriptions sont actuellement OUVERTES.

Message 1 Discussion postée le 11-10-2009 à 06:52:25

iznogood
Avatar de iznogood


Titre: VIP
Avancement: Niveau 2
Lieu: Reims
Date d'inscription: 27-09-2009
Messages: 2 310
Site web

Netgear ReadyNAS Duo - Home Media Server 2 baies

https://www.world-lolo.com/images/uploads/image.num1255236515.of.world-lolo.com.jpeg
NAS (Network Attached Storage), est une unité autonome, reliée à un réseau dont la principale fonction est le stockage de données en un gros volume centralisé pour des clients-réseau hétérogènes.
Pour particulier - PME/PMI
Niveau température c'est bon il ne chauffe pas
Niveau bruit c'est ok
Niveau prix abordable > faire une recherche Google
Niveau VPN c'est bon

Les disques dur compatible
Tuto Netgear
Un tuto sur le VPN > Vous pouvez dire merci à l'IMPMC
Logiciel freeware de sauvegarde multilanguage > NT, 2000, XP, 2003, Vista
Netgear ReadyNAS Duo - Home Media Server 2 baies
1 port RJ45 10/100/1000
3 ports USB 2.0
2 slots SATA / SATA 2
Baies "hot swap"blocables
Technologies hardware X-RAID et RAID 0 (striping)
Streaming vidéo, musique, photos sans ordinateur (Netgear Eva 8000, UPnP AV, Sony PS3TM, Microsoft Xbox 360TM )
Logins réseau cryptés
SSL (Secure Sockets Layer)
Compatibilité Windows, Apple et UNIX/Linux
Client BitTorrent intégré pour téléchargement direct (Pour télécharger une image iso Linux par exemple)

Petit cadeau pour éviter le hacke par la méthode brute force en ftp
Interdire définitivement l'accés au NAS à des adresses IP qui font trop de tentatives de connexions infructueuses en ssh, ftp, ou http
Règles comprises dans 3 fichiers ascii (ipblock_ssh, ipblock_ftp, et ipblock_http) à créer sur le NAS

ssh (ipblock_ssh)
Le code ci-dessous

#!/bin/bash
#ipblock_ssh

## SSH ACCESS
log_file="${1:-/var/log/auth.log}"

## CHECKING
# Abort the script if the log file has not been modified since it has been read.
builtin test ! -N "$log_file" && exit 0

## RULE 1: incorrect user
threshold1=1
list='grep 'invalid user' $log_file | cut -d' ' -f13'
echo "$list" | uniq -c | while read count ip
do
  [ $count -le $threshold1 ] && continue
  [ 0 -ne 'grep -c "$ip" /etc/hosts.deny' ] && continue
  (printf "ALL: %12s # added 'date +"%Y-%m-%d %R"' (%s Illegal user attempts via ssh)\n" "$ip" "$count") >> /etc/hosts.deny
done


## RULE 2: incorrect password
threshold2=2
list='grep 'Failed password for root' $log_file | cut -d' ' -f11'
echo "$list" | uniq -c | while read count ip
do
  [ $count -le $threshold2 ] && continue
  [ 0 -ne 'grep -c "$ip" /etc/hosts.deny' ] && continue
  (printf "ALL: %12s # added 'date +"%Y-%m-%d %R"' (%s Illegal password attempts via ssh)\n" "$ip" "$count") >> /etc/hosts.deny
done



(ipblock_ftp)
Le code ci-dessous

#!/bin/bash
#ipblock_ftp

## FTPACCESS
log_file="${1:-/var/log/proftpd.log}"

## CHECKING
# Abort the script if the log file has not been modified since it has been read.
builtin test ! -N "$log_file" && exit 0

## RULE 1: incorrect user
threshold1=5
list='grep 'no such user found' $log_file | cut -d' ' -f15'
echo "$list" | uniq -c | while read count ip
do
  [ $count -le $threshold1 ] && continue
  [ 0 -ne 'grep -c "$ip" /etc/hosts.deny' ] && continue
  (printf "ALL: %12s # added 'date +"%Y-%m-%d %R"' (%s Illegal user attempts via ftp)\n" "$ip" "$count") >> /etc/hosts.deny
done

## RULE 2: incorrect password
threshold2=5
list='grep 'Incorrect password' $log_file | sed 's/\[/ /g' | sed 's/\]/ /g' | cut -d' ' -f10'
echo "$list" | uniq -c | while read count ip
do
  [ $count -le $threshold2 ] && continue
  [ 0 -ne 'grep -c "$ip" /etc/hosts.deny' ] && continue
  (printf "ALL: %12s # added 'date +"%Y-%m-%d %R"' (%s Illegal password attempts via ftp)\n" "$ip" "$count") >> /etc/hosts.deny
done


(ipblock_http):
Le code ci-dessous

#!/bin/bash
#ipblock_http

## HTTP ACCESS
log_file="${1:-/var/log/auth.log}"

## CHECKING
# Abort the script if the log file has not been modified since it has been read.
builtin test ! -N "$log_file" && exit 0

## RULE 1: incorrect user & password
threshold1=10
list='grep 'authentication failure' $log_file  | sed 's/=/ /g' | cut -d' ' -f20'
echo "$list" | uniq -c | while read count ip
do
  [ $count -le $threshold1 ] && continue
  [ 0 -ne 'grep -c "$ip" /etc/hosts.deny' ] && continue
  (printf "ALL: %12s # added 'date +"%Y-%m-%d %R"' (%s Illegal attempts via http)\n" "$ip" "$count") >> /etc/hosts.deny
done



Inscription dans crontab:

Pour être efficaces, ces règles doivent être lancées de façon régulière et automatique afin de surveiller les accés en temps réel.
Pour cela il faut les inscrire dans les tables crontab de la manière suivante:
Code
echo "*   *   * * *   root    /root/ipblock_ssh" >> /etc/crontab
echo "*   *   * * *   root    /root/ipblock_ftp" >> /etc/crontab
echo "*   *   * * *   root    /root/ipblock_http" >> /etc/crontab


Gérer les adresses IP interdites

Les adresses IP interdites seront inscrites au fur et à mesure dans le fichier: /etc/hosts.deny
Les adresses IP que vous rajouterez dans le fichier /etc/hosts.allow seront toujours autorisées même si elles sont également présentes dans /etc/hosts.deny
!! Je vous conseille vivement de rajouter l'IP WAN et l'IP LAN de votre PC perso dans le fichier /etc/hosts.allow afin d'avoir toujours un moyen de garder la main sur votre serveur !!


https://www.world-lolo.com/images/uploads/image.num1359778475.of.world-lolo.com.gif