Nous sommes le 22 Juillet 2017, 08:51

  •  Disposez les blocs

Navigateur
Liens commerciaux
Last Online
Pour voir la liste des utilisateurs connectés, vous devez être inscrit et connecté.



Nous sommes une communautée
libre et ouverte, tous sont les bienvenues.

Cliquez ici pour vous inscrire

utilisateurs connectés

Au total il y a 104 utilisateurs en ligne :: 8 enregistrés, 0 invisible et 96 invités

Le record du nombre d’utilisateurs en ligne est de 508, le 22 Février 2015, 10:01

Utilisateurs enregistrés: BenGonGon, Bing [Bot], chakofree, DcaMan, fw75, Google [Bot], MiMiL91, tonykiller d’après le nombre d’utilisateurs actifs ces 60 dernières minutes

Rechercher

Liens commerciaux

Sécuriser son serveur (seedbox, serveur )

  • Auteur
  • Message

Sécuriser son serveur (seedbox, serveur )

Liens commerciaux

Liens commerciaux
 

Hors ligne

ghostshadow

Nouveau Membre

Nouveau Membre

  • Messages: 2
  • Inscription: 22 Février 2017, 22:40
  • A remercié: 0 fois
  • Remercié: 1 fois

Sécuriser son serveur (seedbox, serveur )

Message02 Mars 2017, 21:01

Bonjour, voici un script pour paramétrer votre Firewall avec filtre Hadopi, indésirables, ainsi que Fail2ban et Portsentry

Merci a Ex_rat et au site Mondedie

Je l'ai testé sur une machine debian 7 et 8, marche très bien.

Je log pas les "indésirables", je les drop direct (mais rien ne vous empêche de le faire).

Donc vous pouvez l'utiliser pour configurer votre firewall.

Pour cela vous ouvrez une session root sur votre serveur puis vous tapez:

Code: Tout sélectionner
nano /home/VotreNomUtilisateur/ruleFire


"VotreNomUtilisateur" c'est le nom d'user sur le serveur

*-Un copier coller

Pour coller dans nano ......."clic droit de la souris "


Pour sauver les modif ....... Touches : Ctrl + o , Enter, Ctrl + x

*-Apres un petit:

Code: Tout sélectionner
chmod +x /home/VotreNomUtilisateur/ruleFire


*-Puis on l'execute:

Code: Tout sélectionner
/home/VotreNomUtilisateur/ruleFire


Surtout vous ne fermez pas votre session ssh, il faut verifier que tout tourne bien

*-Un petit :

Code: Tout sélectionner
iptables -L -v -n


Vous avez vos règles firewall de listées, avec :

les entrées en premier : Input : ce qui est accepté et rejeté

les routées : Forward

Les sorties

Les log

Et les règles crées par des logiciels tiers (ex: Fail2ban etc..)

Essayez d'ouvrir une deuxième connection ssh, si vous arrivez à vous loggé, c'est tout bon

*-Vous pouvez fermer vos sessions.



*************** dessous ce qui est à coller dans le fichier "ruleFire" ************

#ruleFire a écrire:

Code: Tout sélectionner
#!/bin/bash

### BEGIN INIT INFO

# Provides: firewall rules

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start daemon at boot time

# Description: Enable service provided by daemon.

### END INIT INFO



#!/bin/sh



# On vire tout

iptables -t filter -F

iptables -L

iptables -Z

# Vider les règles personnelles

iptables -t filter -X

echo - Vidage : [OK]



# Interdire toute connexion entrante et sortante

iptables -t filter -P INPUT DROP

iptables -t filter -P FORWARD DROP

iptables -t filter -P OUTPUT DROP



echo - Interdire toute connexion : [OK]



#Filtres Anti Hadopi et Autres Lourds

iptables -t filter -I INPUT -p all -s 61.174.51.0/24,61.64.128.0/17,116.10.191.0/24,122.120.0.0/13,168.95.0.0/16 -j DROP

