Commit Graph

10184 Commits

Author SHA1 Message Date
Tim FitzGeorge
a2e095aff1 ipblocklist: Add neccessary files for logwatch. 2022-07-07 17:28:05 +02:00
Stefan Schantl
ce5b281190 fcron: Try to update ipblocklists every 15 min.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:28:01 +02:00
Stefan Schantl
6f37368da6 rules.pl: Do not check private networks against ipblocklists.
In case some of these private networks are part of an used blocklist
this kind of traffic needs to be allowed. Otherwise some services may
not work properly.

For example:
In case one ore more IPSec N2N connections are configured no traffic can
be passed through it, if the used networks are part of an blocklist.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:27:14 +02:00
Stefan Schantl
adbd2bd6d4 rules.pl: Flush ipblocklist DROP chains.
Flush the DROP chains of the blocklist chains while reloading the
firewall. Otherwise the log rules will stay even if logging has been
disabled in the meantime.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:27:14 +02:00
Stefan Schantl
404b513794 ipblocklist: Add "v4" as extension to the ipset set names.
This easily allows us to swap the sets after updating, without
unloading them.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:27:14 +02:00
Stefan Schantl
9759d96e1b stage2: Add database directory for ipblocklist feature.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:27:14 +02:00
Stefan Schantl
018a809831 crontab: Add job for periodic ipblocklist updates.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:27:06 +02:00
Tim FitzGeorge
5af16e17df ipblocklist: Rootfile updates.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Tim FitzGeorge
4ca678a857 ipblocklist-sources: New package.
Placing the ipblocklist sources file as an own package, easily
allows to update this single file during a core update and to
keep the vendor details for the blocklists up-to-date.

Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Tim FitzGeorge
d8bb263819 backup: Add ipblocklist related files.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Stefan Schantl
aba4e1cd1e rules.pl: Refactor logic to handle the IP blocklist feature.
* Fixes that the same chain would be created each time a firewall
reload is performed.

* Also fixes multiple log and drop rules inside the the BLOCKLIST_DROP
  chains after doing a firewall reload.

* Orphaned BLOCKLIST_DROP chains now will be flushed and removed in case
  the blocklist gets disabled or the entire feature will be swithed off.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Stefan Schantl
960608c8b5 rules.pl: Add function to check if given firewall chain exists.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Stefan Schantl
36330f84fb rules.pl: Fix typo when creating blocklist drop chains.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Stefan Schantl
39eba7abab rules.pl: Check if the blocklist is part of the settings hash.
Otherwise there will pop up some ugly notices on the command line and
the logs.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Rob Brewer
bbbea6f9ba rules.pl: Add space at the end of the log prefix.
This improves the readabiliy when digging through the logs.

Signed-off-by: Rob Brewer <rob.brewer@ipfire.org>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Tim FitzGeorge
1fd351d407 Menu: Add ipblocklist entry to firewall menu.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Tim FitzGeorge
42564758ab Menu: Add ipblocklist entry to log menu.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:14 +02:00
Stefan Schantl
7f4829de97 ipblocklist-functions.pl: Allow export of modified_file and
blocklist_dir values.

They so easily can be accessed by other perl scripts.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
d8113820e3 ipblocklist-functions.pl: Store the local time if no last modified could
be determined.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Tim FitzGeorge
8d12d12a4f ipblocklist-functions.pl: Add function to get the holdoff_rate of a
given list.

The function will return the rate in seconds based on the configured
rate value in the blocklist sources file and the given blocklist.

Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
a7bf1d9666 rules.pl: Add code to deal with ipblocklists.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
d7dd565341 ipblocklist-functions.pl: Abort and return code if a list is empty or
not parse-able.

In case the downloaded list is empty or the parser is not able to parse
it properly, the download_and_create_blocklist() function now exits and
will return "empty_list" as new error code.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Tim FitzGeorge
0a4f60f28c ipblocklist-functions.pl: Add helper function to proper calculate the
hashsize.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Tim FitzGeorge
ac9b5d8e6b ipblocklist-functions.pl: Add parser of dshield.
This vendor has a different list format and therefore requires an
own parser.

Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Tim FitzGeorge
ab0179617d ipblocklist-functions.pl: Add parser to obtain IP or Net addresses from
a blocklist.

Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
ba8455e469 ipblocklist-functions.pl: Add download_and_create_blocklist function.
This function is responisible for downloading and converting the
blocklist into an ipset compatible format.

The only required argument is the blocklist (in upper letter format) which should be
performed. It automatically will setup an upstream proxy (if configured)
and grab the file specified in the blocklist vendor configuration hash.

There is a maximum amount of five attempts until the script gives up and
returns a "dl_error". In case the server responses with "Not Modified"
(Code 304) a "not_modified" will be returned.

If the blocklist successfully has been grabbed, the modification date
get stored for further purposes and the list content will be converted
and stored in an ipset compatible format.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Inspired-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
2022-07-07 17:26:13 +02:00
Stefan Schantl
e64587a43d ipblocklist-functions.pl: Add get_ipset_db_file() function.
This function is used to generate the filename and full path
for a given blocklist name.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
f4c25a44e2 ipblocklist-functions.pl: Initial commit.
This library file will contain a collection of functions, which are
required to deal with the ipblocklist feature.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Tim FitzGeorge
f17b5303cb ipblocklist: Add sources file.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-07-07 17:26:13 +02:00
Stefan Schantl
3c63c5da5e Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next 2022-07-07 17:17:54 +02:00
Peter Müller
7f623de323 Revert "Core Update 169: Delete unused initrd on 32-bit ARM to save space in /boot"
This reverts commit 5ead33d796.
2022-07-07 13:55:29 +00:00
Peter Müller
5ead33d796 Core Update 169: Delete unused initrd on 32-bit ARM to save space in /boot
On 64-bit ARM, this is still needed for booting. Since the initrds were
already shipped with the updater, there is no need to regenerate them
locally again.

