OVH Cloud OVH Cloud

NFS et securite

5 réponses
Avatar
Hugolino
Bonjour


Bonne année à tous les modéros et aux utiles contributeurs du forum.


Comme j'ai depuis peu un portable, je me suis lancé dans le NFS, pour
"partager" quelques répertoires de mon PC de bureau.

Selon le NFS-HOWTO du 25/08/2002, section 6, qui cause de "Security
and NFS", il faut rajouter, dans /etc/hosts.deny (sur mon pc de bureau)
portmap: ALL


et selon ce HOWTO, un 'rpcinfo -p' devrait m'insulter or il me liste les
services suivants (ouverts à tous vents ?):
program no_version protocole no_port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
391002 2 tcp 705 sgi_fam
100024 1 udp 604 status
100024 1 tcp 607 status
100003 2 udp 2049 nfs
100021 1 udp 35015 nlockmgr
100021 3 udp 35015 nlockmgr
100005 1 udp 628 mountd
100005 1 tcp 632 mountd
100005 2 udp 628 mountd
100005 2 tcp 632 mountd


Dans /etc/exports, j'ai (192.168.xxx.yyy est mon portable):
8<-----------8<---------8<----------8<----------8<----------8<----------8<
/usr/local/bin 192.168.xxx.yyy(rw,no_root_squash,sync)
/home/hugo 192.168.xxx.yyy(rw,no_root_squash,sync)
/home/Vidéos 192.168.xxx.yyy(rw,no_root_squash,sync)
8<-----------8<---------8<----------8<----------8<----------8<----------8<

et dans /etc/hosts.allow:
8<-----------8<---------8<----------8<----------8<----------8<----------8<
ALL: 127.0.0.1
portmap: 192.168.xxx.yyy
lockd: 192.168.xxx.yyy
rquotad: 192.168.xxx.yyy
mountd: 192.168.xxx.yyy
statd: 192.168.xxx.yyy
8<-----------8<---------8<----------8<----------8<----------8<----------8<

Dans le HOWTO, il est précisé que les modifs sont prises en compte dès
la modification de /etc/hosts.deny ou /etc/hosts.allow.
Comme cela a pu changer depuis 2 ans et demi, j'ai quand même redémarré
'portmap' 'nfs-kernel-server' et 'nfs-common'. Mais rien n'y change.
(J'ai même redemarré les deux machines).


Bref:
1°) Comment être sûr que personne ne voit mon partage NFS quand je suis
sur internet ?
2°) Aie-je employé la bonne méthode ? (des doutes sur portmapper ?)


Je n'ai pas configuré de firewall pour l'instant (dit-il, plongé dans
les docs de IPTABLES) car je suis toujours en RTC (maximum 10 minutes
par jour).


Merci de toute aide


--
Hugo NPN (i --> ee)
'Jesus saves, but only Buddha makes incremental backups.'

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

5 réponses

Avatar
Basile Starynkevitch [news]
On 2005-02-07, Hugolino wrote:

Comme j'ai depuis peu un portable, je me suis lancé dans le NFS, pour
"partager" quelques répertoires de mon PC de bureau.



Une alternative interessante pour cet usage est d'utiliser plutot un
logiciel de synchronisation, comme unison ou rdist ou rsync

Par ailleurs, pour du développement, on peut avantagement installer
(par exemple) un gestionnaire de version comme svn (ou CVS)

L'avantage de ces approches, c'est que le portable fonctionne même
sans réseau - ce qui peut être utile pour un portable...

L'inconvenient, c'est qu'il faut penser à la synchronisation. On peut
automatiser par des scripts (voire aussi anacrontab...)

Cordialement

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Kevin Denis
Le 07-02-2005, Hugolino a écrit :

Comme j'ai depuis peu un portable, je me suis lancé dans le NFS, pour
"partager" quelques répertoires de mon PC de bureau.

Selon le NFS-HOWTO du 25/08/2002, section 6, qui cause de "Security
and NFS", il faut rajouter, dans /etc/hosts.deny (sur mon pc de bureau)
portmap: ALL

et selon ce HOWTO, un 'rpcinfo -p' devrait m'insulter or il me liste les
services suivants (ouverts à tous vents ?):



pourquoi rpcinfo devrait couiner?