iptables -t filter -I INPUT -p all -s 5.23.42.12/30,90.80.100.192/28,195.5.217.72/29,194.79.189.240/29 -j DROP

iptables -t filter -I INPUT -p all -s 82.138.70.128/26,82.138.74.0/25,91.189.104.0/21,193.107.240.0/22,195.191.244.0/23,193.105.197.0/24 -j DROP

iptables -t filter -A INPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.' -j DROP



echo - Blocage indésirable : [OK]



# On garde les connexions etablies

iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT



echo - Connexion actuelle : [OK]



# Autoriser le loopback (reseau local)

iptables -t filter -A INPUT -i lo -j ACCEPT

iptables -t filter -A OUTPUT -o lo -j ACCEPT

echo - LOOPBACK : [OK]



# ICMP (ping)

iptables -t filter -A INPUT -p icmp -j ACCEPT

iptables -t filter -A OUTPUT -p icmp -j ACCEPT

echo - ICMP : [OK]



# DNS (bind)

iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT



iptables -t filter -A OUTPUT -p tcp --dport 953 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 953 -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 953 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 953 -j ACCEPT

echo - BIND : [OK]



# APACHE : HTTP + HTTPS

iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

echo - web : [OK]



# Mail SMTP:25 - Pour acces gmail ajouter 587

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 587 -j ACCEPT

echo - SMTP : [OK]



# NTP Horloge synchro

iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

echo - NTP : [OK]



# SSH numéros de Port à changer (XXXX) en rapport avec : : "/etc/ssh/sshd_config" on remplace XXXX par votre port ssh par exemple 22

iptables -t filter -A INPUT -p tcp --dport XXXX -m recent --rcheck --seconds 60 --hitcount 2 --name SSH -j LOG --log-prefix "SSH REJECT"

iptables -t filter -A INPUT -p tcp --dport XXXX -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP

iptables -t filter -A INPUT -p tcp --dport XXXX -m state --state NEW -m recent --set --name SSH -j ACCEPT

echo - Autoriser SSH : [OK]



# Rtorrent à vous de mettre les bons ports surtout pour le port d'annonce tracker

iptables -t filter -A INPUT -p tcp --dport 6890:6999 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --sport 6890:6999 -j ACCEPT

iptables -t filter -A INPUT -m udp -p udp --dport 6881:6999 -j ACCEPT

iptables -t filter -A OUTPUT -m udp -p udp --dport 6881:6999 -j ACCEPT



iptables -t filter -A INPUT -p tcp --dport 6400 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --sport 6400 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 6400 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 6400 -j ACCEPT



iptables -t filter -A INPUT -p tcp --dport 35000 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --sport 35000 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 35000 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 35000 -j ACCEPT



iptables -t filter -A INPUT -p tcp --dport 2086 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --sport 2086 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 2086 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 2086 -j ACCEPT





iptables -t filter -A OUTPUT -p tcp -m tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

echo - RTORRENT : [OK]



#Décommenter ci-dessous les services que vous utilisez



# FTP (BACKUP)

# iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT

# iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT



# Mail POP3:110

# iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT

# iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT



# Mail IMAP:143

# iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT

# iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT



# Mail POP3S:995

# iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT

# iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT



# WEBMIN

# iptables -t filter -A INPUT -p tcp --dport 10000 -m state --state NEW,ESTABLISHED -j ACCEPT

# iptables -t filter -A OUTPUT -p tcp --dport 10000 -m state --state ESTABLISHED -j ACCEPT



#******************************fin du script **************************

Supprimer une règle :

# On liste les régles avec les numéros de ligne

Code: Tout sélectionner
iptables -L --line-numbers
# avec resolution de nom
Code: Tout sélectionner
iptables -L --line-numbers -n
# sans resolution de nom (plus rapide)

#Si on veut supprimer la règle de la ligne 2 de la table OUTPUT
Code: Tout sélectionner
iptables -D OUTPUT 2


Pour activer le script IPtable dès le démarrage :

*-Vous pouvez l'ajouter au démarrage :

