Commit Graph

17778 Commits

Author SHA1 Message Date
Stefan Schantl
8bd74e12a9 ids-functions.pl: Introduce merge_sid_msg() function.
This function is used to merge the sid to message mapping files
from various providers.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
8335286b38 ids-functions.pl: Fix typo.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
23b560529a ids-functions.pl: Introduce merge_classifications() function.
This function is used to merge the individual classification files
provided by the providers.

The result will be written to the classification.config which will be
used by the IDS.

Fixes #11884.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
0fbfffea91 ids-functions.pl: Introduce extraceruleset() function.
This function is used to extract the required config and rules files
from the stored rules tarball for a given ruleset provider.

* The files will be extracted to a temporary directory layout in
  "/tmp/ids_tmp".

* Names of config files will be adjusted in case multiple providers
  offers the same config files, which is very common.

* The name of the single rulefiles will be adjusted to start with
  the vendors name to allow assigning them very easily to a single
  ruleset provider.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
ae22613224 ids-functions.pl: Always delete temporary file.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
2c02c93607 ids-functions.pl: Fix typo.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
caae0cf5e3 ruleset-sources: Rename file to plain.
This is used if a provider offers a plain rulefile instead an archive.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
b3c2c3364d ids-functions.pl: Allow downloadruleset() function to deal with
multiple ruleset providers.

When calling the function now a single ruleset provider handle
can be specified to only download this ruleset or by adding "all" or
leaving the handle blank a download of all configured rulesets can be
triggered.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
788a71f51e ids-functions.pl: Introduce private _get_dl_rulesfile() function.
This function can be used to generate/get the absolute file and path
for a given ruleset provider.

The files will be stored in the usual "/var/tmp" folder with a new
file format based on the dl_file type and the provider.

Examples could be:
	* /var/ipfire/idsrules-emerging.tar.gz
	* /var/ipfire/idsrules-registered.tar.gz
	* /var/ipfire/idsrules-somprovider.rules

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
e55fa2f745 ids-functions.pl: Run in perl strict mode.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
b5350c4d6e ruleset-sources: Fix website url for community ruleset.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
923a644107 ruleset-sources: Replace subscription code placeholder.
Replace the <oinkcode> placeholder by the more generic
<subscription_code>.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
73eb03a333 ids.cgi: Add code to handle enable/disable a provider.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
9bf260ded2 ids.cgi: Add code to handle enable/disable autoupdate for a provider.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
7323c72d03 ids.cgi: Fix type in method.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
2acb3c8d00 ids.cgi: Remove accidently commited commented code snipped.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
bb4c30c653 ids.cgi: Correctly use "enabled" for checked checkboxes.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:59 +01:00
Stefan Schantl
aba3cbe5bc ids.cgi: Read-in providers settings file when neccessary.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
4c067847c5 ids.cgi: Add code to add/edit a ruleset provider.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
18fb2dbd5c Update language files.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
a8d36d3e1f ids-functions.pl: Introduce providers_settings_file.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
2f252efa0d ids.cgi: Rework rulesetsettings section.
* The page and section now supports multiple ruleset providers at once.
* Adding / Editing a ruleset provider has been moved to a own sub-page.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
a49a30d1ba ruleset-sources: Fix website details for emergingthreats provider.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
77351a6b76 ids.cgi: Move configuration of ruleset autoupdate intervall to IDS main
section.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:58 +01:00
Stefan Schantl
87df37da7a ids.cgi: Stop showing ruleset date on customize rulest sub-page.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:22:47 +01:00
Stefan Schantl
4efc8ccd8a ids.cgi: Add "Back" button to customize ruleset sub-page.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
2bbe6ede23 ids.cgi: Move / Splitt main page and customize ruleset subpage.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
a468b62b62 ids.cgi: Only read-in ruleset if neccessary.
This process takes some time, especially on huge rulesets.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
dd2ce333f7 ids.cgi: Add button to customize the ruleset.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
019e5e9baf ids.cgi: Introduce and use get_provider_name() function.
This function is used to grab the name of a provider by the given
handle.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
fed57fe7f0 ids.cgi: Move the section to customize the IDS ruleset to a function.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
1033cf2d0a ids.cgi: Remove unused rulesetsources hashes.
They have been superseeded by the new ruleset sources file.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
4e4c3f1459 ids-functions.pl: Require ruleset-sources file for provider details.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
3e12c6e688 ids.cgi: Make CGI work with new ruleset-sources file.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
70cc13158d ids-functions.pl: Add get_ruleset_providers() function.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
179b75107e ids-functions.pl: Make downloader work with new ruleset-sources file
format.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
5e891296f0 ruleset-sources: Rework file format and data.
The file now contains a lot more of data and easily can be extended
to provide more and new providers.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-19 13:21:51 +01:00
Stefan Schantl
41b52755b8 Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-2.x 2021-12-19 13:19:03 +01:00
Peter Müller
5cb56f865d Core Update 163: Ship updated CA certificates
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2021-12-19 11:40:17 +01:00
Peter Müller
5556965d50 update ca-certificates CA bundle
Update the CA certificates list to what Mozilla NSS ships currently.

