Forum Linux.général iptables demande de conseils

Posté par .
Tags : aucun
5
8
déc.
2009
Bonjour,

j'aimerai votre avis sur mes configs iptables. C'est mon premier script alors désolé pour les imbécilités...

Les scripts sont destinées à un serveur web. J'ai fais 2 scripts parce qu'il y en a un pour tout les jours (plutôt restrictif) et un autre qui ouvre le dns/le web/"solr" (port 8983) quand j'en ai besoin, mise à jour des fichier php, des packages, etc... Solr c'est un moteur de recherche qui tourne sur jetty qui n'est écouté que sur le localhost en temps normal et quand je travaille dessus il doit écouter sur le réseau. Il n'y a pas de ftp je compte utiliser sftp qui passe par le 22 je crois.

Déjà première question, est ce une bonne idée 2 scripts ? Est ce que cela coupe les connexions quand on change de script ? J'aurais tendance à dire oui à cause de "iptables -P INPUT/OUTPUT DROP". Est ce grave ?

Bon je continue :
1er script :
Ssh et http (côté serveur uniquement) autorisé.
Le reste refusé et en log.
Le ssh est en log aussi, je veux savoir qui vient sur ma machine, normalement que moi.

2eme script
ssh http https dns solr (port 8983)
Je ne log pas car ce script ne sera pas souvent actif

Voici le 1er script :
#!/bin/sh

#####################################################################
#
# Shell Script for configuration of Itables
# Server web Pomelojob powered by Gandi.net
#
# only web and ssh available used in webserver mode
#
# author: Charles Bourasseau
# date: 2009
#####################################################################


## On active quelques modules utiles
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter

## On vide les règles
iptables -F
iptables -X

## On log tout
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP

iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : '
iptables -A LOG_ACCEPT -j ACCEPT

## On interdit tout

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

## On autorise la boucle local

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

## SSH
iptables -A INPUT -p tcp -i eth0 --dport 22 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j LOG_ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --dport 1024:65535 --sport 22 -m state --state ESTABLISHED -j LOG_ACCEPT

## web
iptables -A INPUT -p tcp -i eth0 --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT

iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP

Voici le 2eme script :
#!/bin/sh

#####################################################################
#
# Shell Script for configuration of Itables
# Server web Pomelojob powered by Gandi.net
#
# http htpps ssh solr dns available : more possibilities to work
#
# author: Charles Bourasseau
# date: 2009
#####################################################################


## On active quelques modules utiles
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter

## On vide les règles
iptables -F
iptables -X

## On interdit tout
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

## On autorise la boucle local
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

## ssh (server)
iptables -A INPUT -i eth0 -p tcp --dport 22 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 22 -m state --state ESTABLISHED -j ACCEPT

## http (server)
iptables -A INPUT -i eth0 -p tcp --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT

## http (client)
iptables -A INPUT -i eth0 -p tcp --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

## https (server)
iptables -A INPUT -i eth0 -p tcp --dport 443 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 443 -m state --state ESTABLISHED -j ACCEPT

## https (client)
iptables -A INPUT -i eth0 -p tcp --dport 1024:65535 --sport 443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 443 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

## solr
iptables -A INPUT -i eth0 -p tcp --dport 8983 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 8983 -m state --state ESTABLISHED -j ACCEPT

## dns (client)
iptables -A INPUT -i eth0 -p udp --dport 1024:65535 --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 --sport 1024:65535 -j ACCEPT

## Voila merci d'avance pour toutes les réponses :)
  • # oops

    Posté par . Évalué à 3.

    désolé je pense que j'aurais du écrire dans le forum plutôt que le journal je me suis trompé.

    Si un admin pouvait supprimer ce message...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.