Code: Tout sélectionner
cp /home/VotreNomUtilisateur/RuleFire /etc/init.d/RuleFire

chmod +x /etc/init.d/RuleFire

update-rc.d RuleFire defaults


*-Pour l'enlever du démarrage :

Code: Tout sélectionner
update-rc.d -f RuleFire remove


Bon pour être complet voici 2 tutos rapides pour installer Fail2ban et Portsentry.

Installe de Postfix:

Code: Tout sélectionner
apt-get install -f postfix mailutils


Installe ....... choix : Internet

adresse de la machine

*-test mail:

echo 'Salut, je suis un email.' | mail -s 'Hello world' VotreEmail@gmail.com


Tuto installer Fail2ban :


Code: Tout sélectionner
apt-get install -f fail2ban


*-Le configurer :

On vas créer un filtre spécial apache contre les attaques ip:

Code: Tout sélectionner
nano /etc/fail2ban/filter.d/apache-other-Vhost.conf


*-On change dans le code si dessous : "XXX.XXX.XXX.XXX" par l'IP de notre serveur:

Exemple : Notre IP est 192.168.1.2 donc ça donne : "failregex = 192.168.1.2:80

*-On Copie et on colle dans le fichier (apache-other-Vhost.conf)

[Définition]

failregex = XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*muieblackcat

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*w00t

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*mysql

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*dbadmin

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*myadmin

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*MyAdmin

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*admin

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*php

XXX.XXX.XXX.XXX:80 <HOST> -.*"GET .*jmx-console



ignoreregex =


*-On sauve et on quitte le fichier.

*-On créer un autre fichier :

Code: Tout sélectionner
nano /etc/fail2ban/filter.d/apache-w00tw00t.conf


*-On colle dedans ceci :

[Definition]

failregex = ^<HOST> -.*"GET /w00tw00t.at.ISC.SANS.DFind:).*".*

ignoreregex =


*-On sauve et on quitte le fichier.


*-On configure notre fichier de configuration des "Prisons" :

Code: Tout sélectionner
nano /etc/fail2ban/jail.conf


*-On va modifier des Block :

Block :

# "ignoreip" can be an IP address, a CIDR mask or a DNS host

ignoreip = 127.0.0.1/8

bantime = 7200

maxretry = 3

Liste des adresses IP de confiance à ignorer par fail2ban

*-On ajoute dans "ignoreip" notre ip a la maison si elle est fixe.

Exemple notre ip maison : 99.99.99.99 donc ::> "ignoreip = 127.0.0.1/8 99.99.99.99

On peut aussi modifier "bantime" c'est en secondes, c'est le temps de bannissement d'une Ip

"maxretry" c'est le nombre d'essais avant qu'une connexion soit bannie


Block :

# Destination email address used solely for the interpolations in

# jail.{conf,local} configuration files.

destemail = monadresse@gmail.com

*-On met l'adresse mail ou l'on veut recevoir les logs (bannissement,démarrage).

Attention smtp doit être configuré (postfix, exim4 etc).

Je vous recommande une adresse gmail, et aussi d'installer postfix et après supprimer exim si il est installé.


Block :

# email action. Since 0.8.1 upstream fail2ban uses sendmail

# MTA for the mailing. Change mta configuration parameter to mail

# if you want to revert to conventional 'mail'.

mta = sendmail

Là on ne change rien


Block :

# Choose default action. To change, just override value of 'action' with the

# interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local

# globally (section [DEFAULT]) or per specific section

action = %(action_)s


*-On modifie pour avoir ça :

action = %(action_mwl)s

Comme ça l'email sera un peu plus détaillée.


Maintenant on attaque les sections "Jails":

C'est là que l'on active les filtres qui vont tourner celon ce que l'on veut surveiller :

*-On passe de "false" à "true" celles que l'on veut activer


Block:

# JAILS

#

# Next jails corresponds to the standard configuration in Fail2ban 0.6 which

# was shipped in Debian. Enable any defined here jail by including

#

# [SECTION_NAME]


# enabled = true

# in /etc/fail2ban/jail.local.

