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.

CHANGELOG 9.8KB

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