Bonsoir,
Lionel Giraud a écrit :
>
>> Pour me protéger, en plus de l'authentification par clé, j'utilise
>> aussi du port-knocking pour cacher l'ouverture de ce port.
>>
>> Typiquement, en temps normal seule certaines IP peuvent accéder à ce
>> port, si je suis en déplacement, il me suffit de taper à la porte pour
>> m'y donner accès.
>>
>> Je n'ai pas changé le port par défaut de SSH, mais je n'ai plus toutes
>> ces tentatives de login puisqu'elle sont bloquées par iptables
> C'est pas mal comme système le port-locking
> (http://fr.wikipedia.org/wiki/Port_knocking). A ce que j'ai compris, il
> faut faire un petit script qui active un port lorsqu'une séquence de
> tentative de connexion a été effectué. Y'a-t-il des scripts déjà tout
> fait ?
>
> Autre question :
> Est-il vraiment nécessaire de mettre un firewall sur un linux n'ayant
> qu'un service SSH routé (derrière une Freebox par exemple) ?
La question est mal posée : Un firewall n'est pas la pour protéger un
démon, SSH dans notre cas. Si tu veux que le service soit accessible
depuis l'extérieur (depuis internet donc), tu dois ouvrir un trou dans
ton firewall (port TCP/22 pour SSH). Et dans ce cas, le firewall ne
protège plus rien (*).
Dans ton cas, l'utilité du firewall (Netfilter/iptables sous Linux)
pour une machine "cachée" derrière une freebox est assez limité, car
c'est la freebox qui subira la plupart des attaques.
Netfilter reste quand même utile dans ton cas, si la Freebox se met à
laisser passer des paquets "bizarres", mais à priori, elle ne le fera pas.
(*): Cela n'est pas tout à fait juste :
- Sans firewall sur la machine, on aurait, pour le port 22, une règle
équivalente à :
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Pour faire simple, TOUT les paquets seront acceptés sur ce port, y
compris les paquets "douteux".
- Avec netfilter/iptables, si on veut laisser le port 22 ouvert mais en
le protégeant un minimum, il suffit d'écrire :
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j
ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state--state ESTABLISHED -j ACCEPT
Avec ceci, les connexions ssh "normales" seront autorisées. Par contre,
les "bidouillages" avec des fausses handshake, de la "prise
d'empreinte", etc... seront bloqués.
Pour plus d'infos sur le firewall sous Linux :
http://olivieraj.free.fr/fr/linux/information/firewall/
Bref, hormis cas spécifique (cf le "(*)"), un firewall ne protège pas
un démon qui doit être accessible depuis Internet. Il protège le reste
des ports de la machine. C'est au démon lui-même d'être résistant aux
attaques, ce qui sous-entend qu'il doit être correctement programmé ET
configuré.
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!