Jump to content

TCP Wrappers

From Wikipedia, the free encyclopedia
(Redirected from TCP Wrapper)
TCP Wrapper
Developer(s)Wietse Venema
Stable release
7.6 (April 08, 1997)
Operating systemUnix-like
LicenseBSD license

TCP Wrappers (also known as tcp_wrappers) is a host-based networking ACL system, used to filter network access to Internet Protocol servers on (Unix-like) operating systems such as Linux or BSD. It allows host or subnetwork IP addresses, names and/or ident query replies, to be used as tokens on which to filter for access control purposes.

The original code was written by Wietse Venema in 1990 to monitor a cracker's activities on the Unix workstations at the Department of Math and Computer Science at the Eindhoven University of Technology.[1] He maintained it until 1995, and on June 1, 2001, released it under its own BSD-style license.

The tarball includes a library named libwrap that implements the actual functionality. Initially, only services that were spawned for each connection from a super-server (such as inetd) got wrapped, utilizing the tcpd program. However most common network service daemons today can be linked against libwrap directly. This is used by daemons that operate without being spawned from a super-server, or when a single process handles multiple connections. Otherwise, only the first connection attempt would get checked against its ACLs.

When compared to host access control directives often found in daemons' configuration files, TCP Wrappers have the benefit of runtime ACL reconfiguration (i.e., services don't have to be reloaded or restarted) and a generic approach to network administration.

This makes it easy to use for anti-worm scripts, such as DenyHosts or Fail2ban, to add and expire client-blocking rules, when excessive connections and/or many failed login attempts are encountered.

While originally written to protect TCP and UDP accepting services, examples of usage to filter on certain ICMP packets exist too, such as 'pingd' – the userspace ping request responder.[2]

1999 Trojan[edit]

In January 1999, the distribution package at Eindhoven University of Technology (the primary distribution site until that day) was replaced by a modified version. The replacement contained a trojaned version of the software that would allow the intruder access to any server that it was installed on. The author spotted this within hours, upon which he relocated the primary distribution to his personal site.[3][4][5][6]

See also[edit]


  1. ^ TCP WRAPPER - Network monitoring, access control, and booby traps. by Wietse Venema (USENIX UNIX Security Symposium III, 1992)
  2. ^ GNU/Linux Ping Daemon by route|daemon9 - Phrack Magazine Volume 8, Issue 52 January 26, 1998, article 07
  3. ^ "CERT Advisory CA-1999-01 Trojan horse version of TCP Wrappers" (PDF). Carnegie Mellon University Software Engineering Institute. Archived from the original on 2000-10-17. Retrieved 15 September 2019.
  4. ^ "CERT Advisory CA-1999-02 Trojan Horses" (PDF). Carnegie Mellon University Software Engineering Institute. Archived from the original on 2000-10-17. Retrieved 15 September 2019.
  5. ^ backdoored tcp wrapper source code, by Wietse Venema, on Bugtraq, Jan 21, 1999
  6. ^ Announcement: Wietse's FTP site has moved, by Wietse Venema, on Bugtraq, Jan 21, 1999

External links[edit]