From a0fa489f2f29aafc6a4fe9f8ad7bbdd469919241 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Mon, 15 Jul 2013 17:05:44 +0200 Subject: [PATCH] snort: update to 2.9.5. add VRT/GPLv2 community rules. fix wrong oinkcode warning if no oinkcode is needed. --- config/rootfiles/common/snort | 2 +- config/rootfiles/core/71/filelists/files | 1 + config/rootfiles/core/71/filelists/snort | 1 + config/rootfiles/core/71/update.sh | 10 ++++++ config/snort/snort.conf | 42 +++++++++++++++++------- doc/language_issues.de | 3 +- doc/language_issues.es | 4 +-- doc/language_issues.fr | 1 + doc/language_issues.nl | 31 ++++++++++++++++- doc/language_issues.pl | 4 +-- doc/language_issues.ru | 5 ++- doc/language_issues.tr | 31 ++++++++++++++++- html/cgi-bin/ids.cgi | 13 +++++--- langs/de/cgi-bin/de.pl | 1 - langs/en/cgi-bin/en.pl | 3 +- langs/nl/cgi-bin/nl.pl | 3 +- langs/pl/cgi-bin/pl.pl | 1 - langs/ru/cgi-bin/ru.pl | 1 - langs/tr/cgi-bin/tr.pl | 3 +- lfs/snort | 7 ++-- 20 files changed, 129 insertions(+), 38 deletions(-) create mode 120000 config/rootfiles/core/71/filelists/snort diff --git a/config/rootfiles/common/snort b/config/rootfiles/common/snort index 8404486533..e35838d035 100644 --- a/config/rootfiles/common/snort +++ b/config/rootfiles/common/snort @@ -3,6 +3,7 @@ etc/snort/rules #etc/snort/rules/classification.config #etc/snort/rules/reference.config etc/snort/snort.conf +etc/snort/snort.conf.template etc/snort/unicode.map usr/bin/u2boat usr/bin/u2spewfoo @@ -179,7 +180,6 @@ usr/sbin/snort #usr/share/doc/snort/README.dnp3 #usr/share/doc/snort/README.dns #usr/share/doc/snort/README.event_queue -#usr/share/doc/snort/README.file #usr/share/doc/snort/README.filters #usr/share/doc/snort/README.flowbits #usr/share/doc/snort/README.frag3 diff --git a/config/rootfiles/core/71/filelists/files b/config/rootfiles/core/71/filelists/files index 4201c38012..db039f3cda 100644 --- a/config/rootfiles/core/71/filelists/files +++ b/config/rootfiles/core/71/filelists/files @@ -12,6 +12,7 @@ etc/rc.d/rc0.d/K82wlanclient etc/rc.d/rc3.d/S19wlanclient etc/rc.d/rc6.d/K82wlanclient usr/local/bin/wirelessclient +srv/web/ipfire/cgi-bin/ids.cgi srv/web/ipfire/cgi-bin/pppsetup.cgi srv/web/ipfire/cgi-bin/wirelessclient.cgi var/ipfire/langs diff --git a/config/rootfiles/core/71/filelists/snort b/config/rootfiles/core/71/filelists/snort new file mode 120000 index 0000000000..9406ce01c7 --- /dev/null +++ b/config/rootfiles/core/71/filelists/snort @@ -0,0 +1 @@ +../../../common/snort \ No newline at end of file diff --git a/config/rootfiles/core/71/update.sh b/config/rootfiles/core/71/update.sh index 5a5e1b1e58..0f13c3dafc 100644 --- a/config/rootfiles/core/71/update.sh +++ b/config/rootfiles/core/71/update.sh @@ -32,8 +32,13 @@ do rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire done +# +# Backup snort.conf +cp -f /etc/snort/snort.conf /etc/snort/snort.conf.backup + # #Stop services +/etc/init.d/snort stop # #Extract files @@ -44,8 +49,13 @@ extract_files touch /var/ipfire/ethernet/wireless chown nobody:nobody /var/ipfire/ethernet/wireless +# +# Import active rules to new snort.conf +grep "^include $RULE_PATH" /etc/snort/snort.conf.backup >> /etc/snort/snort.conf + # #Start services +/etc/init.d/snort start # #Update Language cache diff --git a/config/snort/snort.conf b/config/snort/snort.conf index ea9f81f3a2..950ae3e551 100644 --- a/config/snort/snort.conf +++ b/config/snort/snort.conf @@ -3,7 +3,7 @@ # # some parts of this file are changed/updated by the webif ################################################### -# VERSIONS : 2.9.1.1 +# VERSIONS : 2.9.5.0 include /etc/snort/vars @@ -42,7 +42,7 @@ ipvar FTP_SERVERS $HOME_NET ipvar SIP_SERVERS $HOME_NET # List of ports you run web servers on -portvar HTTP_PORTS [80,81,311,444,591,593,901,1220,1414,1830,2301,2381,2809,3128,3702,5250,7001,7777,7779,8000,8008,8028,8080,8088,8118,8123,8180,8181,8243,8280,8888,9090,9091,9443,9999,11371,50002,55555] +portvar HTTP_PORTS [80,81,82,83,84,85,86,87,88,89,311,383,444,591,593,631,901,1220,1414,1741,1830,2301,2381,2809,3037,3057,3128,3702,4343,4848,5250,6080,6988,7000,7001,7144,7145,7510,7777,7779,8000,8008,8014,8028,8080,8085,8088,8090,8118,8123,8180,8181,8222,8243,8280,8300,8500,8800,8888,8899,9000,9060,9080,9090,9091,9443,9999,11371,34443,34444,41080,50002,55555] # List of ports you want to look for SHELLCODE on. portvar SHELLCODE_PORTS !80 @@ -75,6 +75,14 @@ var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules +# If you are using reputation preprocessor set these +# Currently there is a bug with relative paths, they are relative to where snort is +# not relative to snort.conf like the above variables +# This is completely inconsistent with how other vars work, BUG 89986 +# Set the absolute path appropriately +var WHITE_LIST_PATH /etc/snort/rules +var BLACK_LIST_PATH /etc/snort/rules + ################################################### # Step #2: Configure the decoder. For more information, see README.decode @@ -161,7 +169,7 @@ config pcre_match_limit_recursion: 1500 config detection: search-method ac-split search-optimize max-pattern-len 20 # Configure the event queue. For more information, see README.event_queue -config event_queue: max_queue 8 log 3 order_events content_length +config event_queue: max_queue 8 log 5 order_events content_length ################################################### ## Configure GTP if it is to be used. @@ -215,6 +223,7 @@ dynamicengine /usr/lib/snort_dynamicengine/libsf_engine.so # path to dynamic rules libraries # dynamicdetection directory /usr/local/lib/snort_dynamicrules + ################################################### # Step #5: Configure preprocessors # For more information, see the Snort Manual, Configuring Snort - Preprocessors @@ -245,12 +254,12 @@ preprocessor stream5_global: track_tcp yes, \ min_response_seconds 5 preprocessor stream5_tcp: policy windows, detect_anomalies, require_3whs 180, \ overlap_limit 10, small_segments 3 bytes 150, timeout 180, \ - ports client 21 22 23 25 42 53 79 109 110 111 113 119 135 136 137 139 143 \ - 161 445 513 514 587 593 691 1433 1521 2100 3306 6070 6665 6666 6667 6668 6669 \ + ports client 21 22 23 25 42 53 70 79 109 110 111 113 119 135 136 137 139 143 \ + 161 222 445 513 514 587 593 691 1433 1521 1741 2100 3306 6070 6665 6666 6667 6668 6669 \ 7000 8181 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779, \ - ports both 80 81 311 443 465 563 591 593 636 901 989 992 993 994 995 1220 1414 1830 2301 2381 2809 3128 3702 5250 7907 7001 7802 7777 7779 \ + ports both 80 81 82 83 84 85 86 87 88 89 110 311 383 443 444 465 563 591 593 631 636 901 989 992 993 994 995 1220 1414 1830 2301 2381 2809 3037 3057 3128 3702 4343 4848 5250 6080 6988 7907 7000 7001 7144 7145 7510 7802 7777 7779 \ 7801 7900 7901 7902 7903 7904 7905 7906 7908 7909 7910 7911 7912 7913 7914 7915 7916 \ - 7917 7918 7919 7920 8000 8008 8028 8080 8088 8118 8123 8180 8243 8280 8888 9090 9091 9443 9999 11371 50002 55555 + 7917 7918 7919 7920 8000 8008 8014 8028 8080 8085 8088 8090 8118 8123 8180 8222 8243 8280 8300 8500 8800 8888 8899 9000 9060 9080 9090 9091 9443 9999 11371 34443 34444 41080 50002 55555 preprocessor stream5_udp: timeout 180 # performance statistics. For more information, see the Snort Manual, Configuring Snort - Preprocessors - Performance Monitor @@ -269,7 +278,7 @@ preprocessor http_inspect_server: server default \ max_headers 100 \ max_spaces 200 \ small_chunk_length { 10 5 } \ - ports { 80 81 311 591 593 901 1220 1414 1830 2301 2381 2809 3128 3702 5250 7001 7777 7779 8000 8008 8028 8080 8088 8118 8123 8180 8181 8243 8280 8888 9090 9091 9443 9999 11371 50002 55555 } \ + ports { 80 81 82 83 84 85 86 87 88 89 311 383 444 591 593 631 901 1220 1414 1741 1830 2301 2381 2809 3037 3057 3128 3702 4343 4848 5250 6080 6988 7000 7001 7144 7145 7510 7777 7779 8000 8008 8014 8028 8080 8085 8088 8090 8118 8123 8180 8181 8222 8243 8280 8300 8500 8800 8888 8899 9000 9060 9080 9090 9091 9443 9999 11371 34443 34444 41080 50002 55555 } \ non_rfc_char { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 } \ enable_cookie \ extended_response_inspection \ @@ -286,7 +295,7 @@ preprocessor http_inspect_server: server default \ iis_delimiter no \ iis_unicode no \ multi_slash no \ - utf_8 no \ + utf_8 no \ u_encode yes \ webroot no @@ -384,7 +393,7 @@ preprocessor sfportscan: proto { all } memcap { 10000000 } sense_level { medium # preprocessor arpspoof_detect_host: 192.168.40.1 f0:0f:00:f0:0f:00 # SSH anomaly detection. For more information, see README.ssh -preprocessor ssh: server_ports { 22,222 } \ +preprocessor ssh: server_ports { 22 222 } \ autodetect \ max_client_bytes 19600 \ max_encrypted_packets 20 \ @@ -409,7 +418,7 @@ preprocessor ssl: ports { 443 444 465 563 636 989 992 993 994 995 7801 7802 7900 preprocessor sensitive_data: alert_threshold 25 # SIP Session Initiation Protocol preprocessor. For more information see README.sip -preprocessor sip: max_sessions 10000, \ +preprocessor sip: max_sessions 40000, \ ports { 5060 5061 5600 }, \ methods { invite \ cancel \ @@ -439,7 +448,7 @@ preprocessor sip: max_sessions 10000, \ max_to_len 256, \ max_via_len 1024, \ max_contact_len 512, \ - max_content_len 1024 + max_content_len 2048 # IMAP preprocessor. For more information see README.imap preprocessor imap: \ @@ -465,6 +474,15 @@ preprocessor dnp3: ports { 20000 } \ memcap 262144 \ check_crc +# Reputation preprocessor. For more information see README.reputation +#preprocessor reputation: \ +# memcap 500, \ +# priority whitelist, \ +# nested_ip inner, \ +# whitelist $WHITE_LIST_PATH/white_list.rules, \ +# blacklist $BLACK_LIST_PATH/black_list.rules + + ################################################### # Step #6: Configure output plugins # For more information, see Snort Manual, Configuring Snort - Output Modules diff --git a/doc/language_issues.de b/doc/language_issues.de index 6c4a5d8b76..3b6e117ecf 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -477,6 +477,8 @@ WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes +WARNING: untranslated string: community rules +WARNING: untranslated string: emerging rules WARNING: untranslated string: new WARNING: untranslated string: outgoing firewall reserved groupname WARNING: untranslated string: qos add subclass @@ -484,4 +486,3 @@ WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table -WARNING: untranslated string: wlanap country diff --git a/doc/language_issues.es b/doc/language_issues.es index 266361c35b..2258d1b55f 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -487,10 +487,7 @@ WARNING: translation string unused: use dov WARNING: translation string unused: use ibod WARNING: translation string unused: view log WARNING: translation string unused: vpn aggrmode -<<<<<<< HEAD WARNING: translation string unused: vpn incompatible use of defaultroute -======= ->>>>>>> 1b23ab3... Implement wireless client on RED. WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green @@ -552,6 +549,7 @@ WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used WARNING: untranslated string: deprecated fs warn +WARNING: untranslated string: emerging rules WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled diff --git a/doc/language_issues.fr b/doc/language_issues.fr index f4f113154b..58f44541a5 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -549,6 +549,7 @@ WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: dns address deleted txt +WARNING: untranslated string: emerging rules WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled diff --git a/doc/language_issues.nl b/doc/language_issues.nl index c6fa36f191..d7a7ff760a 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -460,7 +460,6 @@ WARNING: translation string unused: transparent on WARNING: translation string unused: umount WARNING: translation string unused: umount removable media before to unplug WARNING: translation string unused: unencrypted -WARNING: translation string unused: unknown WARNING: translation string unused: update transcript WARNING: translation string unused: updates WARNING: translation string unused: updates is old1 @@ -522,3 +521,33 @@ WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table WARNING: untranslated string: uptime load average +WARNING: untranslated string: wlan client +WARNING: untranslated string: wlan client advanced settings +WARNING: untranslated string: wlan client and +WARNING: untranslated string: wlan client bssid +WARNING: untranslated string: wlan client ccmp +WARNING: untranslated string: wlan client configuration +WARNING: untranslated string: wlan client disconnected +WARNING: untranslated string: wlan client duplicate ssid +WARNING: untranslated string: wlan client edit entry +WARNING: untranslated string: wlan client encryption +WARNING: untranslated string: wlan client encryption none +WARNING: untranslated string: wlan client encryption wep +WARNING: untranslated string: wlan client encryption wpa +WARNING: untranslated string: wlan client encryption wpa2 +WARNING: untranslated string: wlan client group cipher +WARNING: untranslated string: wlan client group key algorithm +WARNING: untranslated string: wlan client invalid key length +WARNING: untranslated string: wlan client new entry +WARNING: untranslated string: wlan client new network +WARNING: untranslated string: wlan client pairwise cipher +WARNING: untranslated string: wlan client pairwise key algorithm +WARNING: untranslated string: wlan client pairwise key group key +WARNING: untranslated string: wlan client psk +WARNING: untranslated string: wlan client ssid +WARNING: untranslated string: wlan client tkip +WARNING: untranslated string: wlan client wpa mode +WARNING: untranslated string: wlan client wpa mode all +WARNING: untranslated string: wlan client wpa mode ccmp ccmp +WARNING: untranslated string: wlan client wpa mode ccmp tkip +WARNING: untranslated string: wlan client wpa mode tkip tkip diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 266361c35b..2258d1b55f 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -487,10 +487,7 @@ WARNING: translation string unused: use dov WARNING: translation string unused: use ibod WARNING: translation string unused: view log WARNING: translation string unused: vpn aggrmode -<<<<<<< HEAD WARNING: translation string unused: vpn incompatible use of defaultroute -======= ->>>>>>> 1b23ab3... Implement wireless client on RED. WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green @@ -552,6 +549,7 @@ WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used WARNING: untranslated string: deprecated fs warn +WARNING: untranslated string: emerging rules WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled diff --git a/doc/language_issues.ru b/doc/language_issues.ru index aa8e3edc54..7b83295236 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -480,10 +480,7 @@ WARNING: translation string unused: use dov WARNING: translation string unused: use ibod WARNING: translation string unused: view log WARNING: translation string unused: vpn aggrmode -<<<<<<< HEAD WARNING: translation string unused: vpn incompatible use of defaultroute -======= ->>>>>>> 1b23ab3... Implement wireless client on RED. WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green @@ -542,8 +539,10 @@ WARNING: untranslated string: ccd none WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used +WARNING: untranslated string: community rules WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: disk access per +WARNING: untranslated string: emerging rules WARNING: untranslated string: extrahd because there is already a device mounted WARNING: untranslated string: extrahd cant umount WARNING: untranslated string: extrahd install or load driver diff --git a/doc/language_issues.tr b/doc/language_issues.tr index d7a7d72acf..17568408d5 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -460,7 +460,6 @@ WARNING: translation string unused: transparent on WARNING: translation string unused: umount WARNING: translation string unused: umount removable media before to unplug WARNING: translation string unused: unencrypted -WARNING: translation string unused: unknown WARNING: translation string unused: update transcript WARNING: translation string unused: updates WARNING: translation string unused: updates is old1 @@ -517,3 +516,33 @@ WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table +WARNING: untranslated string: wlan client +WARNING: untranslated string: wlan client advanced settings +WARNING: untranslated string: wlan client and +WARNING: untranslated string: wlan client bssid +WARNING: untranslated string: wlan client ccmp +WARNING: untranslated string: wlan client configuration +WARNING: untranslated string: wlan client disconnected +WARNING: untranslated string: wlan client duplicate ssid +WARNING: untranslated string: wlan client edit entry +WARNING: untranslated string: wlan client encryption +WARNING: untranslated string: wlan client encryption none +WARNING: untranslated string: wlan client encryption wep +WARNING: untranslated string: wlan client encryption wpa +WARNING: untranslated string: wlan client encryption wpa2 +WARNING: untranslated string: wlan client group cipher +WARNING: untranslated string: wlan client group key algorithm +WARNING: untranslated string: wlan client invalid key length +WARNING: untranslated string: wlan client new entry +WARNING: untranslated string: wlan client new network +WARNING: untranslated string: wlan client pairwise cipher +WARNING: untranslated string: wlan client pairwise key algorithm +WARNING: untranslated string: wlan client pairwise key group key +WARNING: untranslated string: wlan client psk +WARNING: untranslated string: wlan client ssid +WARNING: untranslated string: wlan client tkip +WARNING: untranslated string: wlan client wpa mode +WARNING: untranslated string: wlan client wpa mode all +WARNING: untranslated string: wlan client wpa mode ccmp ccmp +WARNING: untranslated string: wlan client wpa mode ccmp tkip +WARNING: untranslated string: wlan client wpa mode tkip tkip diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index 5c0bcffe3f..62bb03a2b0 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -263,9 +263,11 @@ if (-e "/etc/snort/snort.conf") { ####################### End added for snort rules control ################################# if ($snortsettings{'RULES'} eq 'subscripted') { - $url=" http://www.snort.org/sub-rules/snortrules-snapshot-2940.tar.gz/$snortsettings{'OINKCODE'}"; + $url=" http://www.snort.org/sub-rules/snortrules-snapshot-2950.tar.gz/$snortsettings{'OINKCODE'}"; } elsif ($snortsettings{'RULES'} eq 'registered') { - $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2940.tar.gz/$snortsettings{'OINKCODE'}"; + $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2950.tar.gz/$snortsettings{'OINKCODE'}"; +} elsif ($snortsettings{'RULES'} eq 'community') { + $url=" http://s3.amazonaws.com/snort-org/www/rules/community/community-rules.tar.gz"; } else { $url="http://rules.emergingthreats.net/open/snort-2.9.0/emerging.rules.tar.gz"; } @@ -274,8 +276,9 @@ if ($snortsettings{'ACTION'} eq $Lang::tr{'save'} && $snortsettings{'ACTION2'} e { $errormessage = $Lang::tr{'invalid input for oink code'} unless ( ($snortsettings{'OINKCODE'} =~ /^[a-z0-9]+$/) || - ($snortsettings{'RULESTYPE'} eq 'nothing' ) || - ($snortsettings{'RULESTYPE'} eq 'community' )); + ($snortsettings{'RULES'} eq 'nothing' ) || + ($snortsettings{'RULES'} eq 'emerging' ) || + ($snortsettings{'RULES'} eq 'community' )); &General::writehash("${General::swroot}/snort/settings", \%snortsettings); if ($snortsettings{'ENABLE_SNORT'} eq 'on') @@ -402,6 +405,7 @@ $checked{'ENABLE_GUARDIAN'}{'on'} = ''; $checked{'ENABLE_GUARDIAN'}{$snortsettings{'ENABLE_GUARDIAN'}} = "checked='checked'"; $selected{'RULES'}{'nothing'} = ''; $selected{'RULES'}{'community'} = ''; +$selected{'RULES'}{'emerging'} = ''; $selected{'RULES'}{'registered'} = ''; $selected{'RULES'}{'subscripted'} = ''; $selected{'RULES'}{$snortsettings{'RULES'}} = "selected='selected'"; @@ -515,6 +519,7 @@ print <