Next:
Introduction
Up:
Using wrappers to protect
Previous:
Abstract
Contents
Contents
Introduction
Statement of the problem
Historical perspective
Purpose of study
Importance of study
Scope of study
Rationale of study
Definition of terms
Overview of study
Copyright and licensing
Review of related literature
The Perl language
Reasons for choosing Perl
Reasons why Perl might not be an ideal choice
Program implementation
Program requirements
When not to use a wrapper
RFC analysis
SMTP - RFC 821
POP3 - RFC 1081
The ProtoWrap wrapper implementation
Approach followed for this work
Database of study
Basic architecture
Interaction with the base ProtoWrap wrapper
Protocol-specific extensions: SMTP
The spamming problem
Characteristics of a SMTP server
Implementation details
Protocol-specific extensions: POP3
Characteristics of a POP3 server
Implementation details
Protocols deliberately not contemplated
HTTP
FTP
Telnet
SSH
UDP and ICMP based protocols
SSL encrypted protocols
Validity of data
Originality and limitations of data
Originality
Limitations
Summary
Implementation
The dual I/O problem
Dealing with different data sources
Reimplementing server functionality
Why must functionality be reimplemented
Matching the server's lost functionality
Enhancing functionality
Excessive logging and privacy concerns
Attaining low ports with low privilege
Auto-looping
Conclusions
Future enhancements to ProtoWrap
Master initialization program and configuration file
Signal handling
Load balancing
Perl-style (POD) documentation
Sample configurations
Wrapper running at the firewall
Redirecting firewall
Server not running, called by the wrapper
Server running on a different port
Local redirecting firewall local rules
Other configurations
ProtoWrap program code
Makefile.PL
ProtoWrap.pm
ProtoWrap/SMTP.pm
ProtoWrap/POP3.pm
Bibliography
Gunnar Wolf
2001-03-12