On Mon, Sep 18, 2006 at 11:23:52AM -0400, Brian Shackelford wrote: > Hello, > > I have been following this thread and am extremely interested in any > solutions to the presented scenarios. We use OpenBSD to build > firewall/Spam filtering boxes customized as needed by our customers. > > I have been working on developing a Python client for Windows that would > open/maintain an SSH connection by reading the windows username OR by > having a configurable username/password that is stored (encrypted) on > the client system. > > If only our customers would use BSD workstations...sigh... > > Alternatively we have looked at writing a small server piece that simply > modifies the tables in PF as needed as well and custom writing a piece > of software for the Win32 clients (again in python) that would do the > same thing as above - just it would communicate with the custom server. > > The only issue we have with the second option is security concerns as we > are not hard-core programmers at heart so I would prefer the simpler > scripted solution. In that light - the first solution would be better > from our point of view - but I am sure there is a flaw in it somewhere. > > As to when the client disconnects - the ssh session will close when the > system is turned off - and we can also have a notification icon on the > taskbar to control the connection. > > While a web-based solution would be more than ideal - I think what I > have will work. What our clients need is a piece of software that > doesn't require much user interaction - even Putty would be hard to > convince them to use. So we hide everything behind a pretty GUI and do > the same things through a custom written app. > > Please feel free to tear my every simple plan to shreds....I can take > it.
Your first solution is most likely ideal; SSH already has pretty good security, and is sufficiently easy to use that it's hard to make a mistake that will cost (much) security. However, you might need some way to separate your clients from one another. Maybe a switch which simply doesn't route from client a to client b (VLANs could be used), or running everything over some sort of VPN (IPsec, OpenVPN) and blocking all other packets. The latter would require some additional software, though... Joachim