|Perl Monk, Perl Meditation|
How to implement a fourth protocolby Moron (Curate)
|on Mar 27, 2007 at 16:26 UTC||Need Help??|
Moron has asked for the
wisdom of the Perl Monks concerning the following question:
I notice a lot of recent posts here relate to denial of service attacks on HTTP and HTTPS servers and how to use Perl to fight them. It occurred to me that even having detected a bad bot spinning your wheels, blocking them at the firewall is still going to cost you bandwidth and some CPU cycles just for spinning the firewall.
So one idea I want to experiment with is to make a custom protocol that could be used between a system and its proper clients that avoids spinning the firewall by disabling all the usual protocols and only accepting a custom one. My first idea was to use the tty protocol, which badbots no longer bother with these days, but when playing around with this from the browser to see what would happen (entering a URL of tty://somewhere.com it got translated into ftp://somewhere.com whereas xxx:// did not default to that. What I presume is happening is that because tty is a real protocol, something has to translate it to stop it spinning the login shell.
So the initial questions are:
(1) is there a way to make tty:// really log into a system from a browser (useful for a testing phase of this)
(2) Is there some other protocol than FTP or HTTP(S) that could be used for client/server sessions across the net without having to butcher a potentially needed mail protocol or something? If not can a new one be defined?
(3) Are there any Perl modules that could help me? I looked at NetServer::Generic and that might be very useful but it seems to leave uncharted territory for me to cover such as what about the client end.
tyvm in advance!
Free your mind