root/fwknop/tags/fwknop-0.9.8/ChangeLog

Revision 547, 15.3 kB (checked in by mbr, 3 years ago)

added ChangeLog?.svn file

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 fwknop-0.9.8 (09/17/2006):
2     - Added the ability to ignore old SPA packets through use of the
3       client-side time stamp.  This means that an attacker cannot intercept an
4       SPA packet, prevent it from being forwarded to its intended destination,
5       and then put the packet on the wire at some time outside of the allowed
6       time window.  There are two new configuration options in fwknop.conf
7       "ENABLE_SPA_PACKET_AGING" and "MAX_SPA_PACKET_AGE" that control the
8       length of the acceptable time window (2 minutes by default).  This
9       requires some level of synchronization between the fwknop client and the
10       fwknopd server, but this is not onerous through the use of NTP.  This
11       feature is enabled by default, and the idea for it was contributed by
12       Sebastien J.
13     - Completely re-worked IPTables::ChainMgr to support the return of
14       iptables error messages that are collected via stderr.  This is critical
15       to fixing any bugs where fwknopd could die as a result of a poorly
16       crafted iptables command.
17       but no information would be returned to the user.
18     - Added the ability to specify the position for both the jump rule into
19       the fwknopd chains as well as the position for new rules within the
20       fwknopd chains via the -I argument to iptables.  This fixes a bug where
21       the user was given the impression that the IPTABLES_AUTO_RULENUM would
22       accomplish this (IPTABLES_AUTO_RULENUM has been removed).
23     - Updated fwknopd to require < 1500 byte payload length before attempting
24       to decrypt.  Also, GnuPG decrypts are not attempted unless the encrypted
25       payload is at least 400 bytes long (this is conservative since even
26       encrypting a single byte with a 1024-bit key will result in about 340
27       bytes of encrypted data).
28     - Added the --gpg-default-key option to have fwknop use the default GnuPG
29       key that is defined in the ~/.gnupg/options file.
30     - Added the --URL command line argument so that a URL other than the
31       default http://www.whatismyip.com/ can be provided by the user for
32       external IP resolution (suggested by Sebastien J.).
33     - Updated to be more rigorous with md5 sums; we now require that the
34       md5_base64() function actually returns a non-null result.
35     - Bugfix to make sure that only the users associated with the a specific
36       REQUIRE_USERNAME value (in a specific SOURCE block in access.conf) are
37       granted the appropriate access even if a valid encrypted packet is
38       constructed from a different user name (by an fwknop client).
39     - Populated the _debug option in the IPTables::ChainMgr module, and also
40       added a _verbose option so that the specific iptables commands can
41       actually be seen as IPTables::ChainMgr functions are called.
42     - Added code to install.pl to update command paths in fwknop.conf and
43       knopwatchd.conf if any of the paths are broken (i.e. the local system
44       does not conform to the default paths).  By default this only happens if
45       the user does not want old configs to be merged, but to override this
46       use the new --path-update command line argument to install.pl.
47     - Added the --Skip-mod-install command line argument to install.pl to
48       allow all perl module installs to be skipped.
49     - Added the --force-mod-regex command line argument to install.pl to allow
50       a regex match on perl module names to force matching modules to be
51       installed.
52     - Minor bugfix to generate better (i.e. closer to those that Firefox
53       generates) http requests to http://www.whatismyip.com/).
54     - Adapted Mate Wierdl's RPM patch from the psad project so that the fwknop
55       RPM builds on x86_64 systems.
56     - Removed iptables requirement in RPM spec file because fwknop may be
57       installed on a system just to run the fwknop client.
58     - Updated to email username mismatch errors.
59     - Added ChangeLog.svn file so that svn log messages since the 0.9.7
60       release are included.
61
62 fwknop-0.9.7 (08/04/2006):
63     - Added fwknop_serv to function as minimal TCP server over which SPA
64       packets can be sent.  This allows SPA to be compatible with the Tor
65       network, which requires that a virtual circuit is established before
66       traffic can be sent.
67     - Updated to Crypt::CBC-2.18 after a vulnerability was discovered in
68       previous versions of Crypt::CBC that caused weak ciphertext to be
69       generated for algorithms that have blocksizes greater than 8 bytes (such
70       as Rijndael used by fwknop).  Manually specifying initialization vectors
71       is not necessary now.
72     - Updated SSH patch to support OpenSSH-4.3p2.
73     - Bugfix to make sure to create /var/* directories if they don't exist
74       (such as when /var is a tmpfs).
75     - Bugfix (Dwayne Rightler) to restore -w IP lookup functionality after
76       format change on data returned by whatismyip.com.
77     - Bugfix to wrap SPA Rijndael decryption with eval{} so that fwknopd does
78       not die if there are problems trying to decrypt data.  This is necessary
79       because of the security vulnerability fix in Crypt::CBC that creates
80       some incompatibilities in different versions of Crypt::CBC.
81     - Added "--L-host" command line argument so that the arguments used for
82       multiple hosts are preserved and can be recalled.
83     - Changed default user-agent setting for whatismyip.com lookups to
84       Firefox/1.0.5.4; there is no need to gratuitously advertise fwknop
85       traffic.
86     - Updated GunPG HOWTO to provide a step-by-step guide to getting fwknop
87       Single Packet Authorization working with GnuPG.
88     - Updated to derive perl module versions from the VERSION files within
89       each of the perl module source directories.
90
91 fwknop-0.9.6 (01/13/2006):
92     - Added GPG based authentication capability for SPA packets.  This new
93       mode can be configured to require that a GPG message be signed with a
94       particular key or set of keys.
95     - In GPG mode, the fwknop client now prints GPG errors to stdout if not
96       running with --gpg-no-batch-mode.
97     - Added the ability to require that the client know the UNIX crypt()
98       password associated with a username on the server side.  This
99       functionality is enabled on the fwknop client with the "--Server-auth
100       crypt" command line argument, and the REQUIRE_AUTH_METHOD variable in
101       /etc/fwknop/access.conf on the fwknopd server.
102     - Added patch against OpenSSH-4.2p1 to integrate SPA mode.  This patch
103       adds a "-K <fwknop cmd line>" argument to the SSH client so that
104       fwknop can be executed directly before an SSH connection is made.
105     - Separated server and client portions of fwknop into "fwknopd" and
106       fwknop repectively.  This will allow better portability to be
107       developed since the client and server pieces can be developed more
108       independently.  NOTE: With so many changes, it is probably a good idea
109       to not preserve old fwknop configs via install.pl.
110     - Renamed all relevant fwknopd command and file paths to support new
111       fwknopd server component.
112     - Added --quiet mode (this is used by default in the OpenSSH patch).
113     - Removed legacy port knocking installation in install.pl (fwknopfifo,
114       and fwdata file) unless the data collection mode is set to syslog or
115       syslog-ng for legacy Netfilter log messages.
116     - Added inode checking for PCAP_PKT_FILE. This helps to ensure that log
117       rotation schemes don't interfere with reading packets out of the file
118       since this check is size independent.
119     - Bugfix for Makefile debug mode.
120     - Added compilation check for perl programs in install.pl before
121       installation into the filesystem.
122     - Bugfix for knopwatchd to make sure it can actually restart all running
123       daemons properly.
124     - Added --force-mod command line argument to install.pl to allow the user
125       to force all perl modules to be be installed regardless of whether a
126       module exists in the system perl lib tree.
127     - Added --no-save-args to fwknop so that existing .fwknop.run file can
128       be preserved (helps to testing new features of fwknop client).
129     - Removed useless --encrypt command line argument (only the old shared
130       port knock sequences are not encrypted).
131
132 fwknop-0.9.5 (10/02/2005):
133     - Added the ability to resolve the external IP associated with the
134       local network via http://www.whatismyip.com.  This is a more secure
135       method of accomplishing what the -s option performs.  The new
136       command line option is --whatismyip (or just -w).
137     - Updated fwknop to communicate with knoptm via a UNIX domain socket
138       instead of the previous file-based communication.
139     - Updated to flush the fwknop Netfilter chains at start time.
140     - Bugfix for removing the wrong hash key in the knoptm IP cache.
141
142 fwknop-0.9.4 (09/17/2005):
143     - Bugfix for knoptm timing out new entries based on old time values
144       (this caused new rules to timed out too quickly).
145     - Added support for multiple users in REQUIRE_USERNAME keyword in
146       access.conf.
147     - Added the ability to display raw encrypted packet data in client
148       mode with --verbose.
149     - Created fwknop RPM for RPM-based Linux distributions.
150     - Bugfix for inappropriate redirects in command mode where the command
151       already contained a redirect.
152
153 fwknop-0.9.3 (08/27/2005):
154     - Added an on-disk cache of md5 sums so that the md5 sum check can
155       survive restarts of fwknop.
156     - Updated install.pl to be more friendly to Mac OS X (Blair Zajac).
157     - Updated to allow access.conf variables to have values instead of just
158       being defined.
159     - Started on additional server authentication mode code (re-worked MD5
160       sum calculation to allow packet format to be extended by taking into
161       account the fwknop version number).
162
163 fwknop-0.9.2 (08/06/2005):
164     - Added FILE_PCAP data collection method when running in server mode.
165       This is a more general way of getting packets than the ULOG_PCAP
166       mode since then a normal ethernet sniffer can be used to build the
167       file.
168     - Added the ability to re-open a pcap file if its size shrinks (i.e.
169       it gets rotated out or something).
170     - Bugfix for multiple rules with the same timestamp not being timed out
171       by knoptm.
172     - Integrated spoofing capability directly within fwknop (instead of
173       using the knopspoof command) through the use of "require Net::RawIP".
174     - Better multi-protocol support in server mode.  Tcp and icmp packets
175       are properly decoded now.
176
177 fwknop-0.9.1 (07/29/2005):
178     - Added the ability to specify multiple ports/protocols to access on a
179       server with the --Access command line option.
180     - Added the ability to spoof SPA packets over icmp and tcp protocols.
181     - Added the ability to restrict access at the server to only those
182       ports defined in the OPEN_PORTS keyword.  This option is controled by
183       a new keyword "PERMIT_CLIENT_PORTS".
184     - Bugfix for MD5 sum not being properly calculated over decrypted data.
185       This allowed old packets that contained additional garbage data to
186       be replayed against an fwknop server.
187     - Updated to fall back to getpwuid() if getlogin() fails (Blair Zajac).
188     - Added --ipt-list to list all current rules in the FWKNOP Netfilter
189       chains.
190     - Added --ipt-flush to flush all current rules in the FWKNOP Netfilter
191       chains.
192     - Bugfix for the installer dying if ~/lib already exists (Blair Zajac).
193     - Updated to delay the loading of server perl modules (Net::Pcap, etc.)
194       only if we are running in server mode.
195     - Bugfix for module directory paths in install.pl.
196
197 fwknop-0.9.0 (05/29/2005):
198     - Added new authorization mode that uses Net::Pcap to read packets
199       out of a file that is written to by the ulogd pcap writer (also
200       stubbed in code to sniff packets directly off the wire).  This
201       authorization mode only requires single packets, and has many
202       characteristics that are better than simple port knocking, including
203       being non-replayable, and much more data can be sent.  This mode
204       is now the default for both the server and the client.
205     - Made the execution of knopmd optional depending on whether AUTH_MODE
206       is a pcap mode (e.g. ULOG_PCAP or PCAP).
207     - Added --Spoof-src argument so that encrypted packets can be spoofed
208       via /usr/sbin/knopspoof.
209     - Added /usr/sbin/knoptm so that firewall rules can be timed-out when
210       the server is running in PCAP mode even if new packets don't appear
211       on the wire.
212     - Updated fwknop man page to talk about the new pcap-based
213       authorization mode.
214
215 fwknop-0.5.0 (03/19/2005):
216     - Added ALERTING_METHOD to allow syslog and/or email reporting to be
217       disabled (there is a dedicated file /etc/fwknop/alert.conf that
218       governs this behavior, and both fwknop and knopwatchd reference this
219       file).
220     - Bugfix for distinguishing OPT field associated with --log-tcp-options
221       vs. --log-ip-options.
222     - Added install_perl_module() install.pl from psad to provide a
223       consistent installation interface.
224     - Applied patch to only install perl modules that are not already
225       installed (Blair Zajac).
226     - Added --last-cmd option to allow fwknop to be executed with command
227       line arguments from the previous execution (they are saved in
228       ~/.fwknop.run).
229     - Added --Home-dir option to allow the home directory to be manually
230       specified.
231     - Re-worked get_homedir() to be more friendly to systems that do not
232       necessarily have /etc/passwd (e.g. OS X).
233     - Added configuration preservation and querying for which syslog
234       daemon is running to install.pl.  These features were adapted from the
235       psad installer (http://www.cipherdyne.org/psad).
236     - Added IPTables::ChainMgr.  Fwknop uses this module to maintain
237       dedicated chains to which access rules are added.
238     - Added IPTables::Parse, which is used internally by IPTables::ChainMgr.
239     - Added __WARN__ and __DIE__ handlers so errors can easily be collected.
240
241 fwknop-0.4.2 (09/27/2004):
242     - Added init script for Fedora systems.
243     - Added --Kill, --Restart, and --Status modes (this fixes the generic
244       init script which depends on these arguments).
245
246 fwknop-0.4.1 (09/14/2004):
247     - Bugfix for legacy posf code in fwknop and variable in fwknop.conf.
248
249 fwknop-0.4 (09/10/2004):
250     - Added ability to specify multiple IPs/networks in a single SOURCE
251       definition.
252     - Better examples section in the fwknop manpage.
253     - Bugfix to make sure EMAIL_ADDRESSES variable does not contain commas
254       (any commas are translated into spaces).
255     - Added LICENSE file.
256
257 fwknop-0.3 (08/21/2004):
258     - Bugfix for tracking knock sequences by source IP address.
259     - Bugfix for knock sequence timeouts.
260     - Removed old passive OS fingerprinting code in favor of the p0f
261       strategy.
262     - Added support for taking encryption keys from a file specified on
263       the command line.
264     - Update to send "sequence decrypt failed" email message only if
265       decryption failed for all encrypt sequence SOURCE blocks.
266
267 fwknop-0.2 (07/31/2004):
268     - Implemented remote username checking in encrypted sequences.
269     - Added support for icmp in knock sequences.
270     - Added protocol rotation option for encrypted sequences.
271     - Added code for multiple SOURCE access blocks with the same source
272       net/IP.
273     - Added KNOCK_LIMIT access control variable to limit the number of
274       times a particular knock sequence is honored.
275     - Added email alerts.
276
277 fwknop-0.1 (07/08/2004):
278     - Initial release.
Note: See TracBrowser for help on using the browser.