PortKnocker
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Port Knocking daemon written in Perl
Description
Portknocking helps to prevent bruteforcing by allowing a particular internal port to
be opened for a given external IP address only after a particular 'knock sequence' has been
sent to a range of other ports. In the example in this code, TCP port 22 is closed to all hosts
unless they first attempt to connect to TCP ports 2000, 2001 and 2002, in that order.

This script is a very basic implementation of a port knock daemon, which listens for the
knocks (using iptables logging) and handles iptables accepts/rejects as necessary. It uses
forking for each knock sequence check, which in some ways was a bad idea and is unlikely to
be necessary.
 
Usage
Either set it as executable and run it, or pass it as an argument to your perl interpreter.
I'd advise running it in a screen as a background process. To stop it, simply send it a
SIGTERM and it should revert all firewall rules.

Requirements
- Linux RedHat 5 derivative or later
- IPTables (tested on v1.4.5)
- IPC::Shareable (yum install perl-IPC-Shareable on Fedora 13)

Disclaimer
I cannot take any responsibility for your use of this script. If you want to use it, do so at
your own risk - don't come complaining to me if you lock yourself out of SSH or rely on this
alone for security and fall victim to a replay attack.

To do
- Replace IPTables system calls with a module. I couldn't get IPTables::IPv4 to install, any
  other suggestions are welcome.
- Replace system call for tail with Perl. File::Tail was not an option.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。