You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

238 lines
10KB

  1. 2.1p2 - 02/27/2020
  2. - Fix issue with NAT variable not being reset after being changed
  3. 2.1p1 - 01/01/2020
  4. - Refactor NETMAP NAT target so its more flexible. See new example nat.conf file for details
  5. 2.1 Final - 07/12/2019
  6. - Fix flush tables rule for raw
  7. - Final 2.1 release since we've had 2.1 for 5 years now without being 'released'
  8. 2.1 Beta 1 - 11/19/2018
  9. - Add run-after and run-before rules (custom/runafter.sh and custom/runbefore.sh)
  10. 2.1 Alpha 3 - 04/25/2016
  11. - Fix issue with erasing variables in two different setups
  12. - mss clamp fix for fwd target
  13. 2.1 Alpha 2 - 03/15/2015
  14. - Unset variables in loops to make sure theres no leakage of
  15. variables into the next run of the loop
  16. 04/09/2015
  17. - Allow use of 'all' in MSS rules to match all forwarding/out traffic
  18. 2.1 Alpha 1 - 11/29/2014
  19. - Added support for custom fields in NAT and ACL rules, as this allows
  20. definition of Policy rules in the ACL files (mostly useful for IPSec)
  21. - NAT rules no longer add accept state rules, should be added in forward.conf
  22. manually
  23. 2.01 Alpha 1 - 07/27/2014
  24. - Fix executable bits on .sh files in custom
  25. - Make MSS clamp optional and allow setting MSS size manually
  26. 2.00 Release
  27. - Add common options for sysctl/proc tweaking of network settings
  28. - Yay stable release!
  29. 2.00 Alpha 3 -
  30. - Give people knobs to tinker with regarding state matching. Kills
  31. multiple birds with one stone.
  32. - forward.conf
  33. - acl.conf
  34. - IPv6 is actually working in this version when you have default policy set to DROP
  35. IPv6 is particularly difficult regarding ICMPv6 - had to put in quite a few
  36. allows by default to make it happy. Going to have to go through the list
  37. and prune it once the code stabilizes.
  38. - rule-save/rule-save6 scripts as beginning of work to be able to cache scripts
  39. may switch to normal iptables-save/iptables-restore if it works better
  40. once I've had time to work on it.
  41. - script finally has most features of firewall/sosdg v1.1, meaning it can
  42. successfully replace firewall/sosdg in most setups, provided you are
  43. willing to redo the config.
  44. - Added config examples here: http://www.sosdg.org/software/srfirewall/examples
  45. - Implemented -f flag for flushing rules and setting iptables back to default
  46. - Fix port forwarding rules so works correctly with FORWARD set to DROP as default
  47. 2.00 Alpha 2 - 04/12/2014
  48. - Slightly better documentation
  49. - Kernel module loading - 4/11/2014
  50. - The next two changes affect config files:
  51. - Add syn matching to acl.conf rules - this may break existing rules
  52. - Add syn and port/protocol matching to forward.conf rules - this will not
  53. break existing rules since it adds 4 new options at the end that can
  54. be omitted completely.
  55. - Fix some variable detection rules to be more reliable.
  56. - Fix some rule issues after real life stress testing.
  57. 2.00 Alpha 1 - 04/10/2014
  58. - Complete code rewrite and restructure to solve some long standing issues with v1
  59. - Separate out functions into support files for easier grouping of what they do
  60. - Make more compatible with multiple disto file layouts
  61. - Basic functionality implemented:
  62. - Trusted IP source (IPv4/IPv6) - 3/30/2014
  63. - MSS Clamping (IPv4/IPv6) - 3/30/2014
  64. - Trusted DNS server as client (IPv4/IPv6) - 3/30/2014
  65. - Adapted to use conntracking if available - 4/5/2014
  66. - Easy Block functionality (IPv4/IPv6) - 3/31/2014
  67. - ACL/Filtering functionality (IPv4/IPv6) - 4/5/2014
  68. - NAT/NETMAP functionality (IPv4/IPv6) - 4/5/2014
  69. - IPv6 NAT/NETMAP is untested, have no internal use for it,
  70. let me know if works/doesnt
  71. - Forwarding functionality (IPv4/IPv6) - 4/5/2014
  72. - Adapted to use conntracking if available - 4/6/2014
  73. - Deps on Enablev(4|6)ConnectionTracking for NAT functionality - 4/5/2014
  74. - Service functionality (IPv4/IPv6) 4/6/2014
  75. - Port forwarding functionality (IPv4/IPv6) 4/6/2014
  76. - Default policy support (IPv4/IPv6) 4/9/2014
  77. - Add somewhat crude Debian package files, will need to be worked on... - 4/8/2014
  78. =-=-=-=-= PRE 2.0 REWRITE =-=-=-=-=
  79. 1.1 - Brielle Bruns <bruns@2mbit.com>
  80. - Reorder rules, place allow before block to allow overrides
  81. - Fixes for conntrack rules for better security (added -o/-i)
  82. - Correct some incorrect info in options.default
  83. 1.0 - Brielle Bruns <bruns@2mbit.com>
  84. - Minor tweaks to various config files
  85. - Fix issue with tweaks loading
  86. - Version 1.0
  87. 0.9.14 - Brielle Bruns <bruns@2mbit.com>
  88. - IPv6 DHCP bypass rules (IPV6_LANDHCPSERVER)
  89. - Move FORWARD Established,Related rules to inside NAT rules, since without NAT,
  90. we're not really going to need to track connections forwarding through the system.
  91. I can probably be proven wrong if you don't use NAT but use the script for stateful
  92. firewalling with non-RFC1918 IPs....
  93. - Cleanup work on code for v1.0
  94. 0.9.13 - Brielle Bruns <bruns@2mbit.com>
  95. - Fix location of ipv6 fi statement, moved to end of ipv6 rules
  96. - Add default policy rules and IPV{4|6}_P{INPUT|OUTPUT|FORWARD} options
  97. to control them. Note the difference between BLOCKINCOMING and the PINPUT variable
  98. - Oops, looks like my state match of allowing NEW was undoing the incoming blocks. Fixed.
  99. - IPV4_ALLOWED and IPV6_ALLOWED which will eventually replace TCPPORTS and UDPPORTS
  100. 0.9.12 - Brielle Bruns <bruns@2mbit.com>
  101. - Change IPV6_ROUTEDCLIENTBLOCK so you can specify ranges to
  102. block incoming to.
  103. - Add support for allowing IPV6 critical ICMP messages, on by default
  104. - Add support for interception of IPv4 packets, aka transparent proxy
  105. - Add beginning support for error checking of variable inputs, still not functional yet.
  106. - Test if we are using at least bash 3.x, since some of the more advanced features
  107. we are using to make this script work don't work too well with bash < 3.0 or dash.
  108. 0.9.11 - Brielle Bruns <bruns@2mbit.com>
  109. - Move some of the config clutter to conf/ - you can
  110. put your config files anywhere, but by default, they're
  111. now going to be in conf/
  112. - Beginning work on configuration tool. If it ever
  113. gets completed is a whole different story. :)
  114. - Option to use state or conntrack module for state tracking.
  115. By default, use conntrack.
  116. - After some research, we seem to not need NEW state match in FORWARD
  117. - Auto detect default gateway interface and IP of interface. Has potential problems
  118. if run before we've got a default interface, so manually define EXTIF to be sure, and
  119. things should be okay. This is mostly for people with dynamic IPs.
  120. 0.9.10 - Brielle Bruns <bruns@2mbit.com>
  121. - Move clamp mss up earlier in the rules to possibly
  122. fix an issue I noticed during testing
  123. - Move icmp allow code
  124. - Prevent duplicate icmp allow rules in NAT code
  125. - NETMAP support in NAT code
  126. 0.9.9a - Brielle Bruns <bruns@2mbit.com>
  127. - Minor bug fixes for my coding errors introduced in
  128. the change of IPv6 variables
  129. 0.9.9 - Brielle Bruns <bruns@2mbit.com>
  130. - Loadable module support during firewall loading
  131. - More init script fixes.
  132. - Non-conntracked DNS reply packets allow options
  133. - Slightly improved IPv6 support to start to bring
  134. it up to par with IPv4 support.
  135. - ipv6 marking support, changed ipv4 to use | instead of :
  136. - Renamed IPV6 variables, please read INSTALL file about conversion of config file
  137. to new format.
  138. 0.9.8a - Brielle Bruns <bruns@2mbit.com>
  139. - Fixing executable file permission issues
  140. - Use /bin/bash in initscript cause dash does not recognize
  141. more advanced methods that bash can use. Oops. Easiest
  142. way to keep up to date is to symlink /etc/init.d/firewall-sosdg
  143. to /etc/firewall-sosdg/doc/firewall-sosdg.init
  144. 0.9.8 - Brielle Bruns <bruns@2mbit.com>
  145. - Almost at v1.0 quality for my tastes
  146. - BLOCK_(INCOMING/OUTGOING)_RFC1918 options to help sure up security of LAN space leakage
  147. - Changes to LANDHCPSERVER so it accepts interface names, plus a possible fix for win7
  148. hammering DHCP server for unknown reason?
  149. - Cleanups
  150. - No longer display list of blocked IPs, considering if they are
  151. as long as my list is, they'll take 4 pages to display...
  152. - New block file format, much more capable now, thanks to
  153. an hour or two of improving my bash scripting skills to the
  154. point where I can do more complex breakdowns of formats
  155. - Rename blocked to ipv4-blocked since we're going to have
  156. ipv6 support
  157. - ipv6 blocking support. Different format for config file
  158. because IPv6 uses :, which means we get to use | for both
  159. ipv4 and ipv6 (goes against a previous commit)
  160. 0.9.7 - Brielle Bruns <bruns@2mbit.com>
  161. - Support for marking packets, uses new config file and
  162. IPv4_MARK file option
  163. - MULTI-NIC-ARP-LOCK hack added, to fix what I consider to be an annoying 'feature' of
  164. arp requests on Linux
  165. - Allow use of multiport iptables module to reduce amount of rules
  166. 0.9.6 - Brielle Bruns <bruns@2mbit.com>
  167. - Minor changes to procedures in planning of 1.0
  168. 0.9.5 - Brielle Bruns <bruns@2mbit.com>
  169. - Makefile to automate building tarball and for future use
  170. - More changes to port-forwards file to support source IP and external IP (existing
  171. config _will_ be incompatible)
  172. 0.9.4 - Brielle Bruns <bruns@2mbit.com>
  173. - Initscript
  174. - stop-firewall for... stopping the firewall!
  175. - Code cleanups
  176. - Use of functions for some processes
  177. - Fix DHCP rule
  178. - Obsoleted NATRANGE, NATEXTIP, NATEXTIF
  179. - Added NAT_RANGE which can take SNAT/MASQ rules
  180. - Changed port forwarding rules to include external interface
  181. 0.9.3 - Brielle Bruns <bruns@2mbit.com>
  182. - Misc tweaks and reorg
  183. - Custom command files
  184. 0.9 - Brielle Bruns <bruns@2mbit.com>
  185. - Colorize output
  186. - Added outbound port blocking options
  187. 0.8 - Brielle Bruns <bruns@2mbit.com>
  188. - IPv6 Connection Tracking fixes
  189. - Strip ECN off of specific outbound packets
  190. 0.7 - Brielle Bruns <bruns@2mbit.com>
  191. - MSS Clamp on IPv6
  192. - MSS Fixes, yes, its ugly
  193. - Beginning support for bogons filtering and updater
  194. script. Does not work yet, so don't use.
  195. 0.6 - Brielle Bruns <bruns@2mbit.com>
  196. - Fixed some potential ordering issues with NAT
  197. - Added file for blocked IPs, plus new config option
  198. 0.5 - Brielle Bruns <bruns@2mbit.com>
  199. - Fixing ipv6 UDP firewalling rules
  200. - Fixing IPv6 client routing block rules
  201. - Added new IPV6LAN interface option
  202. 0.4 - Brielle Bruns <bruns@2mbit.com>
  203. - Added support for pre-run commands
  204. - Fixed several bugs with NAT commands