Tu cherches à affiner les règles IPtables dans quel sens stp, peux-tu me donner un exemple, cela sera plus clair pour moi, merci beaucoup. Le lien au dessus je n'ai pas tout compris désolé.
Sinon je bosse avec deux services VPN (j'ai deux abonnements, dont un chez Proxy.sh qui est vraiment optimal, voir ici :
https://proxy.sh/ d’ailleurs à thermes je vais basculer chez eux c'est tout). J'utilise donc OPENVPN pour me connecter à leur serveurs VPN. J'ai analysé les données de connexions sur Proxy.sh et mon autre fournisseur de VPN, par la commande :
ps xaf
Pour Proxy.sh cette commande me donne la force du chiffrement de OpenVPN ET Proxy.sh, sur celle-ci on est sur de l'AES-256 en termes de force de chiffrement de toutes tes données qui transitent entre ton PC et le serveur de Proxy.sh. Le chiffrement de tes identifiants et mot de passe sont indiqués aussi par cette commande et elle dit que c'est SHA-512 qui est utilisé pour leur protection(le top). Mon autre VPN, Vyprvpn, ne dit rien par la même commande, mais cela ne m'étonne pas, eux gardent des logs sur toi, tandis que Proxy.sh non, rendant toutes demandes d'informations sur toi nulles, pour par exemple les tribunaux français.(et là, au tribunal, on peut s'y retrouver pour trois fois rien en France, ou dans d'autres pays aussi), sachant cela par expérience personnelle, mon surf est bouclé niveau sécurité. Certains diront c'est trop, tu fais n'importe quoi, je ne leur souhaite pas mes mésaventures, évidemment.
Donc les règles IPtables que je t'ai donné sont optimales pour ce genre de VPN(VYPRVPN ou PROXY.SH car ils utilisent otus les 2 OPENVPN), et de toutes façons, ce n'est pas moi qui le dit, ce sont les modes d'emploi d'IPtables, et le membre Wholes qui m'avait éclairé là dessus à l'époque en cette phrase :
Pour comprendre IPtables, tout n'est que positionnement et sens des fluxs.
Par le positionnement il faut comprendre par là que dans ta tête il faut que tu saches pile poil où est placé ton ordinateur dans ton réseau local et par rapport à internet. Par exemple tu peux être directement relié à Internet (sans BOX genre Freebox, Livebox etc...) du coup les règles de pare-feu que je t'ai donné au dessus sont évidemment de rigueur, en faire d'autres n'auraient pas de sens. ensuite si tu es derrière une BOX, tu es déjà en dehors du réseau Internet (via la fonction routeur de ta BOX) mais là, j'ai préféré Intercaler encore un routeur derrière ma BOX, poru être en "dehors de ma box", c'est une sécurité superflue selon certains, pour moi elle ne l'est pas, en cas de défaillance de celle-ci, j'ai mon second routeur intercalé qui fera écran, et derrière j'ai IPtables bien paramétré.... C'est sur que si mon deuxième routeur tombe, il n'y aura plus que mon PC et Internet, mais là Internet aura ma vraie adresse MAC, ma Vraie IP, tandis que là je suis derrière deux routeurs, les deux avec des adresses MAC différentes, des IP locales différentes, bref, j'ai de la marge en type d'"attaques frontales".
Bon c'est pour dire le positionnement est important. Soit ton PC est relié via modem directement au Net, soit tu es derrière une BOX ou soit tu es comme moi dans le sens TON PC ---> un routeur (+ son pare-feu activé) ---> ta box ---> Internet.
Ça c'est pour le positionnement.
Maintenant on va voir le SENS des fluxs.
Ton PC est disons derrières ta BOX. Elle t’envoie des données, qui arrivent sur la chaîne Iptables appelée :
INPUT, tu lui réponds par la chaîne IPtables appelée
OUTPUT. Donc on comprends que le danger peut-être tout ce que l'on a pas désiré et qui vient directement sur
INPUT. Alors selon les règles que je t'ai donné au dessus on met :
iptables -t filter -P INPUT DROP
DROP veut dire que les paquets qui arrivent sur
INPUT sont tués. Ils ne sont pas retournés vers la machine qui te les envois depuis l'extérieur, ils sont tués c'est tout, ou abandonnés, mais
DROP ne génère pas de réponse de ta machine vers la machine externe. Tandis que si tu mets ça :
iptables -t filter -P INPUT REJECT
Là IPtables envoie un signal vers la machine qui te contacte depuis l'extérieur, et du coup c'est dangereux car en faisant cela, IPtables indique que ta machine existe bien et qu'en plus elle est route et peut lui répondre !! Pas glope.
Ça c'est pour la première ligne, tu peux t'en inspirer pour la règle sur
FORWARD, on la met en
DROP aussi, si tu ne t'en sers pas. Si tu ne sais pas ce que c'est
FORWARD à l'heure actuelle et que
tu ne l'utilises pas au moment où tu es en train de me lire, alors c'est que tu n'en as pas besoin, donc
FORWARD est mis en
DROP c'est tout.
Maintenant la chaîne
OUTPUT. Très intéressante aussi, elle est capable de répondre à une machine. Mais attention, on la met sur
ACCEPT par cette commande :
iptables -t filter -P OUTPUT ACCEPT
Sans créer de faille de sécurité, car tu administres TON PC et tu y installes les logiciels que TU VEUX. Bien sûr un rootkit passera les doigts dans le nez
si tu l'as installé toi-même, mais ça je pense que tu l'auras compris... Donc, la règle est :
c'est ma machine et je fais confiance en ma machine parce que c'est moi qui la dirige, c'est la seule définition à retenir. Donc en partant de ce constat et en sachant que tu n'as pas installé d'autres paquets que ceux de la logithèque ou de Synaptic, tu sais que ton PC sous Ubuntu est saint, tout simplement. Maintenant si tu n'as pas confiance en toi et que tu ne fais pas confiance en ta machine, une chose simple est de
réinstaller Ubuntu c'est tout, c'est tout con, mais au moins tu seras sûr de repartir sur de bonnes bases. Je pense que tu comprends tout jusqu'ici.
Mais alors, pourquoi mon PC arrive à lancer Firefox et à surfer alors que j'ai tout interdit via ma chaîne
INPUT, j'ai tout mis en
DROP et ça passe ???? Qu'est-ce que c'est que cette histoire ??!!!!
A cause des deux lignes là :
iptables -t filter -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
et
iptables -t filter -A INPUT -i lo -j ACCEPT
Le mot "state" en anglais veut dire "état". La première ligne du dessus veut sire que les connexions vont être autorisé DEPUIS internet seulement dans les deux états (state) suivant : ESTABLISHED,RELATED
Là c'est intéressant car on a pas indiqué à IPtables l'état (state)
NEW !!!!! Cela n'aurait aucun sens, car cela indiquerait à IPtables que l'on accepte toutes les NOUVELLES connexions DEPUIS internet via
INPUT !! Cela veut dire que l'on accepte toutes les connexions
que l'on a pas nous-mêmes initiés depuis notre PC !!!
Alors à quoi bon mettre ceci :
iptables -t filter -P INPUT DROP
si on annule
DROP en mettant simplement l'état
NEW dans la ligne qui suit :
iptables -t filter -A INPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Cela n'aurait aucun
SENS !!! (Tout n'est question que de positionnement et de
SENS de FLUXS !!!)
Alors
la bonne règle IPtables pour INPUT et qui protège notre PC d'intrusions NON-AUTORISÉES et INITIÉES
depuis internet est celle-ci, (car elle ne comporte pas NEW) :
iptables -t filter -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
Et enfin, il faut autoriser les échanges entre
ta carte réseau (du PC) et l’extérieur avec celle-ci :
iptables -t filter -A INPUT -i lo -j ACCEPT
Car si tu ne fais pas cette dernière, ton PC ne sera pas connecté à Internet (ou au réseau local dont ut essais de l'affilier).
Donc Firefox est une application lancée DEPUIS ton PC, et non PAS DEPUIS l'extérieur, de ce fait, tu n'es pas en NEW, tu es dans la catégorie ESTABLISHED,RELATED, donc Firefox va recevoir les réponses de l'extérieur, parce qu'avec toutes les règles que l'on vient de voir, tu as dit à IPtables comment faire.
ESTABLISHED veut dire en gros que c'est toi qui l'a lancé (et qu'elle est établie bien sûr) avec l'internet (par exemple pour l'application Firefox que toi tu viens de lancer depuis ton PC) et RELATED ça sert pour les flux genre FTP, le port 20 et 21 sont
RELATED (en relation avec le protocole FTP).
Fait un essai, laisse ton PC reposer deux minutes, tu coupes tout ce qui touche à une connexion Internet (Firefox Thunderbird, Transmission....) et tu fait dans un terminal un
netstat -utapW
Regarde ce qui reste en ESTABLISHED. Chez moi quand je fais ça, il n'y a plus rien...... (Parce que j'ai tout viré ce que je n'aimais pas aussi hein, ilse peut que chez toi tu aies des choses, mais si dans ces choses tu as quelques chose que tu ne connais pas, GOOGLE est là).
Les liens de documentations officielles et alternatives :
Lien 1 : http://www.netfilter.org/documentation/index.html
Lien 2 : Sur le suivant à la ligne appelée
Translations : il faudra choisir la langue qui t'intéresse, et le français y est :
https://www.frozentux.net/documents/iptables-tutorial/
Si tu as des questions je reste là, A+