/usr/local/bin 192.168.xxx.yyy(rw,no_root_squash,sync)
/home/hugo 192.168.xxx.yyy(rw,no_root_squash,sync)
/home/Vidéos 192.168.xxx.yyy(rw,no_root_squash,sync)



je mettrais plutot en ro et en root_squash, amha

et dans /etc/hosts.allow:
8<-----------8<---------8<----------8<----------8<----------8<----------8<
ALL: 127.0.0.1
portmap: 192.168.xxx.yyy
lockd: 192.168.xxx.yyy
rquotad: 192.168.xxx.yyy
mountd: 192.168.xxx.yyy
statd: 192.168.xxx.yyy
8<-----------8<---------8<----------8<----------8<----------8<----------8<

Dans le HOWTO, il est précisé que les modifs sont prises en compte dès
la modification de /etc/hosts.deny ou /etc/hosts.allow.



Oui, ils sont relus a chaque appel.

Comme cela a pu changer depuis 2 ans et demi, j'ai quand même redémarré
'portmap' 'nfs-kernel-server' et 'nfs-common'. Mais rien n'y change.
(J'ai même redemarré les deux machines).


Bref:
1°) Comment être sûr que personne ne voit mon partage NFS quand je suis
sur internet ?



Les gens voient que tu as du NFS

2°) Aie-je employé la bonne méthode ? (des doutes sur portmapper ?)



Oui. La, tu as deja ceinture et bretelles.

ceinture car l'/etc/exports n'autorise que la machine 192.168.x.y a
monter les rep distants. Donc n'importe quelle autre machine voulant monter
ce partage se fera jeter. (change l'IP du portable, essaye de monter
et regarde).
erreur typique dans les logs:
cote serveur nfs:
slackwall rpc.mountd: refused mount request from zipslack for /var/samba
(/): no export entry
cote client nfs:
:~# mount -t nfs 192.168.1.9:/var/samba /mnt/hd
mount: 192.168.1.9:/var/samba failed, reason given by server: Permission
non accordée

bretelles, car avant meme que le serveur nfs daigne ecouter qui l'appelle,
le module tcpd verifie si l'appelant est autorise a utiliser le service.
(man tcpd, toussa).
erreur typique dans les logs:
cote client nfs:
:~# mount -t nfs 192.168.1.9:/var/samba /mnt/hd
mount: RPC: le programme n'est pas enregistré
cote serveur nfs:
slackwall portmap[1181]: connect from 192.168.1.45 to getport(mountd):
request from unauthorized host

Mais ca n'empechera pas n'importe quelle machine de l'internet qui
t'envoie un nmap dans la face de voir que tu as un serveur nfs.
Pour eviter ca, qu'une solution: iptables

Je n'ai pas configuré de firewall pour l'instant (dit-il, plongé dans
les docs de IPTABLES) car je suis toujours en RTC (maximum 10 minutes
par jour).



Bah, ca fait pas de mal non plus un petit firewall.
Je me suis longtemps passe de firewall aussi dans cette config. Un petit
tcpdump -n -i ppp0 ! tcp port 80 and ! udp port 53
pendant la connection pour surveiller le trafic est quelquefois pratique.

--
Kevin

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
hugolino
Kevin Denis wrote in message news:...
Le 07-02-2005, Hugolino a écrit :
>
> Comme j'ai depuis peu un portable, je me suis lancé dans le NFS, pour
> "partager" quelques répertoires de mon PC de bureau.
>
> Selon le NFS-HOWTO du 25/08/2002, section 6, qui cause de "Security
> and NFS", il faut rajouter, dans /etc/hosts.deny (sur mon pc de bureau)
> portmap: ALL
>
> et selon ce HOWTO, un 'rpcinfo -p' devrait m'insulter or il me liste les
> services suivants (ouverts à tous vents ?):

pourquoi rpcinfo devrait couiner?



Bin, dans la version anglaise, j'ai "Rpcinfo should give no output, or
possibly an error message" mais je ne retrouve pas cette info dans la version
française que j'ai téléchargée depuis...


> /usr/local/bin 192.168.xxx.yyy(rw,no_root_squash,sync)
> /home/hugo 192.168.xxx.yyy(rw,no_root_squash,sync)
> /home/Vidéos 192.168.xxx.yyy(rw,no_root_squash,sync)

je mettrais plutot en ro et en root_squash, amha



Ah bin, non, je veux pouvoir écrire sur mon partage.


