ssh, ipv4 versus ipv6 (was: uclibc + iproute2 - compile problem) - vyreseno

oldfrog na volny.cz oldfrog na volny.cz
Čtvrtek Červen 12 14:24:54 CEST 2003


>>Dale jsem nalezl zajimavou chybu ohledne tcpwrapperu a ssh pristupu -
>>neni-li v sshd_config zadana IP adresa, na ktere ma daemon poslouchat
>>a je-li sshd kompilovan s tcp_wrapperem, tvari se prichozi spojeni pro
>>tcp_wrapper jako by melo IP adresu 0.0.0.0. V dusledku toho nelze
>>pouzit hosts.allow a hosts.deny. Je to zrejme chyba na urovni tcp
>>wrapperu. To jen, abyste nad tim zbytecne nebadal. Hloubeji jsem jev
>>nezkoumal, stejna verze sshd prelozena s tcpwrapperem a glibc
>>knihovnou funguje spravne.
>>    
>>
>To spis vypada na to, ze pod uClibem funguje nejak divne getsockname().
>
>--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
>

Zjistil jsem, proc to nefunguje. Sshd je prelozen s ipv6 podporou. Pokud 
v sshd_config nezadam,
na jake ip ma naslouchat, pouzije se automaticky ipv6 a IP 
prihlasujiciho se klienta se take zjistuje jako
ipv6. IP adresa klienta v ipv6 tvaru nesouhlasi se zapisem v hosts.allow 
a spojeni je odmitnuto.

Pokud v sshd_config zadam adresu v ipv4 tvaru, pouzije se pouze ipv4. 
Zjistena klientska adresa
odpovida ipv4 adrese a na zaklade shody se zapisem v hosts.allow je 
spojeni prijato.

Uvedeny jev je zrejme v glibc jiz nejak osetren. Ja jsem situaci 
jednoduse resil prepinacem '-4'.
Sshd daemon spusteny pomoci "sshd -4" pouziva pouze ipv4 protokol.

Zdravi
OldFrog.




Další informace o konferenci Linux