Aller au contenu

Connection Distante Et Filtrage Ip


bikubik

Messages recommandés

Bonjour,

Heureux possesseur depuis quelques jours d'un SYNO DS209 (Firmware DSM 2.2-0959), je m'en sers actuellement comme serveur distant avec beaucoup de satisfaction.

Pour plus de sécurité, j'ai aussi activé le blocage automatique des IP en cas d'erreur de mot de passe.

Cependant, malgré cela, j'aimerais n'autoriser que certaines IP distantes à se connecter, pour être vraiment secure (vu que le syno a déjà bloqué une tentative de connexion chinoise dès le premier jour) !

Le problème est que je ne peux mettre en place de filtrage que vis-à-vis de mes IP locales.

Impossible d'autoriser des IP distantes spécifiques. J'ai l'impression que c'est tout ou rien.

Donc ma question, y a t-il une solution ?

(Je précise que mon routeur est celui de ma freebox.)

Merci d'avance pour vos réponses.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Donc ma question, y a t-il une solution ?

oui

mais je ne sais pas si ça peut se faire avec l'interface web.

le firewall embarqué dans le syno peut être configuré avec la commande iptables.

il suffit d'ajouter une règle pour autoriser l'ip que tu veux.

par exemple

iptables -A INPUT -s a.b.c.d -j ACCEPT

permet d'autoriser l'ip a.b.c.d

(remplacer ACCEPT par DROP pour refuser).

attention, une règle d'acceptation n'a de sens que si la règle implicite est le rejet !

lire un peu de doc à propos de netfilter.iptables avant de se lancer !

iptables -L te donnera la liste des règles de la table filter (par défaut quand on ne précise pas)

Lien vers le commentaire
Partager sur d’autres sites

...

le firewall embarqué dans le syno peut être configuré avec la commande iptables.

il suffit d'ajouter une règle pour autoriser l'ip que tu veux.

par exemple

iptables -A INPUT -s a.b.c.d -j ACCEPT

permet d'autoriser l'ip a.b.c.d

(remplacer ACCEPT par DROP pour refuser).

attention, une règle d'acceptation n'a de sens que si la règle implicite est le rejet !

...

Ah.

Très bien.

Merci pour cette réponse très clair... mais pour l'instant pas simple.

Je vais me documenter.

Je suis surpris que ce service ne soit pas prévu d'emblée par le manager du SYNO, vu que l'on voit clairement les IP qui ont été bloquées par le "Blocage auto"...

Mais bon, ce produit est déjà très bon.

Merci encore.

Lien vers le commentaire
Partager sur d’autres sites

salut

iptables est une vrai usine à gaz pour un novice dans ce domaine

de plus beaucoup de tutos existants sur le net ne peuvent pas s'appliquer, car il manque des modules kernel indispensables pour un usage correct de iptables

il manque entre autre ipt_log et le module "recent", limit, burst etc....., ce qui enlève tout attrait fonctionnel pour créer des regles d'anti flood, DOS bien blindées

je te "conseille fortement" d'acheter et mettre en tampon un petit routeur lynkys à base de dd-wrt ou tomato pour faire du filtrage entre le net et le syno pour faire ce que tu souhaite, via une page web en plus, si tu veux faire du filtrage à moindre frais. ;)

à ce moment là oui tu pourras filtrer correctement qui a droit de ce connecter, via des restrictions sur les ports, des restrictions sur les ip ou noms d'ordinateurs liés à des dns dynamiques provenant du net (nom d'hôte) , et mettre un minimum de filtrage pour banir les scans, les brutes forces ou les scans plus insidieux qui reviennent un peu chaque jour faire toc toc sur des ports différents, qui passerons inaperçus sinon etc....

iptables sur syno est réglés vu ces modules pour de l'usage disons plus local plus que du filtrage frontal directement exposé sur le net, c'est mon point de vue direct sur la chose.

sinon tu installe sur la connexion de la bécane qui se connecte depuis l'extérieur une gestion client dyndns ou autre, comme cela tu peux filter le nom de la machine qui a droit de se connecter, quels que soit l'ip qu'elle utilise, si cette ip est dynamique., cela filtre déjà pas mal.

exemple: le syno est connu du net en syno_de_bikubik.dysnbidule.net ce qui permet de le contacter depuis l'extérieur

