775
modifications
Aucun résumé des modifications |
(Annulation des modifications 3644 de Hulk (discussion)) |
||
Ligne 137 : | Ligne 137 : | ||
[[Catégorie:Aide]] | [[Catégorie:Aide]] | ||
== Sujet du message: Règles iptables pour vos applications (pc de bureau). == | |||
Il serai bon d'avoir une listes de règle iptables a dispos en fonctions des jeux , application , installer sur un pc de bureau , dans sont utilisation la plus courante , sans nat ni partage de connections , juste un pc de travail connecter a internet. | |||
aussi pour débuter je poste mon scripte iptables qui bien que non exhaustif feras une base convenable. | |||
n'hésiter donc pas a rajouter les règles pour les applications qui ni figurent pas. | |||
<code bash> | |||
#! /bin/sh | |||
### BEGIN INIT INFO | |||
# Provides: iptables | |||
# Required-Start: | |||
# Required-Stop: | |||
# Should-Start: | |||
# Should-Stop: | |||
# Default-Start: 1 2 3 4 5 | |||
# Default-Stop: 0 6 | |||
# Short-Description: script iptables | |||
### END INIT INFO | |||
# activer au demarage. | |||
# en root avec su ou sudo | |||
# cp ...iptables /etc/init.d/ | |||
# chown root:root /etc/init.d/iptables | |||
# chmod 750 /etc/init.d/iptables | |||
# update-rc.d iptables defaults | |||
# /etc/init.d/iptables start | |||
on="1" | |||
off="0" | |||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |||
interface_WAN="eth0" | |||
##### règles appliquer ou non ###### | |||
ipblacklist=$off | |||
pingexterne=$off | |||
SecondeLife=$off | |||
LandesEternelles=$on | |||
transmition=$on | |||
clientNTP=$on | |||
amsn=$on | |||
################################### | |||
start() { | |||
### SUPPRESSION de TOUTES LES ANCIENNES TABLES (OUVRE TOUS!!) ### | |||
iptables -F | |||
iptables -X | |||
### BLOC TOUS PAR DEFAULT (si aucune règle n'est définit par la suite) ### | |||
iptables -P INPUT DROP | |||
iptables -P OUTPUT DROP | |||
iptables -P FORWARD DROP | |||
### Iptables refuse les scans XMAS et NULL | |||
iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP | |||
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP | |||
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP | |||
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP | |||
### Iptables limite TCP, UDP, ICMP Flood ! | |||
### Une des attaques possible est de saturer votre interface réseau. | |||
# TCP Syn Flood | |||
iptables -A INPUT -i $interface_WAN -p tcp --syn -m limit --limit 3/s -j ACCEPT | |||
# UDP Syn Flood | |||
iptables -A INPUT -i $interface_WAN -p udp -m limit --limit 10/s -j ACCEPT | |||
# Ping Flood | |||
iptables -A INPUT -i $interface_WAN -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT | |||
iptables -A INPUT -i $interface_WAN -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT | |||
# fichiers de conf a modifier | |||
#pas de spoofing | |||
# Fichier /etc/sysctl.conf | |||
# net.ipv4.conf.default.rp_filter=1 | |||
# net.ipv4.conf.all.rp_filter=1 | |||
#pas de synflood | |||
#Fichier /etc/sysctl | |||
#net.ipv4.tcp_syncookies=1 | |||
#net.ipv4.tcp_max_syn_backlog=1280 # Ceci active la resistance au Flood SYN | |||
### IP indésirables | |||
## en gros elle sont sur le site du RIPE (organisme distribuent les IP ou plage IP au professionnel) | |||
## site du RIPE https://apps.db.ripe.net/search/full-text.html (ADOPI et trident media guard (tmg) sont de mot a rechercher ;) | |||
if [ $ipblacklist -eq $on ] | |||
while read ligne | |||
do | |||
ipdrop=`echo $ligne | cut -d " " -f1` | |||
iptables -I INPUT -s $ipdrop -j DROP | |||
iptables -I OUTPUT -d $ipdrop -j DROP | |||
done < /usr/local/share/ipblacklist | |||
fi | |||
# les lignes du fichier ipblacklist doive ètre de type : | |||
# xxx.xxx.xxx.xxx/xx <=espace commentaire sans le # au debut bien sur | |||
# ou | |||
# xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx <=espace commentaire en fonction de comment on écrit le masque réseau | |||
iptables -I INPUT -s 85.116.217.200/29 -j DROP # ADOPI | |||
iptables -I INPUT -s 193.107.240.0/22 -j DROP # trident media guard (tmg) | |||
iptables -I INPUT -s 195.191.244.0/23 -j DROP # trident media guard (tmg) | |||
iptables -I INPUT -s 193.105.197.0/24 -j DROP # trident media guard (tmg) | |||
iptables -I OUTPUT -d 85.116.217.200/29 -j DROP # ADOPI | |||
iptables -I OUTPUT -d 193.107.240.0/22 -j DROP # trident media guard (tmg) | |||
iptables -I OUTPUT -d 195.191.244.0/23 -j DROP # trident media guard (tmg) | |||
iptables -I OUTPUT -d 193.105.197.0/24 -j DROP # trident media guard (tmg) | |||
### ACCEPT ALL interface loopbaak ### | |||
iptables -A INPUT -i lo -j ACCEPT | |||
iptables -A OUTPUT -o lo -j ACCEPT | |||
### axepte en entrer les connexions déjà établies (en gros sa permet d'accepter que les connexions initier | |||
### par sont propre PC) | |||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | |||
### DNS indispensable pour naviguer facilement sur le web ### | |||
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT | |||
### HTTP navigation internet non sécuriséer ### | |||
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT | |||
### HTTPS pour le site de banque .... ### | |||
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT | |||
### emesene,pindgin,amsn... #### | |||
if [ $amsn -eq $on ] | |||
then | |||
iptables -A OUTPUT -p tcp -m tcp --dport 1863 -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m tcp --dport 6891:6900 -j ACCEPT # pour transfert de fichiers , webcam | |||
iptables -A OUTPUT -p udp -m udp --dport 6891:6900 -j ACCEPT # pour transfert de fichiers , webcam | |||
fi | |||
### pop thunderbird ... réceptions des message #### | |||
iptables -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT | |||
### smtp thunderbird ... envoi des messages ### | |||
iptables -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT | |||
### clientNTP ... sincro a un serveur de temp ### | |||
if [ $clientNTP -eq $on ] | |||
then | |||
iptables -A OUTPUT -p udp -m udp --dport 123 -j ACCEPT | |||
fi | |||
### client-transmition | |||
if [ $transmition -eq $on ] | |||
then | |||
iptables -A OUTPUT -p udp -m udp --sport 51413 -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m tcp --sport 30000:65000 -j ACCEPT | |||
fi | |||
### ping ... autorise a pinger un ordinateur distant ### | |||
iptables -A OUTPUT -p icmp -j ACCEPT | |||
### LandesEternelles | |||
if [ $LandesEternelles -eq $on ] | |||
then | |||
iptables -A OUTPUT -d 62.93.225.45 -p tcp --sport 39943 --dport 3000 -j ACCEPT | |||
fi | |||
### SecondeLife | |||
if [ $SecondeLife -eq $on ] | |||
then | |||
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT | |||
iptables -A INPUT -s 216.82.0.0/18 -p tcp --dport 1023:65000 -j ACCEPT # Secondelife | |||
iptables -A INPUT -s 64.94.252.0/23 -p tcp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A INPUT -s 70.42.62.0/24 -p tcp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A INPUT -s 74.201.98.0/23 -p tcp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A INPUT -s 216.82.0.0/18 -p udp --dport 1023:65000 -j ACCEPT # Secondelife | |||
iptables -A INPUT -s 64.94.252.0/23 -p udp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A INPUT -s 70.42.62.0/24 -p udp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A INPUT -s 74.201.98.0/23 -p udp --dport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 216.82.0.0/18 -p tcp --sport 1023:65000 -j ACCEPT # Secondelife | |||
iptables -A OUTPUT -d 64.94.252.0/23 -p tcp --sport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 70.42.62.0/24 -p tcp --sport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 74.201.98.0/23 -p tcp --sport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 216.82.0.0/18 -p udp --sport 1023:65000 -j ACCEPT # Secondelife | |||
iptables -A OUTPUT -d 64.94.252.0/23 -p udp --sport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 70.42.62.0/24 -p udp --sport 1023:65000 -j ACCEPT # Voice | |||
iptables -A OUTPUT -d 74.201.98.0/23 -p udp --sport 1023:65000 -j ACCEPT # Voice | |||
fi | |||
### ping ... autorise l'extèrieur a vous pinger ### | |||
if [ $pingexterne -eq $on ] | |||
iptables -A INPUT -p icmp -j ACCEPT # enlever le # du début de ligne pour activer cette règle | |||
fi | |||
### LOG ### Log tous ce qui qui n'est pas accepter par une règles précédente | |||
# prés requit : sudo apt-get install sysklogd | |||
# echo 'kern.warning /var/log/iptables.log' > /etc/syslog.conf | |||
iptables -A OUTPUT -j LOG --log-level 4 | |||
iptables -A INPUT -j LOG --log-level 4 | |||
iptables -A FORWARD -j LOG --log-level 4 | |||
echo "############ <START> ##############" | |||
iptables -L -n | |||
echo "############ </START> ##############" | |||
} | |||
stop() { | |||
### OUVRE TOUS !! ### | |||
iptables -F | |||
iptables -X | |||
iptables -P INPUT ACCEPT | |||
iptables -P OUTPUT ACCEPT | |||
iptables -P FORWARD ACCEPT | |||
echo "############ <STOP> ##############" | |||
iptables -L -n | |||
echo "############ </STOP> ##############" | |||
} | |||
case "$1" in | |||
start) | |||
start | |||
;; | |||
stop) | |||
stop | |||
;; | |||
restart) | |||
stop | |||
start | |||
;; | |||
*) | |||
N=/etc/init.d/${0##*/} | |||
echo "Usage: $N {start|stop|restart}" >&2 | |||
exit 1 | |||
;; | |||
esac | |||
exit 0 | |||
</code> |