A humble proposal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have been researching some possible extensions to the Netfilter
environment, and something has become very necessary for my current
environment. The following proposal outlines what I wish to implement. I
am wondering if anyone would find value in this. Plus, I look forward to
feedback so that I may improve my ideas.


Problem:

When you need to have internet services open to the internet, some of
them are inherently insecure, such as FTP, SMB, etc. Even if the
protocols have built in encryption, there is still a chance that the
protocol can be compromised.

Also, I have a VPN connection into my internal network. I want anyone
connecting to be forced to authenticate to access mission-critical
components of the system, keeping them safe unless the user themselves
need to do emergency work on these servers.

Related:

While looking into PAM support for various Hardware Tokens, I can
across, pam_iptables. This allows one to login to a SSH, Telnet, or
whatever PAM supported daemon is installed with the module. Once
authenticated, the user has full TCP/IP access to the machine. Once the
SSH session has been closed, so does the iptables rule for access to the
system.

Suggestion:

I would like to take pam_iptables and expand it beyond its simple
structure. Features will include:

- Getting rid of the requirement to keep SSH open the whole time
- Create a daemon that keeps track of the sessions, instead of worrying
about the lifetime of the PAM session
- Allow iptables or any command to be executed once successful
authentication has occurred
- Customize the executed commands based on user/groups to give more fine
grained control over who has what protocol access
- Ability to expire sessions based on:
	- Upload/Download Quotas
	- Time in the system
	- Time idling on all services
	- Line Hang-up (VPN disconnect)
	- Other events that I can't think up on the spot

Since PAM returns the originating IP address of the request, most of the
rule functionality can be used to discriminate on a host level. I don't
think many people would have a problem with this. The only side effect
here is that a user behind a NAT'd network accessing the system opens
the services to everyone behind that host. This is unavoidable.

I have seen some of this functionality in Checkpoint, and I think that
it would be immensely useful in the iptables community if it is adopted.




[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux