Commit Graph

584 Commits

Author SHA1 Message Date
Michael Rash
66741b3d81 Added a test for SPA over TCP 2012-10-04 21:05:55 -04:00
Michael Rash
ecce80b92b [client] for spoofed SPA packets over ICMP, switche back to sending over echo reply 2012-10-04 21:05:22 -04:00
Michael Rash
aceb501eca minor replay warning msg fix to not include newlines (better for syslog) 2012-10-03 22:58:06 -04:00
Michael Rash
229a36625b Better IP spoofing support (udpraw and icmp)
- [client] Added '-P udpraw' to allow the client to send SPA packets over
  UDP with a spoofed source IP address.  This is in addition to the
  original 'tcpraw' and 'icmp' protocols that also support a spoofed
  source IP.
- [server] Bug fix to accept SPA packets over ICMP if the fwknop client
  is executed with '-P icmp' and the user has the required privileges.
2012-10-03 22:56:10 -04:00
Michael Rash
bb1743d25d [server] Switched upstart config to use 'expect' section
This change allows fwknopd to write syslog messages to traditional syslog files
while running under upstart.  Not forking into the background resulted in
messages meant for syslog were captured under /var/log/upstart/fwknop.log.
2012-10-02 23:22:15 -04:00
Michael Rash
1828f51b90 [server] GPG_ALLOW_NO_PW + no KEY bug fix
Bug fix to allow GPG_ALLOW_NO_PW to result in not also having to specify a
Rijndael key.
2012-10-02 23:20:47 -04:00
Michael Rash
2aff47c7a2 minor fwknopd man page fixes 2012-10-01 22:49:45 -04:00
Michael Rash
1f4ca20f76 [server] upstart config change to start on network device up
For the upstart config make sure only start fwknopd after a non-loopback
network interface is brought up.  Also added a commented post-start script
to send an email whenever fwknopd is (re)started.
2012-09-29 21:58:04 -04:00
Michael Rash
e37409c250 Added blurb about the new upstart config 2012-09-27 22:01:54 -04:00
Michael Rash
f7472bec0f Added upstart config for Ubuntu systems
fwknop can be easily managed with upstart with the addition of this config.
Here is an example:

 # service fwknop start
 fwknop start/running, process 4269