le pc qui se connecte depuis l'extérieur via un client dns dynamique s'appelle acces_bikubic.dysnbidule.net

une simple règle de filtrage sur une xxxbox, pour autoriser l'hôte acces_bikubic.dysnbidule.net à se connecter au port 21 ou file station du syno etc... et hop personne d'autres n'a le droit de se connecter depuis le net.

c'est un réglage restrictif mais efficace, le reste des connections sera dropé

pour les détails, pleins de tutos sur le net, et oui dyndns et autres dns dynamiques peuvent être utilisé aussi bien pour le syno pour qu'il soit reconnu du net, qu'une connexion externe pour faire reconnaitre au routeur qui est qui, et au final qui peut rentrer et se connecter au syno via un nom d'hôte :)

@++

Lien vers le commentaire
Partager sur d’autres sites

salut

iptables est une vrai usine à gaz pour un novice dans ce domaine

de plus beaucoup de tutos existants sur le net ne peuvent pas s'appliquer, car il manque des modules kernel indispensables pour un usage correct de iptables

il manque entre autre ipt_log et le module "recent", limit, burst etc....., ce qui enlève tout attrait fonctionnel pour créer des regles d'anti flood, DOS bien blindées

je te "conseille fortement" d'acheter et mettre en tampon un petit routeur lynkys à base de dd-wrt ou tomato pour faire du filtrage entre le net et le syno pour faire ce que tu souhaite, via une page web en plus, si tu veux faire du filtrage à moindre frais. ;)

à ce moment là oui tu pourras filtrer correctement qui a droit de ce connecter, via des restrictions sur les ports, des restrictions sur les ip ou noms d'ordinateurs liés à des dns dynamiques provenant du net (nom d'hôte) , et mettre un minimum de filtrage pour banir les scans, les brutes forces ou les scans plus insidieux qui reviennent un peu chaque jour faire toc toc sur des ports différents, qui passerons inaperçus sinon etc....

iptables sur syno est réglés vu ces modules pour de l'usage disons plus local plus que du filtrage frontal directement exposé sur le net, c'est mon point de vue direct sur la chose.

sinon tu installe sur la connexion de la bécane qui se connecte depuis l'extérieur une gestion client dyndns ou autre, comme cela tu peux filter le nom de la machine qui a droit de se connecter, quels que soit l'ip qu'elle utilise, si cette ip est dynamique., cela filtre déjà pas mal.

exemple: le syno est connu du net en syno_de_bikubik.dysnbidule.net ce qui permet de le contacter depuis l'extérieur

le pc qui se connecte depuis l'extérieur via un client dns dynamique s'appelle acces_bikubic.dysnbidule.net

une simple règle de filtrage sur une xxxbox, pour autoriser l'hôte acces_bikubic.dysnbidule.net à se connecter au port 21 ou file station du syno etc... et hop personne d'autres n'a le droit de se connecter depuis le net.

c'est un réglage restrictif mais efficace, le reste des connections sera dropé

pour les détails, pleins de tutos sur le net, et oui dyndns et autres dns dynamiques peuvent être utilisé aussi bien pour le syno pour qu'il soit reconnu du net, qu'une connexion externe pour faire reconnaitre au routeur qui est qui, et au final qui peut rentrer et se connecter au syno via un nom d'hôte :)

@++

oui, bien sûr, tu as raison, mstotor.

comme tu le préconises, j'utilise moi-même un wrt54gl avec dd-wrt, derrière ma box en bridge et c'est OK.

Mais pour autoriser juste une ip externe à se connecter au syno, une règle iptables le fait de façon simple.

Ceci dit, il est possible de construire des règles avec firewallbuilder, par exemple, puis les installer sur le syno.

Et pour les modules manquants, je ne doute pas qu'il y aura quelqu'un pour les compiler.

Lien vers le commentaire
Partager sur d’autres sites

Et pour les modules manquants, je ne doute pas qu'il y aura quelqu'un pour les compiler.

je teste le module kernel sorti brut des mes fonderies ipt_log pour faire du iptables -A INPUT -p tcp -j LOG...... en ce moment même ;)

je verrais le résultat ce soir, avant d'aller plus loin

Lien vers le commentaire
Partager sur d’autres sites

cadeau de noël si tout est ok :P