#

# Optionally you may override any other parameter (e.g. banaction,

# action, port, logpath, etc) in that section within jail.local


[ssh]

enabled = false

port = ssh,sftp

filter = sshd

logpath = /var/log/auth.log

maxretry = 3

bantime = -1

*-On va activer le filtre ssh et modifier le "port" pour avoir celui qui correspond à votre configuration :

"enabled= true"

Exemple notre port ssh est le port 158 :

"port =158"

Donc ça donne :


[ssh]

enabled = true

port = 158

filter = sshd

logpath = /var/log/auth.log

maxretry = 3

bantime = -1


*-On va modifier ce Block pour avoir ça :

[pam-generic]

enabled = true

# pam-generic filter can be customized to monitor specific subset of 'tty's

filter = pam-generic

# port actually must be irrelevant but lets leave it all for some possible uses

port = all

banaction = iptables-allports

port = anyport

logpath = /var/log/auth.log

maxretry = 3


*-Celui là aussi on l'active en remplaçant le "port" par notre port ssh là si 158:

[ssh-ddos]

enabled = true

port = 158

filter = sshd-ddos

logpath = /var/log/auth.log

maxretry = 3



*-Ceux là aussi on les active :

[apache]

enabled = true

port = http,https

filter = apache-auth

logpath = /var/log/apache*/*error.log

maxretry = 3



[apache-noscript]

enabled = true

port = http,https

filter = apache-noscript

logpath = /var/log/apache*/*error.log

maxretry = 3



*-On crée ceux-ci :


[apache-Vhost]

enabled = true

filter = apache-other-Vhost

action = iptables[name=Apache-other-Vhost,port=80,protocol=tcp]

logpath = /var/log/apache2/other_vhosts_access.log

maxretry = 1


[apache-w00tw00t]

enabled = true

filter = apache-w00tw00t

action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]

