/usr/share/doc/socat
NameSizeModeActions
BUGREPORTS7460644editdlrm
CHANGES691810644editdlrm
COPYING180920644editdlrm
COPYING.OpenSSL62790644editdlrm
daemon.sh9030644editdlrm
DEVELOPMENT92100644editdlrm
EXAMPLES174190644editdlrm
FAQ38410644editdlrm
ftp.sh42180644editdlrm
gatherinfo.sh41220644editdlrm
mail.sh20660644editdlrm
PORTING30950644editdlrm
proxy.sh20370644editdlrm
proxyecho.sh12260644editdlrm
readline-test.sh12860644editdlrm
readline.sh7640644editdlrm
README117440644editdlrm
SECURITY18490644editdlrm
socat_buildscript_for_android.sh35790644editdlrm
socks4a-echo.sh25810644editdlrm
socks4echo.sh23670644editdlrm
test.sh4672760644editdlrm
Edit: /usr/share/doc/socat/SECURITY (1849B)
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.