mais désolé uniquement pour ppc853 ton matos n'est pas encore dans mes to do patrick....

pas eu le temps aujourd'hui, le tuto lui même a déjà été torché pour cross-compiler pour du ppc depuis le 844 quand cela marchais mais pas diffusé, juste notes persos, et actualisé en 944

cherche cobaye tun.ko pour dsx09+ aussi d'ailleurs pour valider le tout , pas le temps de tester moi même, léger overbooké....

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour, j'ai suivi ce week-end un tuto très bien fait sur "iptables" :

Tuto sur iptables

Je dois dire que l'utilisation de "iptables" se fait très bien sur mon DS107+ (j'utilise la version DSM 2.2) pour ce qui concerne la table filter (donc filtrage de ports INPUT, OUTPUT et FORWARD) à partir du moment où on active le firewall depuis l'interface d'administration du syno.

Par contre, j'ai voulu continuer l'exploration de la commande "iptables" par le suivi de ports (en anglais: port fowarding) (mon besoin : router les demandes d'accès vers le port 80 par le port "eth0":routeur freebox et les autres ports vers le tunnel "tun0": tunnel VPN).

Tuto sur le suivi de ports

Et là on a besoin de la table nat pour rentrer des commandes telles que :

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

Et là, c'est le drame : le syno ne vaut pas entendre parler d'une table 'nat'. Et lorsque l'on tente de la créer à l'aidde de la commande "modprobe",

on se fait jeter joyeusement par le syno.

Est-ce que quelqu'un est-il parvenu à faite du "port forwarding" sur nos syno?

Lien vers le commentaire
Partager sur d’autres sites

Merci de ton aide Cricx, voici ce que donne la commande:

syno> iptables -t nat -L

iptables v1.4.2: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

Y a t'il une commande permettant de voir le nom de toutes les tables utilisées par iptables?

Lien vers le commentaire
Partager sur d’autres sites

Merci de ton aide Cricx, voici ce que donne la commande:

syno> iptables -t nat -L

iptables v1.4.2: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

Y a t'il une commande permettant de voir le nom de toutes les tables utilis

Lien vers le commentaire
Partager sur d’autres sites

salut

petites astuces découvertes pendant la dernière bêta en 2009 pour améliorer la gestion et notée dans un coin, pour t'aiguiller dans ton projet.

/usr/syno/etc/rc.d/S01iptables.sh

selon la version kernel choppée par un -uname il y a la liste des modules chargés, core et common pour respecter les dépendances de modules...c'est là que j'ajoutai mes propres modules iptables cross-compilés.. et rapidement tu verras si je me souviens bien, pas de NAT

Nota: les modules kernel pour le firewall sont chargé directement par le script de lancement de iptables si et seulement si iptables est activé via le panel admin , pour les virer de la mémoire kernel tu désactives le parefeu.

bref active iptables ou tu modifies cela à ton gout et à tes risques

tu peux verifier cela rapidement chez toi

pour afficher les modules chargé en mémoire via le script

lsmod

tu seras vite fixé pour nat en regardant si le module existe

la liste des modules kernel dispo est dans

/usr/lib/modules

ensuite il faut voir les fonctions et lib en .so compilée pour iptables, comme d'hab chez syno ils ont verrouillé au niveau compil directement

/usr/lib/iptables

il devrait y avoir la gestion log en .so pour ulog ou syslog etc....y a pas....

compares avec une distribution normale iptables et voir si il ne manque rien pour faire du nat.

pour la liste des tables chargées

iptables -L -v -n

ou pour visualiser les tables chargées en kernel sous linux en général

cat /proc/net/ip_tables_names

même méthode ou via winscp tu verra que que pour netfilter ce qui est chargé est dans /proc/net/netfilter

exemple:

-nf_queue

-nf_log

mon syno est à fond dans un tache des restauration, pas d'autres infos pour l'instant :)

Lien vers le commentaire
Partager sur d’autres sites

Wahou, que d'infos ! Merci Totor, ces commandes confirment bien l'absence totale de table nat. La commande suivante est explicite:

syno> cat /proc/net/ip_tables_names 

filter
un lsmod donne ceci :
Module 	Size Used by

ipt_state 	1408 1 

ipt_multiport 	2240 5 

ip_conntrack 	45612 1 ipt_state

iptable_filter 	2112 1 