https://community.ipfire.org/t/again-with-the-file-system-full-core-169/8186

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-07 13:52:09 +00:00
Peter Müller
b317b60a3e Core Update 170: Ship lsof
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 19:21:32 +00:00
Peter Müller
284efdbfb1 Core Update 170: Ship files affected by "aliases" changes
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 10:03:16 +00:00
Michael Tremer
6395bed8a4 aliases: Add support to assign aliases to multiple RED interfaces
This is a little patch which will extend the aliases page to offer an
interface selection if there are more than one RED interfaces.

This is a little hack to make configuration easier for users who have
manually set up more than one RED interface (e.g. for load balancing or
fail-over) and want to use the UI to configure firewall rules.

As a little benefit on the side, I had to rewrite setaliases.c to use
ip(8) instead of ifconfig(8).

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 10:01:50 +00:00
Robin Roevens
50fdf0ee9c zabbix_agentd: Add IPFire specific userparameters
Provide IPFire specific items for the Zabbix server to monitor:
- ipfire.net.gateway.pingtime: Internet Line Quality
- ipfire.net.gateway.ping: Internet connection
- ipfire.net.fw.hits.raw: JSON formatted list of Firewall hits/chain
- ipfire.dhcpd.clients: Number of active DHCP leases
- ipfire.captive.clients: Number of Captive Portal clients

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Robin Roevens
1898c66a48 zabbix_agentd: By default only listen on GREEN ip
- Change zabbix_agentd.conf during install to only listen on the
  GREEN ip by default.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Robin Roevens
092330b128 zabbix_agentd: Sudoers file reorganization
- Remove sudoers file 'zabbix' in favour of new IPFire managed
  'zabbix_agentd' and user managed 'zabbix_agentd_user' which is
  included in the backup
- Provide migration of old sudoers file 'zabbix' or 'zabbix.user' to
  new zabbix_agentd_user sudoers file if it was modified by user.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Robin Roevens
e2d54d57d4 zabbix_agentd: Configfile reorganization
- Restrict default main config to only the bare minimum options
  and add upstream provided config as example file.
- Remove /etc/zabbix_agentd from backup and instead add only
  zabbix_agentd.conf and subdirs 'scripts' and 'zabbix_agentd.d' to
  the backup.
- Move ipfire managed userparameter_pakfire.conf from
  user managed dir /etc/zabbix_agentd/zabbix_agent.d to
  ipfire managed dir /var/ipfire/zabbix_agentd/userparameters
- Add Include line to existing zabbix_agentd.conf to include
  the new ipfire managed config dir /var/ipfire/zabbix_agentd/...
- Add and include mandatory IPFire specific agent configuration
  which should never be changed by the user.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Robin Roevens
1d00837e7e zabbix_agentd: Fix agent modules dir and few minor bugs
- Add agent modules-dir to backup
- Remove original, not used agent modules dir from rootfile
- Create modules-dir during install if it not already exists
- bugfix: Add existence check before creating log-dir, avoiding error
             messages if it already exists from a previous install
- bugfix: add extract_backup_includes to update.sh script to make
              sure backup includes exist when backup is taken.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Robin Roevens
9497d862ba zabbix_agentd: Update to v6.0.6 (LTS)
- Update from 4.2.6 to latest LTS version 6.0.6
  See release notes: https://www.zabbix.com/rn/rn6.0.6

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
2022-07-06 09:57:40 +00:00
Peter Müller
801143615a Core Update 170: Ship ca-certificates
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 06:30:09 +00:00
Peter Müller
9c695193ef ca-certificates: Update root CA certificates bundle
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 06:29:58 +00:00
Peter Müller
f42dc99758 Merge branch 'next' into temp-c170-development 2022-07-06 06:14:54 +00:00
Peter Müller
8000bc0a43 Core Update 169: Drop entropy.cgi
Since the kernel now always reports 256 bits of entropy to be available,
this CGI does not show any useful information anymore. To avoid
confusions, it will hereby be removed entirely.

Fixes: #12893
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-06-29 20:28:38 +00:00
Peter Müller
b55842c26a Core Update 169: Delete "random" initscript
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-06-29 20:13:11 +00:00
Michael Tremer
255873a5f9 random: Drop busy-loop script
This is no longer required because the kernel will now try to
generate some randomness in an easier way when needed.

This has been added in: b923dd3de0

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-06-29 20:11:34 +00:00
Peter Müller
5086ed681d sysctl: Permit ptrace usage for processes with CAP_SYS_PTRACE
https://lists.ipfire.org/pipermail/development/2022-June/013763.html

Reported-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-06-29 19:43:08 +00:00
Michael Tremer
2fcfe2e1f3 core169: Add initramdisks for armv6l, too
Looks like I have been ahead of time.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-06-29 18:34:01 +00:00
Michael Tremer
636cf631c9 core169: Ship initramdisks
Those were not part of the update which renders any machine that
installs it unbootable.

Fixes: #12892
Reported-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-06-29 18:11:26 +00:00