> Bref:
> 1°) Comment être sûr que personne ne voit mon partage NFS quand je suis
> sur internet ?

Les gens voient que tu as du NFS

> 2°) Aie-je employé la bonne méthode ? (des doutes sur portmapper ?)
>
Oui. La, tu as deja ceinture et bretelles.

[snip: explication très claire]



OK merci beaucoup.


Un petit tcpdump -n -i ppp0 ! tcp port 80 and ! udp port 53
pendant la connection pour surveiller le trafic est quelquefois pratique.



tcpdump installé suivant tes conseils

Merci à toi (et à Basile)


Hugues

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Guillaume 'LoneWolf' Estival
In article , Kevin Denis wrote:
Le 07-02-2005, Hugolino a écrit :
2°) Aie-je employé la bonne méthode ? (des doutes sur portmapper ?)



Oui. La, tu as deja ceinture et bretelles.

ceinture car l'/etc/exports n'autorise que la machine 192.168.x.y a
monter les rep distants. Donc n'importe quelle autre machine voulant monter
ce partage se fera jeter. (change l'IP du portable, essaye de monter
et regarde).
erreur typique dans les logs:
cote serveur nfs:
slackwall rpc.mountd: refused mount request from zipslack for /var/samba
(/): no export entry
cote client nfs:
:~# mount -t nfs 192.168.1.9:/var/samba /mnt/hd
mount: 192.168.1.9:/var/samba failed, reason given by server: Permission
non accordée



La, je suis super d'accord.

bretelles, car avant meme que le serveur nfs daigne ecouter qui l'appelle,
le module tcpd verifie si l'appelant est autorise a utiliser le service.
(man tcpd, toussa).
erreur typique dans les logs:
cote client nfs:
:~# mount -t nfs 192.168.1.9:/var/samba /mnt/hd
mount: RPC: le programme n'est pas enregistré
cote serveur nfs:
slackwall portmap[1181]: connect from 192.168.1.45 to getport(mountd):
request from unauthorized host



La, j'ai un doute.
De ce que je me souviens, tcpd, host.allow et tout ses copains ne sont
utilisable que pour les demons geres par (x)inetd.
Or, ca fait depuis un moment que NFS (aussi bien le demon kernel land
que user land) est un demon standalone et n'est plus integre a inetd.

Pour rappel:
The tcpd program can be set up to monitor incoming requests for telnet,
finger, ftp, exec, rsh, rlogin, tftp, talk, comsat and other services
that have a one-to-one mapping onto executable files.
[cut]
Operation is as follows: whenever a request for service arrives, the
inetd daemon is tricked into running the tcpd program instead of the
desired server. tcpd logs the request and does some additional checks.
When all is well, tcpd runs the appropriate server program and goes
away.

(cf http://athena.fit.qut.edu.au/cgi-bin/man/man2html?tcpd )

Donc ma question est: est ce que tcpd fonctionne sur autre chose que
inetd? Il me semble que c'etait ce qu'on appellait les TCPWRAPPERS mais
actuellement, meme pour ssh, on ne les utilise plus (a la limite pour
pop3 mais c'est de plus en plus souvent de l'imap, avec cyrus standalone
qui gere tout a la volee).

Tout ce que j'ai trouve sur le net a ce propos confirme ce que je
pensais (mais j'etais pas sur), quelqu'un a des infos qui infirme?

Merci d'avance
--
Guillaume Estival DAWAN, Saint-Herblain
Administrateur système tel : 0810.001.917
www.formation-web.net www.dawan.fr

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Dominique ROUSSEAU
Dans l'article <421b4386$0$3138$, Guillaume
'LoneWolf' Estival a écrit :
De ce que je me souviens, tcpd, host.allow et tout ses copains ne sont
utilisable que pour les demons geres par (x)inetd.


[...]
Donc ma question est: est ce que tcpd fonctionne sur autre chose que
inetd? Il me semble que c'etait ce qu'on appellait les TCPWRAPPERS
mais actuellement, meme pour ssh, on ne les utilise plus (a la limite
pour pop3 mais c'est de plus en plus souvent de l'imap, avec cyrus
standalone qui gere tout a la volee).



Oui, il suffit que le "demon" en question utilise la lib associé aux
"tcp wrapper".
(x)inetd en est un, mais beaucoup d'uatres l'utilisent également (comme
ça, sans trop réfléchir me viennent à l'exprit : mysql, ssh)


Dom

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.