tcpwrappers & SSH
doug at fledge.watson.org
Wed Oct 25 19:23:40 UTC 2006
On Wed, 25 Oct 2006, Eric Schuele wrote:
> On 10/25/06 09:56, Paul Schmehl wrote:
>> --On Wednesday, October 25, 2006 12:08:26 +0400 ????? ???????
>> <rihad at mail.ru> wrote:
>>> A comment in /etc/hosts.allow states that:
>>> Wrapping sshd(8) is not normally a good idea
>>> Why? Is it because such restrictions should naturally be made using a
>>> firewall/PAM/sshd itself/whatever? I think GENERIC sshd wouldn't have
>>> been built with libwrap support in the first place. Or?
>> Because maintaining the access list can be quite ponderous if you have a
>> lot of users.
>> I maintain a hobby website that only has two shell accounts. I use
>> hosts.allow for ssh because it gets rid of the brute-force crap. But even
>> for two users, the list of hosts/networks that are allowed is 10 or 15.
>> Imagine what it would be if you have a hundred users...or a thousand.
> Viewed from a slightly different angle...
> If you are responsible for maintaining machine xyz, and you have used
> tcpwrappers... chances are you'll eventually need access to that machine from
> a location you did not previously expect. Maybe your sitting in the airport
> and get a call that the machine is malfunctioning. Maybe you are on call at
> a social gathering. In any case, you'll need access and if it is using
> tcpwrappers, you may not gain access.
> IMHO, other than the problem with needing "emergency" access, I think
> tcpwrappers is a good thing. I use then on my laptop for example. As Paul
> mentions, it gets rid of the constant hammering you would normally be subject
> to, and I can still access it from the office or home.
This could be easily done in sshd_config if the order of processing the
AllowUsers and DenyUsers directivies was optional. It is not DenyUsers takes
precedent over AllowUsers. This effective eliminates denying access using a
It looks pretty easy to just switch this in the code, but the "right" way to do
it would be to add an apache-like directive order, e.g. "order deny,allow".
Perhaps there is something in the protocols that would disallow this function.
More information about the freebsd-questions