bikubik Posté(e) le 18 décembre 2009 Posté(e) le 18 décembre 2009 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. 0 Citer
cricx Posté(e) le 18 décembre 2009 Posté(e) le 18 décembre 2009 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) 0 Citer
bikubik Posté(e) le 18 décembre 2009 Auteur Posté(e) le 18 décembre 2009 ... 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. 0 Citer
PatrickH Posté(e) le 18 décembre 2009 Posté(e) le 18 décembre 2009 Pour te connecter au syno tu peux activer SHH et/ou TELNET Ensuite installe PuTTY sur ton PC et connecte toi 0 Citer
MS_Totor Posté(e) le 18 décembre 2009 Posté(e) le 18 décembre 2009 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 @++ 0 Citer
cricx Posté(e) le 19 décembre 2009 Posté(e) le 19 décembre 2009 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. 0 Citer
MS_Totor Posté(e) le 22 décembre 2009 Posté(e) le 22 décembre 2009 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 0 Citer
PatrickH Posté(e) le 22 décembre 2009 Posté(e) le 22 décembre 2009 [quote name='MS_Totor' date='22 d 0 Citer
MS_Totor Posté(e) le 22 décembre 2009 Posté(e) le 22 décembre 2009 cadeau de noël si tout est ok 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é.... 0 Citer
PatrickH Posté(e) le 23 décembre 2009 Posté(e) le 23 décembre 2009 Aie si c'est pas pour moi encore c'est que j'ai pas été assez sage cette année... je ferais mieux l'année prochaine père Noël Patrick 0 Citer
griffon Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 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 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? 0 Citer
cricx Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Bonjour, j'ai suivi ce week-end un tuto tr 0 Citer
griffon Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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? 0 Citer
cricx Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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 0 Citer
MS_Totor Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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 0 Citer
griffon Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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 0 Citer
MS_Totor Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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 0 Citer
MS_Totor Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 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 0 Citer
cricx Posté(e) le 14 janvier 2010 Posté(e) le 14 janvier 2010 bien sur pour le listage des tables, mais si elles 0 Citer
gpboyington Posté(e) le 23 février 2010 Posté(e) le 23 février 2010 [quote name='MS_Totor' date='18 d 0 Citer
MS_Totor Posté(e) le 23 février 2010 Posté(e) le 23 février 2010 bonsoir, je me suis mal exprimé ou exprimé un peu vite et je ne m'étais pas relu depuis damned !! 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 0 Citer
Messages recommandés
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.