[scponly] unable to rsync with rsync-enabled scponlyc ...
user
user at dhp.com
Thu Oct 27 13:22:18 EDT 2005
Hello,
On Thu, 27 Oct 2005, Hideyuki KURASHINA wrote:
> > I have installed scponly on a FreeBSD 5.4 system, using the compile time
> > options:
> >
> > WITH_SCPONLY_CHROOT="yes" WITH_SCPONLY_RSYNC="yes"
>
> Thanks for using FreeBSD port.
>
> > It has been working fine for me - I have successfully scp'd documents to
> > my target users on the host that have the scponlyc shell specified as
> > their shell. I have tested the chroot cage, and that works as well.
> >
> > I cannot, however, rsync as those user.
> >
> > When I try to rsync files to that user at host, I get this error:
> >
> > rsync: connection unexpectedly closed (0 bytes received so far) [sender]
> > rsync error: error in rsync protocol data stream (code 12) at io.c(365)
> > #
> > # rsync -avz -e ssh hepper good at 192.168.0.4:/good
> ^^^^^^
> > Password:
> > rsync: connection unexpectedly closed (0 bytes received so far) [sender]
> > rsync error: error in rsync protocol data stream (code 12) at io.c(365)
>
> I think this is just a design, but not a bug.
>
> rssh and scponly arbitrary command execution
> http://www.securityfocus.com/archive/1/383046
>
> found by Jason Wies will show the answer (This vulnerability was fixed
> in scponly v4.0).
>
> How about using environmental variable RSYNC_RSH rather than '-e ssh' ?
I was under the impression that this problem had been solved, and what you
are describing is not a very good solution (although, yes, it would work).
If you read the security advisory, you see that the author suggests that
there be a whitelist of allowable executable actions to pass on to
programs like rsync.
Can someone look at my theory here and tell me if it is correct ? My
theory is that you would, as the administrator, make sure there is only
one 'ssh' binary on your system, and you would then whitelist "ssh" as a
"good" program for scponly-allowed-programs to pass to. Which would then
allow me to use '-e ssh' as an argument, as I do above.
-----
There are two things that confuse me, though - first, I understand the
advisory, and I understand the security problem, but I don't understand
why '-e ssh' falls into that category, since ssh is a program that scponly
runs to begin with. The advisory advises a configurable "executable
whitelist", which is all fine and good - I just don't understand how ssh
is not already on a more basic, internal whitelist ... since scponly
supports ssh to begin with. Comments ?
Second, can you further explain the fix you are suggesting to me - you are
suggesting I set an env variable on the _rsync server_ that tells rsync to
assume that all incoming rsync connections are over ssh, and that way the
rsync client does not need any -e option on his command line ? Is my
understanding correct ?
thanks a lot.
More information about the scponly
mailing list