ip_tables 	19840 3 ipt_state,ipt_multiport,iptable_filter

tun 	9664 1 

usbhid 	26404 0 

usblp 	11680 0 

usb_storage 	32068 0 

uhci_hcd 	28720 0 

ohci_hcd 	15204 0 

ehci_hcd 	30088 0 

ds107+_synobios 	16408 0 

isofs 	33308 0 

udf 	85124 0 

zlib_inflate 	16672 1 isofs

fuse 	45396 0 

nfsd 	105316 1 

exportfs 	4416 1 nfsd

ppp_async 	9504 0 

crc_ccitt 	1568 1 ppp_async

ppp_generic 	22260 1 ppp_async

slhc 	6368 1 ppp_generic

snd_pcm_oss 	49184 0 

snd_mixer_oss 	15424 1 snd_pcm_oss

snd_usb_audio 	71904 0 

snd_pcm 	79880 2 snd_pcm_oss,snd_usb_audio

snd_timer 	20740 1 snd_pcm

snd_hwdep 	7460 1 snd_usb_audio

snd_usb_lib 	14848 1 snd_usb_audio

snd_rawmidi 	21120 1 snd_usb_lib

snd 	43576 7 snd_pcm_oss,snd_mixer_oss,snd_usb_audio,snd_pcm,snd_timer,snd_hwdep,snd_rawmidi

snd_page_alloc 	7912 1 snd_pcm

soundcore 	7620 1 snd

quota_v2 	9056 2 

usbcore 	115752 9 usbhid,usblp,usb_storage,uhci_hcd,ohci_hcd,ehci_hcd,snd_usb_audio,snd_usb_lib

sg 	30464 0 

ntfs 	115700 0 

vfat 	10720 0 

fat 	48444 1 vfat

appletalk 	32952 0 

psnap 	2852 1 appletalk

llc 	5876 1 psnap

Bon, plus qu'à espérer que la prochain kernel qui va sortir intègre cette table...

Merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

et oui

il faut demander au support, et espérer si assez de demandes que cela soit intégré au firmware, mais ca ne bouge pas beaucoup dans ce domaine, ce qui est dommage, sinon se mettre à la cross-compilation pour combler les trous de la version courante, il n' y a pas d'autres solutions pour avoir un iptables plus fonctionnel avec celui de base.

tu pourrais passer aussi par ipkg pour installer iptables, mais, et oui gros mais, il faut à la base les modules kernel idoines quand même.

j'ai tout le nécessaire en module kernel pour la série DSx09+ et DSx07+ en moins de 30 ' pour compiler mais pas le temps de tester comme dit dans un autre thread, et mon syno est vital en ce moment, pas le temps de jouer :)

Lien vers le commentaire
Partager sur d’autres sites

bien sur pour le listage des tables, mais si elles étaient déjà compilés, et pas chargées , l'endroit ou voir si elles existent est comme mon propos le souligne

/usr/lib/modules

pour le support du nat toujours dans mes petites notes, via la compilation des modules kernels

au minimum

dans "ip netfilter configuration" il faut le module

"ipv4 connection tracking support"

je regarde cela demain de plus prêt, je suis claqué là

by

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

bonsoir, je me suis mal exprimé ou exprimé un peu vite et je ne m'étais pas relu depuis damned !! :rolleyes:

beaucoup de mes dires sont des réflexes questions/réponses pour un linux normal, que je tempère au mieux à chaque fois par les possibilités réelles des synos, alors je teste et décortique les choses quand j'ai le temps et l'interet de le faire, ce qui fais que je connais quelques trucs, sans plus.

iptables ne traite que les ip, pas les nom d'hôtes donc iptables à ce niveau ne fera rien du tout

par contre, un service web, ftp ou un service openssh, openvpn, etc.... peuvent filtrer directement les noms d'hôtes à ce connecter ou pas, de la même façon qu'un filtrage par nom d'utilisateur

donc regardes à titre d'exemple la doc sur openssh, (ssh natif au syno et openssh c'est la même chose sauf que openssh du syno est bridé, le terme ssh représente un protocole) et filtrage par nom d'hôtes ou noms d'utilisateurs

un peu claqué là, je laisse le soin à mes collègues de te répondre au mieux sur la question ce soir, sinon demain

@ plus

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.