The original file can be retrieved from:
https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-19 11:39:54 +01:00
Peter Müller
48834bfa07 Tor: update to 0.4.6.9
Full changelog as per https://gitweb.torproject.org/tor.git/plain/ChangeLog:

Changes in version 0.4.6.9 - 2021-12-15
  This version fixes several bugs from earlier versions of Tor. One important
  piece is the removal of DNS timeout metric from the overload general signal.
  See below for more details.

  o Major bugfixes (relay, overload):
    - Don't make Tor DNS timeout trigger an overload general state.
      These timeouts are different from DNS server timeout. They have to
      be seen as timeout related to UX and not because of a network
      problem. Fixes bug 40527; bugfix on 0.4.6.1-alpha.

  o Minor feature (reproducible build):
    - The repository can now build reproducible tarballs which adds the
      build command "make dist-reprod" for that purpose. Closes
      ticket 26299.

  o Minor features (compilation):
    - Give an error message if trying to build with a version of
      LibreSSL known not to work with Tor. (There's an incompatibility
      with LibreSSL versions 3.2.1 through 3.4.0 inclusive because of
      their incompatibility with OpenSSL 1.1.1's TLSv1.3 APIs.) Closes
      ticket 40511.

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on December 15, 2021.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2021/12/15.

  o Minor bugfixes (compilation):
    - Fix our configuration logic to detect whether we had OpenSSL 3:
      previously, our logic was reversed. This has no other effect than
      to change whether we suppress deprecated API warnings. Fixes bug
      40429; bugfix on 0.3.5.13.

  o Minor bugfixes (relay):
    - Reject IPv6-only DirPorts. Our reachability self-test forces
      DirPorts to be IPv4, but our configuration parser allowed them to
      be IPv6-only, which led to an assertion failure. Fixes bug 40494;
      bugfix on 0.4.5.1-alpha.

  o Documentation (man, relay):
    - Missing "OverloadStatistics" in tor.1 manpage. Fixes bug 40504;
      bugfix on 0.4.6.1-alpha.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-19 11:39:27 +01:00
Peter Müller
e19e5722a6 Merge branch 'next' into temp-c163-development 2021-12-17 11:30:41 +01:00
Stefan Schantl
68b5761089 suricata: Do not load rules for dnp3 and modbus.
The parsers for those are disabled in the suricata config so
the rules are not needed, on the contrary they massively will spam
warnings when launching suricate because of the disabled parsers.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-12-17 08:06:26 +00:00
Stefan Schantl
d088562406 suricata: Do not load rules for dnp3 and modbus.
The parsers for those are disabled in the suricata config so
the rules are not needed, on the contrary they massively will spam
warnings when launching suricate because of the disabled parsers.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2021-12-16 20:04:41 +01:00
Stefan Schantl
a52ea4b008 Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-2.x 2021-12-16 20:00:18 +01:00
Peter Müller
bc95a6cc00 Core Update 163: Ship backup.pl
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2021-12-14 14:40:58 +01:00
Michael Tremer
45a5df5a5e backup: Fork ISO job into the background in CGI script
In order to be able to run the ISO command on command line it is helpful
that the script does not go into background halfway through the process.

We should rather start it as a background job straight from the CGI
script.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-14 14:39:26 +01:00
Michael Tremer
51ed815f5e backup: Create tarball in one pass
This patch is changing the behaviour of the backup script so that it
creates one tarball and compresses it in one go.

This will save storing the original tarball on disk before compressing
it which on my test system requires significant disk space.

This patch also solves a bug where the backup file included with the ISO
image could not be extracted because it was not gzip-compressed when it
was expected to be.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-14 14:39:21 +01:00
Michael Tremer
d9db91609f backup: Use filename as specified on console
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-14 14:39:17 +01:00
Peter Müller
26d23790c7 Core Update 163: Ship libloc
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2021-12-14 10:46:25 +01:00