| 1 | fwknop-1.9.5 (06/08/2008): |
|---|
| 2 | - Updated to Class::MethodMaker 2.11 from CPAN. This helps with systems |
|---|
| 3 | running perl-5.10.0 and greater (such as Fedora 9). |
|---|
| 4 | - Added the LOCALE variable to fwknop.conf and made the "C" locale set by |
|---|
| 5 | default so that gpg process output would always be correctly |
|---|
| 6 | interpreted. |
|---|
| 7 | - Updated to Net::RawIP 0.23 from 0.21_03 and removed List::MoreUtils |
|---|
| 8 | since Net::RawIP no longer requires it |
|---|
| 9 | - Updated to Crypt::Rijndael 1.06 from 1.04. |
|---|
| 10 | - Updated to Crypt::CBC 2.29 from 2.19. |
|---|
| 11 | - Updated to GnuPG::Interface 0.36 from 0.34. |
|---|
| 12 | - Removed legacy knopmd.conf file since knopmd uses the fwknop.conf file |
|---|
| 13 | instead. Also, note that knopmd only runs in the legacy port knocking |
|---|
| 14 | mode to collect iptables log information from syslog. The default |
|---|
| 15 | authentication/authorization method used by fwknop is SPA which exhibits |
|---|
| 16 | far better security properties than port knocking (see |
|---|
| 17 | http://www.cipherdyne.org/fwknop/docs/SPA.html). |
|---|
| 18 | |
|---|
| 19 | fwknop-1.9.4 (06/01/2008): |
|---|
| 20 | - Added two new port randomization options. The first instructs the |
|---|
| 21 | fwknop client to select a random port between 10,000 and 65,535 as the |
|---|
| 22 | destination port over which to send an SPA packet. This feature is |
|---|
| 23 | enabled with a new command line argument "--rand-port" like so: |
|---|
| 24 | |
|---|
| 25 | $ fwknop -A tcp/22 --rand-port -R -D 11.1.1.1 |
|---|
| 26 | |
|---|
| 27 | On the fwknopd server side, the default PCAP_FILTER setting of "udp port |
|---|
| 28 | 62201" should be changed to "udp dst portrange 10000-65535" so that |
|---|
| 29 | fwknopd can sniff SPA packets that are sent over randomized destination |
|---|
| 30 | ports. Randomizing the destination port makes it more difficult to |
|---|
| 31 | write IDS signatures to detect fwknop SPA communications. |
|---|
| 32 | |
|---|
| 33 | The second port randomization technique uses a new SPA message type to |
|---|
| 34 | tell the fwknopd daemon to create a NAT rule for access to a local |
|---|
| 35 | socket via the iptables INPUT chain. This allows an SSH client to meet |
|---|
| 36 | the local SSHD daemon running on the fwknopd server system by SSH'ing to |
|---|
| 37 | the random port. This functionality is implemented via two new command |
|---|
| 38 | line arguments on the fwknop client command line: "--NAT-rand-port" to |
|---|
| 39 | instruct fwknop to select a random port over which the follow-on |
|---|
| 40 | connection will be made), and "--NAT-local" (to instruct the fwknopd |
|---|
| 41 | server that new firewall rules should NAT an incoming connection to the |
|---|
| 42 | randomly selected port). Here is an example: |
|---|
| 43 | |
|---|
| 44 | $ fwknop -A tcp/22 --NAT-rand-port --NAT-local -R -D 11.1.1.1 |
|---|
| 45 | |
|---|
| 46 | Now the fwknop client will select a random port to NAT the incoming |
|---|
| 47 | connection. So say it selects port 31001 (as indicated by the output of |
|---|
| 48 | fwknop on the command line as displayed below) - then you would SSH to |
|---|
| 49 | this port to access the real SSH daemon on the system where fwknopd is |
|---|
| 50 | running: |
|---|
| 51 | |
|---|
| 52 | [+] Sending 206 byte message to 127.0.0.1 over udp/46245... |
|---|
| 53 | Requesting NAT access to tcp/22 on 127.0.0.1 via port 31001 |
|---|
| 54 | |
|---|
| 55 | $ ssh -p 31001 <user>@11.1.1.1 |
|---|
| 56 | |
|---|
| 57 | Note that in this case it is not necessary to use --NAT-access since the |
|---|
| 58 | fwknopd daemon knows that access is requested to a local service (so an |
|---|
| 59 | internal IP address does not have to be specified). |
|---|
| 60 | |
|---|
| 61 | - Added the ability to specify the port that SPA packets are sent over |
|---|
| 62 | with the fwknop client by using the syntax "<host|IP>:<port>". So, for |
|---|
| 63 | example, to have the client send an SPA packet to 11.1.1.1 over UDP port |
|---|
| 64 | 12345 (instead of the default of 62201), one could use the following |
|---|
| 65 | command: |
|---|
| 66 | |
|---|
| 67 | $ fwknop -A tcp/22 -R -D 11.1.1.1:12345 |
|---|
| 68 | |
|---|
| 69 | - Bugfix to add a check for "keep-state" in ipfw policies in addition to |
|---|
| 70 | the existing "check-state" check (noticed by Sebastien Jeanquier). |
|---|
| 71 | - Updated the install.pl script to try to determine the OS type as early |
|---|
| 72 | as possible during the install process. |
|---|
| 73 | - Added the MIN_SPA_PKT_LEN variable with 150 (bytes) as the default. |
|---|
| 74 | This allows fwknopd to ignore packets that are not at least this many |
|---|
| 75 | bytes (including packet headers) before any decryption attempt is made. |
|---|
| 76 | - Added --time-offset-plus and --time-offset-minus args to the fwknop |
|---|
| 77 | client command line. This allows the time stamp within an SPA packet to |
|---|
| 78 | be influenced without setting the system clock (which normal users |
|---|
| 79 | cannot usually do). This is useful for when the client and server |
|---|
| 80 | systems have clocks that are out of sync. |
|---|
| 81 | - Bugfix on Ubuntu systems to make sure that the fwknop init script is |
|---|
| 82 | installed with a priority of 99 instead of 20 - this puts fwknop as late |
|---|
| 83 | as possible within the boot sequence so that the system is ready to run |
|---|
| 84 | fwknop. |
|---|
| 85 | - Bugfix to not open ports that are not specifically requested in an SPA |
|---|
| 86 | packet even if those ports are listed in the OPEN_PORTS variable in the |
|---|
| 87 | access.conf file. |
|---|
| 88 | - Updated to version 5.47 of the Digest::SHA module. |
|---|
| 89 | - Updated to version 0.7 of the IPTables::ChainMgr module (includes |
|---|
| 90 | perldoc documentation). |
|---|
| 91 | - Updated to version 0.6 of the IPTables::Parse module (includes perldoc |
|---|
| 92 | documentation). |
|---|
| 93 | - Added NAT, port randomization, and and time offset option discussions to |
|---|
| 94 | fwknop(8) man page. |
|---|
| 95 | |
|---|
| 96 | fwknop-1.9.3 (04/05/2008): |
|---|
| 97 | - Added MASQUERADE and SNAT support to complement inbound DNAT connections |
|---|
| 98 | for SPA packets that request --Forward-access to internal systems. This |
|---|
| 99 | functionality is only enabled when both ENABLE_IPT_FORWARDING and |
|---|
| 100 | ENABLE_IPT_SNAT are set, and is configured by two new variables |
|---|
| 101 | IPT_MASQUERADE_ACCESS and IPT_SNAT_ACCESS which define the iptables |
|---|
| 102 | interface to creating SNAT rules. The SNAT supplements of DNAT rules |
|---|
| 103 | are not usually necessary because internal systems usually have a route |
|---|
| 104 | back out to the Internet, but this feature accommodates those systems |
|---|
| 105 | that do not have such a route. By default, the MASQUERADE target is |
|---|
| 106 | used if ENABLE_IPT_SNAT is enabled because this means that the external |
|---|
| 107 | IP does not have to be manually defined. However, the external IP can |
|---|
| 108 | be defined by the SNAT_TRANSLATE_IP variable. |
|---|
| 109 | - Added hex_dump() feature for fwknop client so that raw encrypted SPA |
|---|
| 110 | packet data can be displayed in --verbose mode. |
|---|
| 111 | - When ENABLE_IPT_FORWARDING is set, added a check for the value of the |
|---|
| 112 | /proc/sys/net/ipv4/ip_forward file to ensure that the local system |
|---|
| 113 | allows packets to be forwarded. Unless ENABLE_PROC_IP_FORWARD is |
|---|
| 114 | disabled, then fwknopd will automatically set the ip_forward file to "1" |
|---|
| 115 | if it is set to "0" (again, only if ENABLE_IPT_FORWARDING is enabled). |
|---|
| 116 | - Minor bugfix to remove sys_log() call in legacy port knocking mode. |
|---|
| 117 | - Minor bugfix to expand both the Id and Revision tags via the |
|---|
| 118 | svn:keywords directive. |
|---|
| 119 | |
|---|
| 120 | fwknop-1.9.2 (03/12/2008): |
|---|
| 121 | - Crypt::CBC adds the string "Salted__" to the beginning of the encrypted |
|---|
| 122 | text (at least for how fwknop interfaces with Crypt::CBC), so the fwknop |
|---|
| 123 | client was updated to delete the encoded version of this string |
|---|
| 124 | "U2FsdGVkX1" before sending a Rijndael-encrypted SPA packet on the wire. |
|---|
| 125 | The fwknopd server will add this string back in before decrypting. This |
|---|
| 126 | makes it harder to write an IDS signature that looks for fwknop traffic; |
|---|
| 127 | e.g. look for the default prefix string "U2FsdGVkX1" over UDP port 62201, |
|---|
| 128 | which would work for fwknop clients < 1.9.2 (as long as the port number |
|---|
| 129 | is not changed with --Server-port). |
|---|
| 130 | - Added more granular source IP and allowed IP tests so that access to |
|---|
| 131 | particular internal IP addresses can be excluded in --Forward-access |
|---|
| 132 | mode. A new keyword "INTERNAL_NET_ACCESS" is now parsed from the |
|---|
| 133 | access.conf file in order to implemented these restrictions. |
|---|
| 134 | - (SPAPICT Group) Added BLACKLIST functionality to allow source IP |
|---|
| 135 | addresses to easily be excluded from the authentication process. |
|---|
| 136 | - (Grant Ferley) Submitted patch to handle SIGCHLD in IPTables::ChainMgr. |
|---|
| 137 | - (Grant Ferley) Submitted patch to handle Linux "cooked" interfaces for |
|---|
| 138 | packet capture (e.g. PPPoE interfaces). |
|---|
| 139 | - (SPAPICT Group) Applied modified version of the client-defined access |
|---|
| 140 | timeout patches submitted by the PICT SPA Group. There are two new |
|---|
| 141 | message types to facilitate client timeouts; one for normal access mode, |
|---|
| 142 | and the other for the FORWARD access mode. In the access.conf file, |
|---|
| 143 | there is also a new variable "PERMIT_CLIENT_TIMEOUT" to allow each |
|---|
| 144 | SOURCE stanza to allow client-defined timeouts or not. |
|---|
| 145 | - (SPAPICT Group) Submitted patches to include support for the SHA1 digest |
|---|
| 146 | algorithm for SPA packet replay attack detection. I modified these |
|---|
| 147 | patches for maximum configurability (see the --digest-alg argument on |
|---|
| 148 | the fwknop command line), and the ability to use the SHA256 algorithm as |
|---|
| 149 | well. The default path to the /var/log/fwknop/md5sums file has been |
|---|
| 150 | changed to /var/log/fwknop/digest.cache, and the default digest |
|---|
| 151 | algorithm is now SHA256 (but this is tunable via the DIGEST_TYPE |
|---|
| 152 | variable in the fwknop.conf file). |
|---|
| 153 | - Added the Digest::SHA perl module in support of the SHA1 and SHA256 |
|---|
| 154 | digest algorithms for replay attack detection and SPA message integrity. |
|---|
| 155 | - Added full packet hex dumps (including packet headers) to fwknopd in |
|---|
| 156 | --debug --verbose mode. This is to help diagnose packet sniffing issues |
|---|
| 157 | over the loopback interface on Mac OS X (first reported by Sebastien |
|---|
| 158 | Jeanquier). |
|---|
| 159 | - (Test suite) Bugfix to ensure that the FWKNOP_DIR variable is set to the |
|---|
| 160 | local output/ directory in several of the test config files in the |
|---|
| 161 | test/conf/ directory. |
|---|
| 162 | - (Test suite) Added several tests for configurable digest algorithms in |
|---|
| 163 | support for the SHA256, SHA1, and MD5 digest changes made by the SPAPICT |
|---|
| 164 | Group. |
|---|
| 165 | - Updated the fwknop client to always call encode_base64() with the string |
|---|
| 166 | to encode along with a second null-string argument to force all encoded |
|---|
| 167 | data to not include line breaks. |
|---|
| 168 | - Bugfix in install.pl to not test for the iptable command on non-Linux |
|---|
| 169 | systems, and to not test for the ipfw command on systems that are Linux. |
|---|
| 170 | - (Test suite) Updated to include the /proc/config.gz file so that the |
|---|
| 171 | kernel config can be reviewed (not all Netfilter hooks are necessarily |
|---|
| 172 | compiled in). |
|---|
| 173 | |
|---|
| 174 | fwknop-1.9.1 (01/26/2008): |
|---|
| 175 | - Added ENABLE_OUTPUT_ACCESS keyword to access.conf file parsing. This |
|---|
| 176 | provides a similar configuration gate for the iptables OUTPUT chain to |
|---|
| 177 | the ENABLE_FORWARD_ACCESS keyword, and adds the abiliy to control which |
|---|
| 178 | access.conf SOURCE blocks interface to the OUTPUT chain. |
|---|
| 179 | - Better installation support for various Linux distributions including |
|---|
| 180 | Fedora 8 and Ubuntu. The current runlevel is now acquired via the |
|---|
| 181 | "runlevel" command instead of attempting to read /etc/inittab (which |
|---|
| 182 | does not even exist on Ubuntu 7.10), and there are new command line |
|---|
| 183 | arguments --init-dir, --init-name, and --runlevel to allow the init |
|---|
| 184 | directory, init script name, and the runlevel to be manually specified |
|---|
| 185 | on the install.pl command line. |
|---|
| 186 | - Added command line argument display to fwknop client --verbose mode. |
|---|
| 187 | - Updated the test suite to include OUTPUT chain tests, reference |
|---|
| 188 | access.conf files in the test/conf/ directory, and perform SPA packet |
|---|
| 189 | format validation tests by parsing fwknopd output. |
|---|
| 190 | - Updated fwknopd to use always use the -c argument on the knoptm command |
|---|
| 191 | line (this makes sure that the test suite usage of fwknopd causes knoptm |
|---|
| 192 | to reference the correct configuration). |
|---|
| 193 | - Updated IPTables::ChainMgr to print iptables command output to stdout or |
|---|
| 194 | stderr if running in debug or verbose mode. |
|---|
| 195 | - Added --Exclude-mod-regex to install.pl so that the installation of |
|---|
| 196 | particular perl modules that match the supplied regex can be skipped. |
|---|
| 197 | - Added SIGALRM wrapper to the test suite since some libpcap and system |
|---|
| 198 | combinations break the ability of fwknopd to sniff packets. |
|---|
| 199 | - Added srand() call to the fwknop client (this is useful for older |
|---|
| 200 | versions of perl which do not automatically call srand() at the first |
|---|
| 201 | rand() call if srand() was not already called). |
|---|
| 202 | - Added a test to the test suite for sniffing packets over the loopback |
|---|
| 203 | interface. |
|---|
| 204 | - Added SPA packet aging test to the test suite to ensure that packet |
|---|
| 205 | expirations work properly (this feature protects against MITM attacks |
|---|
| 206 | where a valid SPA packet is stopped by an inline attacker and |
|---|
| 207 | retransmitted at a later time to acquire access). |
|---|
| 208 | - Added a file (test.log) to collect test suite console output. |
|---|
| 209 | - Added --Prepare-results argument to test suite to anonymize test results |
|---|
| 210 | and create a tarball that can be emailed to a third party to assist in |
|---|
| 211 | - Added full firewall policy dumps and the collection of system specifics |
|---|
| 212 | to the test suite. This makes it easy to send the output directory and |
|---|
| 213 | the test.log file to developers to assist in debugging (no information |
|---|
| 214 | is sent anywhere except as part of a manual process of course, and |
|---|
| 215 | addresses can be anonymized with --Prepare-results - loopback addresses |
|---|
| 216 | are not modified). |
|---|
| 217 | - Added --fw-del-ip <IP> argument to fwknopd so that a specific IP address |
|---|
| 218 | can be removed from the local firewall policy (this is used by the test |
|---|
| 219 | suite to ensure that if a test for removed firewall rules fails then |
|---|
| 220 | subsequent tests will not also fail because they are no longer tracked |
|---|
| 221 | by a running knoptm instance). |
|---|
| 222 | - Added a test to the test suite to collect fwknopd syslog output. This |
|---|
| 223 | is useful to see if a mechanism such as SELinux is deployed in a manner |
|---|
| 224 | that prevents normal fwknop communications. |
|---|
| 225 | - Bugfix to track MD5 digest for SPA command mode packets. |
|---|
| 226 | - Bugfix in fwknopd to not open ports listed in OPEN_PORTS in the absence |
|---|
| 227 | of the PERMIT_CLIENT_PORTS directive when an SPA packet contains a |
|---|
| 228 | request for access to a port not listed in OPEN_PORTS. |
|---|
| 229 | debugging fwknop if there are any issues. |
|---|
| 230 | - Added --verbose flag to fwknopd commands issued by the test suite so |
|---|
| 231 | that more data is collected for debugging analysis. |
|---|
| 232 | - Added GnuPG tests to the test suite with dedicated keys (for use only |
|---|
| 233 | with the test suite) in the test/conf/client-gpg and |
|---|
| 234 | test/conf/server-gpg directories. |
|---|
| 235 | - Added digest file validation to test suite to make sure that fwknopd |
|---|
| 236 | correctly tracks SPA packet MD5 digests. |
|---|
| 237 | - Updated to search state tracking rule in any iptables chain (many |
|---|
| 238 | iptables policies have user-defined chains that can be a bit complicated |
|---|
| 239 | to parse). |
|---|
| 240 | - Updated install.pl to be more strict in stopping any running fwknopd |
|---|
| 241 | processes. |
|---|
| 242 | |
|---|
| 243 | fwknop-1.9.0 (12/15/2007): |
|---|
| 244 | - Added a test suite so that fwknop and fwknopd functionality can be |
|---|
| 245 | automatically tested over the loopback interface (see the fwknop_test.pl |
|---|
| 246 | script in the test/ directory). |
|---|
| 247 | - Major update to allow SPA packets to create DNAT connections to internal |
|---|
| 248 | systems through the FORWARD chain (iptables only). This is useful to |
|---|
| 249 | connect through to internal systems (that may be running on non-routable |
|---|
| 250 | IP addresses) via a border firewall or router that is running fwknopd to |
|---|
| 251 | create inbound DNAT rules. |
|---|
| 252 | - Added support for the iptables OUTPUT chain via two new variable in the |
|---|
| 253 | fwknop.conf file: ENABLE_IPT_OUTPUT and IPT_OUTPUT_ACCESS. This is |
|---|
| 254 | useful for iptables firewalls that are not running the conntrack modules |
|---|
| 255 | and that have a restrictive OUTPUT chain (so SYN/ACK responses are not |
|---|
| 256 | allowed out without an explicit ACCEPT rule). |
|---|
| 257 | - Added the ability to force the fwknopd and knoptm daemons to restart |
|---|
| 258 | themselves (via knopwatchd) after a configurable timeout (see the |
|---|
| 259 | ENABLE_VOLUNTARY_EXITS and EXIT_INTERVAL variables in the |
|---|
| 260 | /etc/fwknop/fwknop.conf file). This feature is for those that want |
|---|
| 261 | fwknopd to go through its initialization routine periodically just in |
|---|
| 262 | case there is a logic (or other) bug that might result in fwknopd not |
|---|
| 263 | accepting a valid SPA packet. NOTE: This feature is disabled by default, |
|---|
| 264 | and is not normally needed since fwknopd is quite stable in most |
|---|
| 265 | deployments. |
|---|
| 266 | - Major update to perform all firewall rule expirations with knoptm, which |
|---|
| 267 | is now started in all data collection modes. Older versions of fwknopd |
|---|
| 268 | maintained its own firewall rule expiration code for the FILE_PCAP, |
|---|
| 269 | ULOG_PCAP, and KNOCK modes, so two mechanisms were being maintained for |
|---|
| 270 | the same purpose. The 1.9.0 release fixes this oversight. |
|---|
| 271 | - Minor bugfix to have knopwatchd generate syslog messages whenever an |
|---|
| 272 | fwknop daemon needs to be restarted. |
|---|
| 273 | - Added --interface command line argument to install.pl to allow the |
|---|
| 274 | sniffing interface to be specified from the command line. Also updated |
|---|
| 275 | install.pl to enforce a 10-try maximum for attempting to accept a valid |
|---|
| 276 | interface name from the command line (LANG env issues can exist |
|---|
| 277 | sometimes). |
|---|
| 278 | - Updated SPA packet format for server_auth and forward_info elements; |
|---|
| 279 | the internal MD5 sum is now always the last field in an SPA packet. This |
|---|
| 280 | makes extensions of the SPA protocol much easier, and the generation of |
|---|
| 281 | SPA packets more elegant. Also, SPA packet validation has been improved |
|---|
| 282 | to ensure that fields that are supposed to be digits really only contain |
|---|
| 283 | integer data. |
|---|
| 284 | - Added ENABLE_FORWARD_ACCESS variable to the access.conf file, and added |
|---|
| 285 | ENABLE_IPT_FORWARDING to the fwknop.conf file. These variables provide |
|---|
| 286 | the per-SOURCE ability to create DNAT connnections through the FORWARD |
|---|
| 287 | chain.. |
|---|
| 288 | - Replaced the IPT_AUTO_CHAIN1 variable with IPT_INPUT_ACCESS and |
|---|
| 289 | IPT_FORWARD_ACCESS in fwknop.conf. |
|---|
| 290 | - Added --Forward-access argument to the fwknop client. |
|---|
| 291 | - Added client version number to syslog messages generated by fwknopd when |
|---|
| 292 | a valid SPA packet is received. |
|---|
| 293 | - Added human readable timestamp to MD5 cache. Here is an example of the |
|---|
| 294 | update format: |
|---|
| 295 | 127.0.0.1 X6WF2C29kEgAv4aDJ8TDeQ [Wed Nov 28 09:24:46 2007] |
|---|
| 296 | - Added --Count argument to fwknopd so that it calls exit() when the |
|---|
| 297 | specified number of packets is monitored. |
|---|
| 298 | - Added --no-logs argument to knoptm in support of the test suite so that |
|---|
| 299 | no emails are generated. |
|---|
| 300 | - Bugfix in fwknopd to account for non-Ethernet link layer header over |
|---|
| 301 | *BSD loopback interfaces. |
|---|
| 302 | - Added --Save-dst argument to the fwknop client to add a priority file to |
|---|
| 303 | store client command line arguments (~/.fwknop.save). This file is only |
|---|
| 304 | overwritten when --Save-dst is used. |
|---|
| 305 | - Added fwknopd --fw-del-chains to allow the fwknopd iptables chains to |
|---|
| 306 | easily be deleted. |
|---|
| 307 | - Minor fwknopd bugfix to set process exit status to 0 when --Kill is |
|---|
| 308 | used. |
|---|
| 309 | |
|---|
| 310 | fwknop-1.8.3 (11/17/2007): |
|---|
| 311 | - Updated external IP resolution to point to http://www.whatismyip.org, |
|---|
| 312 | and added http://www.cipherdyne.org/cgi/clientip.cgi as a backup site |
|---|
| 313 | for fwknop IP resolution. |
|---|
| 314 | - Added storage of source IP along with SPA MD5 sum. This allows the user |
|---|
| 315 | to infer which networks are more hostile if an SPA packet is replayed. |
|---|
| 316 | - Added SPA packet hex dumps in 'fwknopd --debug' mode so that the |
|---|
| 317 | integration of third-party encryption algorithms is easier to |
|---|
| 318 | troubleshoot. Sean Greven contributed a patch for this. |
|---|
| 319 | - Reinstated the legacy port knocking mode. It appears that all encrypted |
|---|
| 320 | output from the updated Crypt::Rijndael module is at least 32 bytes |
|---|
| 321 | long, so port knocking sequences are now 32 bytes long as well (they |
|---|
| 322 | were previously 16 bytes long in old versions of fwknop). |
|---|
| 323 | - Bugfix to ensure the key length is at least 8 chars in --get-key mode. |
|---|
| 324 | - Minor update to remove init message on OS X install. |
|---|
| 325 | - Updated install.pl to set the LANG environmental variable to |
|---|
| 326 | "en_US.UTF-8". This should fix the problem where the output of ifconfig |
|---|
| 327 | was not interpreted correctly if the locale LANG setting is not English. |
|---|
| 328 | - Implemented verbose email alerting by setting the ALERTING_METHODS |
|---|
| 329 | variable to "verbose". This instructs fwknopd to generate a new email |
|---|
| 330 | message for each message that it normally logs vis syslog (this feature |
|---|
| 331 | is not the default, and must be manually enabled). |
|---|
| 332 | |
|---|
| 333 | fwknop-1.8.2 (09/15/2007): |
|---|
| 334 | - Added fwknopd server support for Mac OS X. The Darwin uname return |
|---|
| 335 | string is detected and this enables Darwin-specific installation code in |
|---|
| 336 | install.pl. |
|---|
| 337 | - Updated to not print sensitive key/password information in --debug mode |
|---|
| 338 | with fwknopd. |
|---|
| 339 | - Bugfix for install.pl on Windows 2003 Server running under Cygwin where |
|---|
| 340 | 'uname -o' output is reported 'Gygwin' for some reason. |
|---|
| 341 | - Added --Cygwin-install command line argument to install.pl to force |
|---|
| 342 | client-only fwknop install on Cygwin systems. |
|---|
| 343 | - Added --OS-type command line argument to install.pl to allow the user to |
|---|
| 344 | force the installation type. |
|---|
| 345 | - Updated to version 1.04 of Crypt::Rijndael. This fixes incompatibilities |
|---|
| 346 | between SPA packets between 64-bit and 32-bit platorms. |
|---|
| 347 | - Bugfix to enforce a maximum of 20 tries to read a password from stdin. |
|---|
| 348 | - Applied TCP options parsing fix from psad for invalid zero or one length |
|---|
| 349 | fields that break TLV encoding (this is for fwknopd, and only applies to |
|---|
| 350 | the legacy port knocking mode). |
|---|
| 351 | - Added code to fwknopd to check to see if there are any state tracking |
|---|
| 352 | rules in place within the local iptables or ipfw policy. |
|---|
| 353 | - Made syslog identity, facility, and priority configurable (applied code |
|---|
| 354 | from the psad project). |
|---|
| 355 | - Implemented --fw-list for ipfw firewalls. |
|---|
| 356 | - Bugfix for knoptm removing ipfw rules too quickly after not timing out |
|---|
| 357 | previously instantiated rules properly. |
|---|
| 358 | - Implemented smarter cache removal strategy in knoptm so that rules that |
|---|
| 359 | are manually removed from the running iptables or ipfw policy are also |
|---|
| 360 | removed from the cache. |
|---|
| 361 | - Added /var/log/fwknop/errs/fwknopd.{warn,die} tracking to the fwknopd |
|---|
| 362 | daemon for the PCAP modes of collecting packet data. Added |
|---|
| 363 | knoptm{warn,die} files for knoptm as well. |
|---|
| 364 | - Bugfix to import the GnuPG::Interface module in --get-key mode. |
|---|
| 365 | - Bugfix to send source IP as a part of the command message in command |
|---|
| 366 | mode so that REQUIRE_SOURCE_ADDRESS controls can be applied. |
|---|
| 367 | - Added --Test-mode to fwknop client so that SPA packets can be built but |
|---|
| 368 | never sent over the network. |
|---|
| 369 | |
|---|
| 370 | fwknop-1.8.1 (06/06/2007): |
|---|
| 371 | - Bugfix to ensure that the "keep-state" directive is added to firewall |
|---|
| 372 | rules on systems running the ipfw firewall. |
|---|
| 373 | - Added the --Save-packet and --Save-packet-file command line arguments |
|---|
| 374 | to the fwknop client. These options instruct fwknop to save a copy of |
|---|
| 375 | an encrypted SPA packet before it is sent across the network. |
|---|
| 376 | - Bugfix to find minimal unused ipfw rule number for ipfw firewalls. This |
|---|
| 377 | fixes an issue where ipfw rules added by fwknopd could be inserted at |
|---|
| 378 | the same position as rules from an existing ipfw policy. While ipfw |
|---|
| 379 | allows duplicate rules, whenever such a rule is deleted by its rule |
|---|
| 380 | number all matching rules are deleted. |
|---|
| 381 | |
|---|
| 382 | fwknop-1.8 (06/03/2007): |
|---|
| 383 | - Added support for ipfw firewalls (found on *BSD systems). The |
|---|
| 384 | IPTables::Parse and IPTables::ChainMgr modules are not installed on |
|---|
| 385 | such systems. |
|---|
| 386 | - Added gpg-agent support for both the fwknop client and fwknopd SPA |
|---|
| 387 | server. |
|---|
| 388 | - Updated client-only installation mode to restrict perl module |
|---|
| 389 | installation to those module that are actually required by the fwknop |
|---|
| 390 | client. This results in clean installs of the fwknop client on Windows |
|---|
| 391 | systems running Cygwin. |
|---|
| 392 | - Added --Defaults to install.pl so that fwknop can be installed without |
|---|
| 393 | prompting the user to answer any questions. This is to make it easier |
|---|
| 394 | to install fwknop on the Source Mage Linux distro. |
|---|
| 395 | - Consolidated daemon config files into the fwknop.conf file (except for |
|---|
| 396 | the access.conf file). This simplifies the configuration of fwknop. |
|---|
| 397 | - Added recursive variable resolution in the parsing routines for the |
|---|
| 398 | fwknop.conf file. This allows variable values to contain embedded |
|---|
| 399 | variables. |
|---|
| 400 | - Added init script for FreeBSD systems. |
|---|
| 401 | - Added --BSD-install command line argument to install.pl. This is not |
|---|
| 402 | normally necessary since the installer should detect installations on |
|---|
| 403 | *BSD systems, but this option can force this behavior. |
|---|
| 404 | - Updated knopmd and knopwatchd to use safe_malloc() instead of malloc(). |
|---|
| 405 | - Bugfix to never time out rules from SOURCE blocks with FW_ACCESS_TIMEOUT |
|---|
| 406 | set to zero |
|---|
| 407 | |
|---|
| 408 | fwknop-1.0.1 (01/09/2007): |
|---|
| 409 | - Updated fwknopd to allow the GPG_REMOTE_ID variable to have the value |
|---|
| 410 | "ANY" to allow a SOURCE block to match on arbitrary remote gpg signing |
|---|
| 411 | keys (Leland Weathers). |
|---|
| 412 | - Bugfix to allow OPEN_PORTS to be omitted in access.conf in favor of |
|---|
| 413 | having only PERMIT_CLIENT_PORTS enabled (reported by Raul Siles). |
|---|
| 414 | - Added the cd_rpmbuilder script to make it easy to build RPM's out of |
|---|
| 415 | CipherDyne projects by automatically downloading the project .tar.gz and |
|---|
| 416 | .spec files from http://www.cipherdyne.org/. |
|---|
| 417 | |
|---|
| 418 | fwknop-1.0 (11/05/2006): |
|---|
| 419 | - Bugfix for OpenSSH-4.3p2 patch to make sure to include the spa.h header |
|---|
| 420 | file. |
|---|
| 421 | - Bugfix for access hashes accumluating when multiple ports are requested |
|---|
| 422 | to be opened by a client. |
|---|
| 423 | - Better validation of IPT_AUTO_CHAIN variable so that the from_chain |
|---|
| 424 | cannot be identical to the to_chain. |
|---|
| 425 | - Bugfix in RPM to install List::MoreUtils. |
|---|
| 426 | - Bugfix so that the MD5 sum for an SPA packet is not examined for each |
|---|
| 427 | SOURCE block. This fixes a problem where an SPA packet could appear to |
|---|
| 428 | be replayed if multiple SOURCE blocks are defined in |
|---|
| 429 | /etc/fwknop/access.conf. |
|---|
| 430 | - Refactored main SPA access loop so that it is clearer how and when SPA |
|---|
| 431 | clients are granted access. |
|---|
| 432 | - Better handling of GnuPG key identifier strings (they can now contain |
|---|
| 433 | spaces, and syslog messages wrap the identifiers with double quotes). |
|---|
| 434 | - Added source IP address to command string in the SPA packet so that |
|---|
| 435 | the REQUIRE_SOURCE_ADDRESS criteria can be applied by the fwknopd |
|---|
| 436 | server. |
|---|
| 437 | - Added --Show-last-cmd and --Show-host-cmd args to fwknop so that the |
|---|
| 438 | last fwknop command and the last fwknop host commands can be viewed. |
|---|
| 439 | - Added the svn revision number to --Version and --help output. |
|---|
| 440 | |
|---|
| 441 | fwknop-0.9.9 (10/15/2006): |
|---|
| 442 | - Added REQUIRE_SOURCE_ADDRESS (disabled by default) to force fwknop |
|---|
| 443 | clients to know their source IP address (i.e. -s cannot be used). So, |
|---|
| 444 | either fwknop clients have to use -R to resolve their externally |
|---|
| 445 | routable address, or they must just know what it is. |
|---|
| 446 | - Updated to Net-RawIP-0.21_03 for compatibility with gcc-4.x compilers. |
|---|
| 447 | - Added List-MoreUtils-0.22 which is a dependency of the new Net::RawIP |
|---|
| 448 | module. |
|---|
| 449 | - Bugfix to restore "start" functionality in Gentoo init script. |
|---|
| 450 | - Bugfix to use the IPT_OUTPUT_FILE and IPT_ERROR_FILE configuration |
|---|
| 451 | variables in fwknopd. |
|---|
| 452 | - Added KNOPTM_IPT_OUTPUT_FILE and KNOPTM_IPT_ERROR_FILE variables |
|---|
| 453 | specifically for the knoptm daemon so that it can use IPTables::ChainMgr |
|---|
| 454 | completely independently of fwknopd (this removes a potential race |
|---|
| 455 | condition between fwknopd and knoptm). |
|---|
| 456 | |
|---|
| 457 | fwknop-0.9.8 (09/17/2006): |
|---|
| 458 | - Added the ability to ignore old SPA packets through use of the |
|---|
| 459 | client-side time stamp. This means that an attacker cannot intercept an |
|---|
| 460 | SPA packet, prevent it from being forwarded to its intended destination, |
|---|
| 461 | and then put the packet on the wire at some time outside of the allowed |
|---|
| 462 | time window. There are two new configuration options in fwknop.conf |
|---|
| 463 | "ENABLE_SPA_PACKET_AGING" and "MAX_SPA_PACKET_AGE" that control the |
|---|
| 464 | length of the acceptable time window (2 minutes by default). This |
|---|
| 465 | requires some level of synchronization between the fwknop client and the |
|---|
| 466 | fwknopd server, but this is not onerous through the use of NTP. This |
|---|
| 467 | feature is enabled by default, and the idea for it was contributed by |
|---|
| 468 | Sebastien J. |
|---|
| 469 | - Completely re-worked IPTables::ChainMgr to support the return of |
|---|
| 470 | iptables error messages that are collected via stderr. This is critical |
|---|
| 471 | to fixing any bugs where fwknopd could die as a result of a poorly |
|---|
| 472 | crafted iptables command. |
|---|
| 473 | but no information would be returned to the user. |
|---|
| 474 | - Added the ability to specify the position for both the jump rule into |
|---|
| 475 | the fwknopd chains as well as the position for new rules within the |
|---|
| 476 | fwknopd chains via the -I argument to iptables. This fixes a bug where |
|---|
| 477 | the user was given the impression that the IPTABLES_AUTO_RULENUM would |
|---|
| 478 | accomplish this (IPTABLES_AUTO_RULENUM has been removed). |
|---|
| 479 | - Updated fwknopd to require < 1500 byte payload length before attempting |
|---|
| 480 | to decrypt. Also, GnuPG decrypts are not attempted unless the encrypted |
|---|
| 481 | payload is at least 400 bytes long (this is conservative since even |
|---|
| 482 | encrypting a single byte with a 1024-bit key will result in about 340 |
|---|
| 483 | bytes of encrypted data). |
|---|
| 484 | - Added the --gpg-default-key option to have fwknop use the default GnuPG |
|---|
| 485 | key that is defined in the ~/.gnupg/options file. |
|---|
| 486 | - Added the --URL command line argument so that a URL other than the |
|---|
| 487 | default http://www.whatismyip.com/ can be provided by the user for |
|---|
| 488 | external IP resolution (suggested by Sebastien J.). |
|---|
| 489 | - Updated to be more rigorous with md5 sums; we now require that the |
|---|
| 490 | md5_base64() function actually returns a non-null result. |
|---|
| 491 | - Bugfix to make sure that only the users associated with the a specific |
|---|
| 492 | REQUIRE_USERNAME value (in a specific SOURCE block in access.conf) are |
|---|
| 493 | granted the appropriate access even if a valid encrypted packet is |
|---|
| 494 | constructed from a different user name (by an fwknop client). |
|---|
| 495 | - Populated the _debug option in the IPTables::ChainMgr module, and also |
|---|
| 496 | added a _verbose option so that the specific iptables commands can |
|---|
| 497 | actually be seen as IPTables::ChainMgr functions are called. |
|---|
| 498 | - Added code to install.pl to update command paths in fwknop.conf and |
|---|
| 499 | knopwatchd.conf if any of the paths are broken (i.e. the local system |
|---|
| 500 | does not conform to the default paths). By default this only happens if |
|---|
| 501 | the user does not want old configs to be merged, but to override this |
|---|
| 502 | use the new --path-update command line argument to install.pl. |
|---|
| 503 | - Added the --Skip-mod-install command line argument to install.pl to |
|---|
| 504 | allow all perl module installs to be skipped. |
|---|
| 505 | - Added the --force-mod-regex command line argument to install.pl to allow |
|---|
| 506 | a regex match on perl module names to force matching modules to be |
|---|
| 507 | installed. |
|---|
| 508 | - Minor bugfix to generate better (i.e. closer to those that Firefox |
|---|
| 509 | generates) http requests to http://www.whatismyip.com/). |
|---|
| 510 | - Adapted Mate Wierdl's RPM patch from the psad project so that the fwknop |
|---|
| 511 | RPM builds on x86_64 systems. |
|---|
| 512 | - Removed iptables requirement in RPM spec file because fwknop may be |
|---|
| 513 | installed on a system just to run the fwknop client. |
|---|
| 514 | - Updated to email username mismatch errors. |
|---|
| 515 | |
|---|
| 516 | fwknop-0.9.7 (08/04/2006): |
|---|
| 517 | - Added fwknop_serv to function as minimal TCP server over which SPA |
|---|
| 518 | packets can be sent. This allows SPA to be compatible with the Tor |
|---|
| 519 | network, which requires that a virtual circuit is established before |
|---|
| 520 | traffic can be sent. |
|---|
| 521 | - Updated to Crypt::CBC-2.18 after a vulnerability was discovered in |
|---|
| 522 | previous versions of Crypt::CBC that caused weak ciphertext to be |
|---|
| 523 | generated for algorithms that have blocksizes greater than 8 bytes (such |
|---|
| 524 | as Rijndael used by fwknop). Manually specifying initialization vectors |
|---|
| 525 | is not necessary now. |
|---|
| 526 | - Updated SSH patch to support OpenSSH-4.3p2. |
|---|
| 527 | - Bugfix to make sure to create /var/* directories if they don't exist |
|---|
| 528 | (such as when /var is a tmpfs). |
|---|
| 529 | - Bugfix (Dwayne Rightler) to restore -w IP lookup functionality after |
|---|
| 530 | format change on data returned by whatismyip.com. |
|---|
| 531 | - Bugfix to wrap SPA Rijndael decryption with eval{} so that fwknopd does |
|---|
| 532 | not die if there are problems trying to decrypt data. This is necessary |
|---|
| 533 | because of the security vulnerability fix in Crypt::CBC that creates |
|---|
| 534 | some incompatibilities in different versions of Crypt::CBC. |
|---|
| 535 | - Added "--L-host" command line argument so that the arguments used for |
|---|
| 536 | multiple hosts are preserved and can be recalled. |
|---|
| 537 | - Changed default user-agent setting for whatismyip.com lookups to |
|---|
| 538 | Firefox/1.0.5.4; there is no need to gratuitously advertise fwknop |
|---|
| 539 | traffic. |
|---|
| 540 | - Updated GunPG HOWTO to provide a step-by-step guide to getting fwknop |
|---|
| 541 | Single Packet Authorization working with GnuPG. |
|---|
| 542 | - Updated to derive perl module versions from the VERSION files within |
|---|
| 543 | each of the perl module source directories. |
|---|
| 544 | |
|---|
| 545 | fwknop-0.9.6 (01/13/2006): |
|---|
| 546 | - Added GPG based authentication capability for SPA packets. This new |
|---|
| 547 | mode can be configured to require that a GPG message be signed with a |
|---|
| 548 | particular key or set of keys. |
|---|
| 549 | - In GPG mode, the fwknop client now prints GPG errors to stdout if not |
|---|
| 550 | running with --gpg-no-batch-mode. |
|---|
| 551 | - Added the ability to require that the client know the UNIX crypt() |
|---|
| 552 | password associated with a username on the server side. This |
|---|
| 553 | functionality is enabled on the fwknop client with the "--Server-auth |
|---|
| 554 | crypt" command line argument, and the REQUIRE_AUTH_METHOD variable in |
|---|
| 555 | /etc/fwknop/access.conf on the fwknopd server. |
|---|
| 556 | - Added patch against OpenSSH-4.2p1 to integrate SPA mode. This patch |
|---|
| 557 | adds a "-K <fwknop cmd line>" argument to the SSH client so that |
|---|
| 558 | fwknop can be executed directly before an SSH connection is made. |
|---|
| 559 | - Separated server and client portions of fwknop into "fwknopd" and |
|---|
| 560 | fwknop repectively. This will allow better portability to be |
|---|
| 561 | developed since the client and server pieces can be developed more |
|---|
| 562 | independently. NOTE: With so many changes, it is probably a good idea |
|---|
| 563 | to not preserve old fwknop configs via install.pl. |
|---|
| 564 | - Renamed all relevant fwknopd command and file paths to support new |
|---|
| 565 | fwknopd server component. |
|---|
| 566 | - Added --quiet mode (this is used by default in the OpenSSH patch). |
|---|
| 567 | - Removed legacy port knocking installation in install.pl (fwknopfifo, |
|---|
| 568 | and fwdata file) unless the data collection mode is set to syslog or |
|---|
| 569 | syslog-ng for legacy iptables log messages. |
|---|
| 570 | - Added inode checking for PCAP_PKT_FILE. This helps to ensure that log |
|---|
| 571 | rotation schemes don't interfere with reading packets out of the file |
|---|
| 572 | since this check is size independent. |
|---|
| 573 | - Bugfix for Makefile debug mode. |
|---|
| 574 | - Added compilation check for perl programs in install.pl before |
|---|
| 575 | installation into the filesystem. |
|---|
| 576 | - Bugfix for knopwatchd to make sure it can actually restart all running |
|---|
| 577 | daemons properly. |
|---|
| 578 | - Added --force-mod command line argument to install.pl to allow the user |
|---|
| 579 | to force all perl modules to be be installed regardless of whether a |
|---|
| 580 | module exists in the system perl lib tree. |
|---|
| 581 | - Added --no-save-args to fwknop so that existing .fwknop.run file can |
|---|
| 582 | be preserved (helps to testing new features of fwknop client). |
|---|
| 583 | - Removed useless --encrypt command line argument (only the old shared |
|---|
| 584 | port knock sequences are not encrypted). |
|---|
| 585 | |
|---|
| 586 | fwknop-0.9.5 (10/02/2005): |
|---|
| 587 | - Added the ability to resolve the external IP associated with the |
|---|
| 588 | local network via http://www.whatismyip.com. This is a more secure |
|---|
| 589 | method of accomplishing what the -s option performs. The new |
|---|
| 590 | command line option is --whatismyip (or just -w). |
|---|
| 591 | - Updated fwknop to communicate with knoptm via a UNIX domain socket |
|---|
| 592 | instead of the previous file-based communication. |
|---|
| 593 | - Updated to flush the fwknop iptables chains at start time. |
|---|
| 594 | - Bugfix for removing the wrong hash key in the knoptm IP cache. |
|---|
| 595 | |
|---|
| 596 | fwknop-0.9.4 (09/17/2005): |
|---|
| 597 | - Bugfix for knoptm timing out new entries based on old time values |
|---|
| 598 | (this caused new rules to timed out too quickly). |
|---|
| 599 | - Added support for multiple users in REQUIRE_USERNAME keyword in |
|---|
| 600 | access.conf. |
|---|
| 601 | - Added the ability to display raw encrypted packet data in client |
|---|
| 602 | mode with --verbose. |
|---|
| 603 | - Created fwknop RPM for RPM-based Linux distributions. |
|---|
| 604 | - Bugfix for inappropriate redirects in command mode where the command |
|---|
| 605 | already contained a redirect. |
|---|
| 606 | |
|---|
| 607 | fwknop-0.9.3 (08/27/2005): |
|---|
| 608 | - Added an on-disk cache of md5 sums so that the md5 sum check can |
|---|
| 609 | survive restarts of fwknop. |
|---|
| 610 | - Updated install.pl to be more friendly to Mac OS X (Blair Zajac). |
|---|
| 611 | - Updated to allow access.conf variables to have values instead of just |
|---|
| 612 | being defined. |
|---|
| 613 | - Started on additional server authentication mode code (re-worked MD5 |
|---|
| 614 | sum calculation to allow packet format to be extended by taking into |
|---|
| 615 | account the fwknop version number). |
|---|
| 616 | |
|---|
| 617 | fwknop-0.9.2 (08/06/2005): |
|---|
| 618 | - Added FILE_PCAP data collection method when running in server mode. |
|---|
| 619 | This is a more general way of getting packets than the ULOG_PCAP |
|---|
| 620 | mode since then a normal ethernet sniffer can be used to build the |
|---|
| 621 | file. |
|---|
| 622 | - Added the ability to re-open a pcap file if its size shrinks (i.e. |
|---|
| 623 | it gets rotated out or something). |
|---|
| 624 | - Bugfix for multiple rules with the same timestamp not being timed out |
|---|
| 625 | by knoptm. |
|---|
| 626 | - Integrated spoofing capability directly within fwknop (instead of |
|---|
| 627 | using the knopspoof command) through the use of "require Net::RawIP". |
|---|
| 628 | - Better multi-protocol support in server mode. Tcp and icmp packets |
|---|
| 629 | are properly decoded now. |
|---|
| 630 | |
|---|
| 631 | fwknop-0.9.1 (07/29/2005): |
|---|
| 632 | - Added the ability to specify multiple ports/protocols to access on a |
|---|
| 633 | server with the --Access command line option. |
|---|
| 634 | - Added the ability to spoof SPA packets over icmp and tcp protocols. |
|---|
| 635 | - Added the ability to restrict access at the server to only those |
|---|
| 636 | ports defined in the OPEN_PORTS keyword. This option is controled by |
|---|
| 637 | a new keyword "PERMIT_CLIENT_PORTS". |
|---|
| 638 | - Bugfix for MD5 sum not being properly calculated over decrypted data. |
|---|
| 639 | This allowed old packets that contained additional garbage data to |
|---|
| 640 | be replayed against an fwknop server. |
|---|
| 641 | - Updated to fall back to getpwuid() if getlogin() fails (Blair Zajac). |
|---|
| 642 | - Added --ipt-list to list all current rules in the FWKNOP iptables |
|---|
| 643 | chains. |
|---|
| 644 | - Added --ipt-flush to flush all current rules in the FWKNOP iptables |
|---|
| 645 | chains. |
|---|
| 646 | - Bugfix for the installer dying if ~/lib already exists (Blair Zajac). |
|---|
| 647 | - Updated to delay the loading of server perl modules (Net::Pcap, etc.) |
|---|
| 648 | only if we are running in server mode. |
|---|
| 649 | - Bugfix for module directory paths in install.pl. |
|---|
| 650 | |
|---|
| 651 | fwknop-0.9.0 (05/29/2005): |
|---|
| 652 | - Added new authorization mode that uses Net::Pcap to read packets |
|---|
| 653 | out of a file that is written to by the ulogd pcap writer (also |
|---|
| 654 | stubbed in code to sniff packets directly off the wire). This |
|---|
| 655 | authorization mode only requires single packets, and has many |
|---|
| 656 | characteristics that are better than simple port knocking, including |
|---|
| 657 | being non-replayable, and much more data can be sent. This mode |
|---|
| 658 | is now the default for both the server and the client. |
|---|
| 659 | - Made the execution of knopmd optional depending on whether AUTH_MODE |
|---|
| 660 | is a pcap mode (e.g. ULOG_PCAP or PCAP). |
|---|
| 661 | - Added --Spoof-src argument so that encrypted packets can be spoofed |
|---|
| 662 | via /usr/sbin/knopspoof. |
|---|
| 663 | - Added /usr/sbin/knoptm so that firewall rules can be timed-out when |
|---|
| 664 | the server is running in PCAP mode even if new packets don't appear |
|---|
| 665 | on the wire. |
|---|
| 666 | - Updated fwknop man page to talk about the new pcap-based |
|---|
| 667 | authorization mode. |
|---|
| 668 | |
|---|
| 669 | fwknop-0.5.0 (03/19/2005): |
|---|
| 670 | - Added ALERTING_METHOD to allow syslog and/or email reporting to be |
|---|
| 671 | disabled (there is a dedicated file /etc/fwknop/alert.conf that |
|---|
| 672 | governs this behavior, and both fwknop and knopwatchd reference this |
|---|
| 673 | file). |
|---|
| 674 | - Bugfix for distinguishing OPT field associated with --log-tcp-options |
|---|
| 675 | vs. --log-ip-options. |
|---|
| 676 | - Added install_perl_module() install.pl from psad to provide a |
|---|
| 677 | consistent installation interface. |
|---|
| 678 | - Applied patch to only install perl modules that are not already |
|---|
| 679 | installed (Blair Zajac). |
|---|
| 680 | - Added --last-cmd option to allow fwknop to be executed with command |
|---|
| 681 | line arguments from the previous execution (they are saved in |
|---|
| 682 | ~/.fwknop.run). |
|---|
| 683 | - Added --Home-dir option to allow the home directory to be manually |
|---|
| 684 | specified. |
|---|
| 685 | - Re-worked get_homedir() to be more friendly to systems that do not |
|---|
| 686 | necessarily have /etc/passwd (e.g. OS X). |
|---|
| 687 | - Added configuration preservation and querying for which syslog |
|---|
| 688 | daemon is running to install.pl. These features were adapted from the |
|---|
| 689 | psad installer (http://www.cipherdyne.org/psad). |
|---|
| 690 | - Added IPTables::ChainMgr. Fwknop uses this module to maintain |
|---|
| 691 | dedicated chains to which access rules are added. |
|---|
| 692 | - Added IPTables::Parse, which is used internally by IPTables::ChainMgr. |
|---|
| 693 | - Added __WARN__ and __DIE__ handlers so errors can easily be collected. |
|---|
| 694 | |
|---|
| 695 | fwknop-0.4.2 (09/27/2004): |
|---|
| 696 | - Added init script for Fedora systems. |
|---|
| 697 | - Added --Kill, --Restart, and --Status modes (this fixes the generic |
|---|
| 698 | init script which depends on these arguments). |
|---|
| 699 | |
|---|
| 700 | fwknop-0.4.1 (09/14/2004): |
|---|
| 701 | - Bugfix for legacy posf code in fwknop and variable in fwknop.conf. |
|---|
| 702 | |
|---|
| 703 | fwknop-0.4 (09/10/2004): |
|---|
| 704 | - Added ability to specify multiple IPs/networks in a single SOURCE |
|---|
| 705 | definition. |
|---|
| 706 | - Better examples section in the fwknop manpage. |
|---|
| 707 | - Bugfix to make sure EMAIL_ADDRESSES variable does not contain commas |
|---|
| 708 | (any commas are translated into spaces). |
|---|
| 709 | - Added LICENSE file. |
|---|
| 710 | |
|---|
| 711 | fwknop-0.3 (08/21/2004): |
|---|
| 712 | - Bugfix for tracking knock sequences by source IP address. |
|---|
| 713 | - Bugfix for knock sequence timeouts. |
|---|
| 714 | - Removed old passive OS fingerprinting code in favor of the p0f |
|---|
| 715 | strategy. |
|---|
| 716 | - Added support for taking encryption keys from a file specified on |
|---|
| 717 | the command line. |
|---|
| 718 | - Update to send "sequence decrypt failed" email message only if |
|---|
| 719 | decryption failed for all encrypt sequence SOURCE blocks. |
|---|
| 720 | |
|---|
| 721 | fwknop-0.2 (07/31/2004): |
|---|
| 722 | - Implemented remote username checking in encrypted sequences. |
|---|
| 723 | - Added support for icmp in knock sequences. |
|---|
| 724 | - Added protocol rotation option for encrypted sequences. |
|---|
| 725 | - Added code for multiple SOURCE access blocks with the same source |
|---|
| 726 | net/IP. |
|---|
| 727 | - Added KNOCK_LIMIT access control variable to limit the number of |
|---|
| 728 | times a particular knock sequence is honored. |
|---|
| 729 | - Added email alerts. |
|---|
| 730 | |
|---|
| 731 | fwknop-0.1 (07/08/2004): |
|---|
| 732 | - Initial release. |
|---|