logpath = /var/log/apache*/*access.log

maxretry = 1


Si vous avez un ftp listé dans la liste (genre pure-ftpd, proftpd) activez le (true)

*-On active postfix si on l'utilise :


# Mail servers

[postfix]

enabled = true

port = smtp,ssmtp

filter = postfix

logpath = /var/log/mail.log



*** Voila on peut relancer fail2ban ***



Code: Tout sélectionner
service fail2ban restart


Vous devez avoir ça :

[ ok ] Restarting authentication failure monitor: fail2ban.

*-Vous faites un :

Code: Tout sélectionner
fail2ban-client status

Et vous aurez le nombre de filtres actifs.

Voilà, de plus si votre service mail est bien configuré vous avez dû recevoir des mail de fail2ban et des filtres démarrés.



Tuto pour installer Portsentry et le configurer pour virer les tentatives de scan.



Merci a Ex_rat du site Mondedie.fr

Installe Portsentry :

Code: Tout sélectionner
apt-get install portsentry



*-Configuration Portsentry :

Code: Tout sélectionner
nano /etc/portsentry/portsentry.ignore.static


*-Modifier :

# IP du serveur (votre serveur)

x.x.x.x

# Votre IP maison si fixe par sécurité (ou mettre plage d'ip de votre FAI : ex: IP Orange 81.253.0.0/18 -86.208.0.0/16)

x.x.x.x

# Plage d'IP Google

66.249.64.0/19


*-Configuration de Portsentry 2:


Code: Tout sélectionner
nano /etc/portsentry/portsentry.conf



*-Cherchez ce block la :

##################

# Ignore Options #

##################

# These options allow you to enable automatic response

# options for UDP/TCP. This is useful if you just want

# warnings for connections, but don't want to react for

# a particular protocol (i.e. you want to block TCP, but

# not UDP). To prevent a possible Denial of service attack

# against UDP and stealth scan detection for TCP, you may

# want to disable blocking, but leave the warning enabled.

# I personally would wait for this to become a problem before

# doing though as most attackers really aren't doing this.

# The third option allows you to run just the external command

# in case of a scan to have a pager script or such execute

# but not drop the route. This may be useful for some admins

# who want to block TCP, but only want pager/e-mail warnings

# on UDP, etc.

#

#

# 0 = Do not block UDP/TCP scans.

# 1 = Block UDP/TCP scans.

# 2 = Run external command only (KILL_RUN_CMD)



BLOCK_UDP="0"

BLOCK_TCP="0"



*-Et mettez "1" a la place de "0":


BLOCK_UDP="1"

BLOCK_TCP="1"


*-Cherchez le Block ci dessous et vérifier que devant KILL_ROUTE se soit décommenté (pas de #) :


# Newer versions of Linux support the reject flag now. This

# is cleaner than the above option.

KILL_ROUTE="/sbin/route add -host $TARGET$ reject"


Aller au Block :

###################

# External Command#

###################

# This is a command that is run when a host connects, it can be whatever

# you want it to be (pager, etc.). This command is executed before the

# route is dropped or after depending on the KILL_RUN_CMD_FIRST option below

#

#

# I NEVER RECOMMEND YOU PUT IN RETALIATORY ACTIONS AGAINST THE HOST SCANNING

# YOU!

#

# TCP/IP is an *unauthenticated protocol* and people can make scans appear out

# of thin air. The only time it is reasonably safe (and I *never* think it is

# reasonable) to run reverse probe scripts is when using the "classic" -tcp mode.

# This mode requires a full connect and is very hard to spoof.

#

# The KILL_RUN_CMD_FIRST value should be set to "1" to force the command

# to run *before* the blocking occurs and should be set to "0" to make the

# command run *after* the blocking has occurred.


*-Et ajoutez ceci :



# Ajout de moi

KILL_RUN_CMD="/sbin/iptables -I INPUT -s $TARGET$ -j DROP && /sbin/iptables -I INPUT -s $TARGET$ -m limit --limit 3/minute --limit-burst 5 -j LOG --log-level debug --log-prefix 'Portsentry: dropping: '



*-On sauve ( Ctrl + o, enter, Ctrl + x )

*-On édite :

Code: Tout sélectionner
nano /etc/default/portsentry




*-On modifie le Block ainsi :


# /etc/default/portsentry

#

# This file is read by /etc/init.d/portsentry. See the portsentry.8

# manpage for details.

#

# The options in this file refer to commandline arguments (all in lowercase)

# of portsentry. Use only one tcp and udp mode at a time.

#

TCP_MODE="atcp"

UDP_MODE="audp"


Voilà on vient de passer en mode automatique la détection de nos ports qui sont utilisés.


*-Un coup de :

Code: Tout sélectionner
service portsentry restart


et voilà Portsentry est démarré et fonctionne en dropant les scans


*-Pour vérifier les log de Portsentry :



Code: Tout sélectionner
cat /var/log/daemon.log | grep "portsentry"





******* Un ptit Merci sera Apprécié. ********
Vu+ Zero BlackHole 3.0.3.0, oscam r11360,cccam 2.1.4,wicard 1.19
Vu + Zéro OpenPLi 4.0 , OSCAM 1.20-unstable_svn SVN r8972 script serveur
Atlas HD 200 Se
Hors ligne
Avatar de l’utilisateur

steepy

VIP

VIP

  • Messages: 153
  • Inscription: 20 Janvier 2017, 01:17
  • A remercié: 16 fois
  • Remercié: 12 fois

Re: Sécuriser son serveur (seedbox, serveur )

Message02 Mars 2017, 21:41

Merci mais je suis un geek windows :mrgreen:
DM800HD sous Blackhole 3.0.2 skin : DMConcinnity-HD
VU+ Duo² sous BlacKhole 3.0.3.C Kodi skin : MX HQ10

Re: Sécuriser son serveur (seedbox, serveur )

Sujets recommandés

Sujets recommandés
 


Retourner vers Linux

Qui est en ligne

Utilisateurs enregistrés: BenGonGon, Bing [Bot], chakofree, DcaMan, fw75, Google [Bot], MiMiL91, tonykiller