From: Greg Russell on
We have an iptables firewalling router setup here that is working well,
as we've stress-tested it from external sites using all the attack tools
we can find.

We have several users that are "on the road" and require connectivity
from various sites such as motels, coffeehouses, airports and dialup to
various ISPs. We'd like to have a secure tunneling connection for these
users, and we'd like to ask what might be a viable solution that works
for all these various connection points?

By viable I mean that even username and password wouldn't be sniffable
during connection initiation.
From: Stachu 'Dozzie' K. on
["Followup-To:" header set to comp.os.linux.security.]
On 2010-01-25, Greg Russell <me(a)invalid.com> wrote:
> We have an iptables firewalling router setup here that is working well,
> as we've stress-tested it from external sites using all the attack tools
> we can find.
>
> We have several users that are "on the road" and require connectivity
> from various sites such as motels, coffeehouses, airports and dialup to
> various ISPs. We'd like to have a secure tunneling connection for these
> users, and we'd like to ask what might be a viable solution that works
> for all these various connection points?
>
> By viable I mean that even username and password wouldn't be sniffable
> during connection initiation.

All three, SSH (v2), IPsec (Openswan is good choice indeed, ipsec-tools
is pretty crappy in configuration) and OpenVPN are viable according to
your definition.

SSH would be least problematic, it's just a single TCP port to be
enabled (and the port could be stolen from HTTPs, which is pretty
commonly passed through firewalls) and would work ideally for me, Linux
admin. But would it be as simple for your users?

IPsec in Openswan implementation is simple to configure once you manage
to understand IPsec itself (and that could be difficult). You need to
consider the other side of connection, though, and if it's Windows, you
may need to do some more set up. But as it is a VPN, your users will see
resources as if they are connected directly to your network. And one
more thing, IPsec requires some non-standard setup for NATs. If you
don't know IPsec yet, don't use it now and save yourself a headache.

OpenVPN is a bit more troublesome in preparing configuration file than
Openswan (not too much, though, if you know IP networks well), but it
needs just a single port (UDP or TCP, you choose) and still gives you
a VPN.

If your users are experienced un*x users, I'd stay with SSH. If they're
just clerks and/or management, I'd go for OpenVPN.

--
Secunia non olet.
Stanislaw Klekot
From: J G Miller on
On Mon, 25 Jan 2010 19:32:38 +0000, Greg Russell asked:

> We have several users that are "on the road" and require connectivity
> from various sites such as motels, coffeehouses, airports and dialup to
> various ISPs. We'd like to have a secure tunneling connection for these
> users, and we'd like to ask what might be a viable solution that works
> for all these various connection points?

The most secure would as far as I am aware be ssh over an openvpn with
TLS authentication session.

Have a look at the introduction and further documentation at

<http://www.openvpn.NET/index.php/open-source.html>

For even more security, you could consider the use of smart cards plus
user PIN as part of the authorization procedure.

<http://michele.pupazzo.ORG/docs/smart-cards-openvpn.html>

One nice aspect of openvpn is that you can set up categories of users,
with different access privileges, if so desired.

QUOTE
The server can enforce client-specific access rights based on embedded
certificate fields, such as the Common Name.
UNQUOTE

And should a laptop machine be lost on the road, even though the system
should be setup requiring a password as well as a certificate on the
laptop, the certificate on the laptop can be revoked at any time.
From: Lusotec on
Greg Russell wrote:
> We have an iptables firewalling router setup here that is working well,
> as we've stress-tested it from external sites using all the attack tools
> we can find.
>
> We have several users that are "on the road" and require connectivity
> from various sites such as motels, coffeehouses, airports and dialup to
> various ISPs. We'd like to have a secure tunneling connection for these
> users, and we'd like to ask what might be a viable solution that works
> for all these various connection points?

I would recommend ssh with public/private cryptography keys. It is the
easiest to configure correctly and is flexible enough for most scenarios. It
is also very network/router/firewall friendly.

> By viable I mean that even username and password wouldn't be sniffable
> during connection initiation.

Don't use password authentication. The component between the screen and the
chair is too insecure and unreliable! ;)

Regards.

From: David Brown on
On 25/01/2010 20:32, Greg Russell wrote:
> We have an iptables firewalling router setup here that is working well,
> as we've stress-tested it from external sites using all the attack tools
> we can find.
>
> We have several users that are "on the road" and require connectivity
> from various sites such as motels, coffeehouses, airports and dialup to
> various ISPs. We'd like to have a secure tunneling connection for these
> users, and we'd like to ask what might be a viable solution that works
> for all these various connection points?
>
> By viable I mean that even username and password wouldn't be sniffable
> during connection initiation.

ipsec solutions are certainly secure (with correct configuration, of
course), but can be a real pain for routing, NAT traversal, and so on.
You are also, as far as I know, limited to a single ipsec tunnel
endpoint for each ip address, though there can be many connections to
the same tunnel end point at the time. By that I mean that you can have
many clients connecting to the server, but they are all attached to the
same virtual network port on the server. Similarly, each client can
only be connected to only one server at a time. (Hopefully someone will
correct me if that's not true.)

ssh is for remote shell access. You /can/ do port forwarding with it to
give access to other resources, but it is not great for the purpose - it
won't make the best use of the bandwidth, and it is far from convenient
to specify the forwarding connections if there are many of them.
However, it is extremely handy for doing ad-hoc connections and giving
yourself a "backdoor" into your system (put it on a non-standard port so
the bad guys don't keep knocking on it). You can either pre-share the
cryptographic keys or use passwords, or both.

openvpn is, IMHO, an extremely useful way to handle remote connections.
It can take a bit of learning to figure out how the configuration is
done, but when you've done it once you just copy and modify the
configuration file for others. It's a no-brainer for the clients - on
windows you get an icon in your tray and you just select "connect" from
the menu as needed. On Linux you can use the command line or a gui as
you fancy. You can configure it on the server with all sorts of
options, and happily have multiple tunnels on different ports. That way
you can have different groups connected to different virtual network
ports on the router, and use iptables and routing to connect them to
different parts of the network. Security is solid, with cryptographic
keys and optional passwords, and support for various other
identification systems.

I use openvpn whenever we need secure external access to a server, along
with a ssh backdoor for maintenance purposes.