2012-09-27 21:58:38 -04:00
Michael Rash
91e7b21054 added log output for the sniffing interface 2012-09-27 21:57:39 -04:00
Michael Rash
4c852c133b [todo] client/server tests 2012-09-24 22:15:33 -04:00
Michael Rash
61021e0f23 minor print status update in --Anonymize mode 2012-09-24 22:15:01 -04:00
Michael Rash
96609e280c added mbr@cipherdyne.org to bug email list 2012-09-24 21:33:41 -04:00
Michael Rash
05eb19738a added the OpenBSD port from Vlad 2012-09-13 21:25:43 -04:00
Michael Rash
2b09f048f7 (Vlad Glagolev) Submitted an OpenBSD port for fwknop-2.0.3
(Vlad Glagolev) Submitted an OpenBSD port for fwknop-2.0.3, and this has
been checked in under extras/openbsd/.
2012-09-13 21:24:54 -04:00
Michael Rash
f8374c8aef [server] (Vlad Glagolev) Submitted a patch to fix command exec mode
(Vlad Glagolev) Submitted a patch to fix command exec mode
under SPA message type validity test.  Support for command exec mode was
also added to the test suite.
2012-09-11 21:54:26 -04:00
Michael Rash
591416e23b [server] bug fix in --disable-file-cache mode
Applied patch from Vlad Glagolev to fix ndbm/gdbm usage when --disable-file-cache
is used for the autoconf configure script.  This functionality was broken in
be4193d734 through improper handling of #define
macros from --disable-file-cache.
2012-09-10 21:47:48 -04:00
Michael Rash
7bd0da29c4 minor spelling typo fixes 2012-09-04 22:04:48 -04:00
Michael Rash
c560dc503a minor spelling typo fixes 2012-09-04 21:47:30 -04:00
Michael Rash
25edd17aca diff update for fwknop-2.0.3 release 2012-09-04 21:14:49 -04:00
Michael Rash
40ac28df21 bump version to 2.0.3 2012-09-03 22:23:48 -04:00
Michael Rash
8d26cc90ee include file compilation fix for OpenBSD relative to inet_aton() IP verification 2012-09-03 22:18:59 -04:00
Michael Rash
b05d229bb1 sprintf() -> snprintf() calls 2012-09-03 09:09:35 -04:00
Michael Rash
e2c0ac4821 [server] Strong access.conf validation
Fernando Arnaboldi from IOActive found several conditions in
which the server did not properly throw out maliciously constructed
variables in the access.conf file.  This has been fixed along with new
fuzzing tests in the test suite.
2012-09-03 00:21:46 -04:00
Michael Rash
263fa01f2a added inet_aton() call for IP strong IP validation (credit: Fernando Arnaboldi) 2012-09-03 00:21:32 -04:00
Michael Rash
ffe4d3b162 minor spacing update to make merges into hmac_master easier 2012-09-02 15:53:54 -04:00
Michael Rash
86b403dadb fixed potential buffer overflow discovered by Fernando Arnaboldi of IOActive 2012-09-01 23:37:03 -04:00
Michael Rash
e3a78a175c verify_file_perms_ownership() to just return if the file doesn't exist 2012-09-01 21:55:52 -04:00
Michael Rash
1548cbafc8 get MAX_PORT_STR_LEN constant from fko_message.h 2012-08-31 23:05:05 -04:00
Michael Rash
dafcfbc488 bug fix to make sure to verify file permissions/ownership on files that actually exist 2012-08-31 23:00:45 -04:00
Michael Rash
b567514a6c Added fko_context.h file to lib/Makefile.am 2012-08-31 22:59:44 -04:00
Michael Rash
d739331818 implemented a couple of minor stronger bounds checks 2012-08-30 23:38:54 -04:00
Michael Rash
2584521c67 Run verify_file_perms_ownership() on fwknop.pid only if it exists
Two bugs are fixed with this commit: verify permissions/ownership on the
fwknop.pid file only if it exists, and ensure to ru-run stat() on any directory
component if we're creating a directory.
2012-08-30 21:43:53 -04:00
Michael Rash
406e33ccc0 minor comment update 2012-08-30 21:43:07 -04:00
Michael Rash
4832312e6d added filesystem permissions test 2012-08-29 23:12:56 -04:00
Michael Rash
a60f05ad44 file permissions and client buffer overflow fix
- [client+server] Fernando Arnaboldi from IOActive found that strict
filesystem permissions for various fwknop files are not verified.  Added
warnings whenever permissions are not strict enough, and ensured that
files created by the fwknop client and server are only set to user
read/write.
- [client] Fernando Arnaboldi from IOActive found a local buffer overflow
in --last processing with a maliciously constructed ~/.fwknop.run file.
This has been fixed with proper validation of .fwknop.run arguments.
2012-08-29 22:21:43 -04:00
Michael Rash
186a424353 Added Ctrl-C and --disable-gpg notes 2012-08-28 21:28:57 -04:00
Michael Rash
098ae417fe migrated TODO tasks to the todo.org file 2012-08-27 22:30:27 -04:00
Michael Rash
89dfa2c1fb minor ChangeLog update for the RPM build change 2012-08-27 21:20:02 -04:00
Michael Rash
c5b229c5c8 Added $DESTDIR prefix in uninstall-local and install-exec-hook to fix RPM builds 2012-08-27 21:17:40 -04:00
Michael Rash
e8386dbe6c added encryption mode flags for each access stanza 2012-08-26 15:47:24 -04:00
Michael Rash
557cd6615b consolidatd fuzzing functions within a single 'fuzzer' function 2012-08-26 15:46:54 -04:00
Michael Rash
f4c16bc47f [server] Stronger IP validation based on a bug found by Fernando Arnaboldi from IOActive
This commit fixes a condition in which the server did not properly validate
allow IP addresses from malicious authenticated clients.  This has been fixed
with stronger allow IP validation.
2012-08-25 23:08:55 -04:00
Michael Rash
d46ba1c027 (Fernando Arnaboldi, IOActive) Found and fixed several DoS/code execution vulns for authenticated clients
- [server] Fernando Arnaboldi from IOActive found several DoS/code
execution vulnerabilities for malicious fwknop clients that manage to
get past the authentication stage (so a such a client must be in
possession of a valid access.conf encryption key).  These vulnerbilities
manifested themselves in the handling of malformed access requests, and
both the fwknopd server code along with libfko now perform stronger input
validation of access request data.  These vulnerabilities affect
pre-2.0.3 fwknop releases.
- [test suite] Added a new fuzzing capability to ensure proper server-side
input validation.  Fuzzing data is constructed with modified fwknop
client code that is designed to emulate malicious behavior.
2012-08-24 22:12:19 -04:00
Michael Rash
b0bf7f3699 minor paren's syntax bug fix 2012-08-18 16:30:34 -04:00
Michael Rash
6de386b937 updated ChangeLog.git file for the fwknop-2.0.2 release 2012-08-18 15:10:05 -04:00
Michael Rash
f7e84da340 fwknop-2.0.2 release 2012-08-18 15:03:04 -04:00
Michael Rash
38feb8d7b9 Better --resolve-url handling
Chop any trailing '/' char, be more careful about handling incoming large HTTP
responses, print the HTTP request and response in --verbose --verbose mode.
2012-08-17 21:02:24 -04:00
Michael Rash
760162a40a ipfw active/expire test bug fix (atoi() for config vars) 2012-08-16 22:30:09 -04:00