
Tips for using socat in secured environments:

* Configure socat to only enable the required features, e.g. to protect your
	filesystem from any accesses through socat: 
	make distclean
	./configure --disable-file --disable-creat --disable-gopen \
		 --disable-pipe	--disable-unix --disable-exec --disable-system
	use "socat -V" to see what features are still enabled; see 
	./configure --help  for more options to disable

* Do NOT install socat SUID root or so when you have untrusted users or
unprivileged daemons on your machine, because the full install of socat can
override arbitrary files and execute arbitrary programs!

* Set logging to "-d -d" (in special cases even higher)

* With files, protect against symlink attacks with nofollow (Linux), and
avoid accessing files in world-writable directories like /tmp

* When listening, use bind option (except UNIX domain sockets)

* When listening, use range option (currently only for IP4 sockets)

* When using socat with system, exec, or in a shell script, know what you do

* With system and exec, use absolute pathes or set the path option

* When starting programs with socat, consider using the chroot option (this
requires root, so use the substuser option too).

* Start socat as root only if required; if so, use substuser option
Note: starting a SUID program after applying substuser or setuid gives the
process the SUID owner, which might give root privileges again.

* Socat, like netcat, is what intruders like to have on their victims machine:
once they have gained a toehold they try to establish a versatile connection 
back to their attack base, and they want to attack other systems. For both
purposes, socat could be helpful. Therefore, it might be useful to install
socat with owner/permissions root:socatgrp/750, and to make all trusted users
members of group socatgrp.
