Iptables firewall

Iptables firewall - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 28-01-2009 à 02:00:35    

Bonjour
 
J ai un serveur web et je me casse la tete sur iptables.
je voudrai savoir s il y a un moyen d'autoriser a deux adresses ip l'acces d un site web et que tous les autres soit refusee.
Est ce qu il faut ouvrir le port 53 en input/output pour faire de la resolution DNS ( client, il n y a pas bind sur la machine) ?  
 
# Allow SSH connections on tcp port 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 
# Allow DNS  
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
 
#Allow port tcp 80 (webserver Apache)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 
#Allow por tcp 443 SSL
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
 
# Set default policies for INPUT, FORWARD and OUTPUT chains
 
 iptables -P INPUT DROP
 iptables -P FORWARD DROP
 iptables -P OUTPUT ACCEPT
 
# Set access for localhost
iptables -A INPUT -i lo -j ACCEPT

Reply

Marsh Posté le 28-01-2009 à 02:00:35   

Reply

Marsh Posté le 28-01-2009 à 08:10:36    


Bonjour,

opadmc a écrit :

je voudrai savoir s il y a un moyen d'autoriser a deux adresses ip l'acces d un site web et que tous les autres soit refusee.


  • Le plus simple c'est la méthode suivante :

Politique par défaut à DROP en INPUT
Autorisation de l'adresse a1 (-s, --source [!] address[/mask] cf le man) vers le port 80 (--dport)  de ton serveur en input
Autorisation de l'adresse a2 (-s, --source [!] address[/mask] cf le man)  vers le port 80 (--dport) de ton serveur en input

 

Tu peux mettre les deux critères de sélection (-s et --dport) dans la même ligne.

 

A ces deux lignes je rajouterais le mécanisme stateful de netfilter (-m state NEW,ESTABLISHED   par exemple)

 
  • FORWARD : on s'en fout => DROP


  • OUTPUT :

Trois solutions :
- soit tu restes ouvert entièrement
- soit tu n'autorise que le trafic à destination de a1 et a2 en provenance de ton port 80 (--sport) (politique à drop puis ouverture au cas par cas)
- soit tu utilises une solution moderne : le mécanisme stateful de netfilter (tu n'autorises que le trafic en l'état ESTABLISHED)

 
opadmc a écrit :

Est ce qu il faut ouvrir le port 53 en input/output pour faire de la resolution DNS ( client, il n y a pas bind sur la machine) ?


Si tu n'as pas de serveur DNS dessus, et que tu ne veux pas faire de résolution DNS ça ne sert à rien.
Cependant tu ne comptes pas le mettre à jour ?


Message édité par o'gure le 28-01-2009 à 08:16:58

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 28-01-2009 à 08:12:13    

Je te conseilles sérieusement de regarder :
- http://irp.nain-t.net/doku.php/130netfilter:start (très bon site qui explique le fonctionnement de netfilter/iptables)
- de regarder le man (toutes les options sont décrites)
- d'utiliser le mécanisme de stateful de netfilter (cf. le man et le site que je t'ai donné).


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 29-01-2009 à 02:01:32    

Bonjour a tous
Merci..
 
oui je vais le mettre a jour. j'ai essayer sans ouvrir le port 53, la machine met au mons 5 mn a demarrer. et ca bloque pas mal de temps sur sendmail. Je crois que je vais couper sendmail ( car c est un serveur apache sans compte mail).


Message édité par opadmc le 29-01-2009 à 02:15:03
Reply

Marsh Posté le 10-02-2009 à 14:37:08    

Et donc les lignes correcte a inserer pour l'accés au serveur web depuis une autre machine du réseau local ca donne quoi ? car je bloque aussi sur ce genre de probleme
 
J'ai lu la plupart des sites notamment ce lien mais mes regles ne marche pas !!


Message édité par shurik84 le 10-02-2009 à 14:47:09
Reply

Marsh Posté le 10-02-2009 à 14:45:16    

J'utilise la logique suivante :
1. Mise en place des règles pour le stateful
2. DNAT des requêtes provenant d'internet arrivant sur l'interface WAN et à destination du port 80 vers l'adresse IP "LAN" de mon serveur (chaine -t nat)
3. Autorisation des nouvelles connexion (-m state --state NEW) sur le port 80 vers l'adresse IP "LAN" de mon serveur.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 10-02-2009 à 14:49:53    

Oui mais si tu simule l'internet avec un serveur web ce que je fait et dont je n'arrive pas a trouver les bonnes regles  
tu n'utilise pas de DNAT ! donc a priori en travaillant sur du local il faut juste ajuster les regles sur la table filter ! ces 2 lignes sont elles bonnes :  
 
# iptables -t filter -A OUTPUT -o eth0 -s 192.168.147.10 -p tcp --dport 80  -j ACCEPT
# iptables -t filter -A INPUT  -i eth3 -d 192.168.0.10 -p tcp --sport 80  -j ACCEPT
 
Juste avant je vide les regles avec -F et -X
 
Puis j'ai une politique de DROP sur les 3 chaines FILTER
 
Routage activer sur le serveur LINUX , je n'ai juste qu'a trouver les bonnes regles pour laisser passer juste ces connexions


Message édité par shurik84 le 10-02-2009 à 14:56:50
Reply

Marsh Posté le 10-02-2009 à 14:56:41    

shurik84> Crée un nouveau topic, uniquement pour ton problème. Là t'es en train de t'étaler sur 1000 topics à la fois pour la même problématique, sans jamais rappeler le contexte, ta configuration... bref comment veux tu qu'on sache ce que tu veux faire. Nous ne sommes pas devin !

 

Nous ne pouvons t'aider correctement si tu persistes dans cette méthode !

 

=> Crée un nouveau topic, prend le temps d'expliquer correctement ton architecture réseau, subnet, interface, configuration, historique...

Message cité 1 fois
Message édité par o'gure le 10-02-2009 à 14:57:18

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 10-02-2009 à 14:58:21    

o'gure a écrit :

shurik84> Crée un nouveau topic, uniquement pour ton problème. Là t'es en train de t'étaler sur 1000 topics à la fois pour la même problématique, sans jamais rappeler le contexte, ta configuration... bref comment veux tu qu'on sache ce que tu veux faire. Nous ne sommes pas devin !
 
Nous ne pouvons t'aider correctement si tu persistes dans cette méthode !
 
=> Crée un nouveau topic, prend le temps d'expliquer correctement ton architecture réseau, subnet, interface, configuration, historique...


 
C'est ce que je vais faire car je bloque si ce n'est galere et en je ne trouve pas les bonne solutions c'est pas faute d'avoir chercher ! Encore désolé pour la propagation   :pfff:


Message édité par shurik84 le 10-02-2009 à 15:00:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed