Commit Graph

305 Commits

Author SHA1 Message Date
Peter Müller
97154d057b firewall: Introduce DROP_HOSTILE
Similar to the Location block, this chain logs and drops all traffic
from and to networks known to pose technical threats to IPFire users.

Doing so in a dedicated chain makes sense for transparency reasons, as
we won't interfer with other firewall rules or the Location block, so it
is always clear why a packet from or to such a network has been dropped.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-01-14 14:16:43 +00:00
Peter Müller
e83ae0d434 firewall: Prevent spoofing our own RED IP address
There is no legitimate reason why traffic from our own IP address on RED
should ever appear incoming on that interface.

This prevents attackers from impersonating IPFire itself, and is only
cleared/reset if the RED interface is brought up. Therefore, an attacker
cannot bypass this by foring a dial-up or DHCP connection to break down.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-01-14 14:16:39 +00:00
Peter Müller
a36cd34eac firewall: Log and drop spoofed loopback packets
Traffic from and to 127.0.0.0/8 must only appear on the loopback
interface, never on any other interface. This ensures offending packets
are logged, and the loopback interface cannot be abused for processing
traffic from and to any other networks.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-01-14 14:16:34 +00:00
Peter Müller
4d25c1f39a firewall: Accept inbound Tor traffic before applying the location filter
Inbound Tor traffic conflicts with Location block as inbound connections
have to be accepted from many parts of the world. To solve this,
inbound Tor traffic has to be accepted before jumping into Location block
chain.

Note this affects Tor relay operators only.

Rolled forward as ongoing from
https://patchwork.ipfire.org/project/ipfire/patch/f8ee2e1d-b642-8c63-1f8a-4f24c354cd90@ipfire.org/,
note the documentation in the wiki needs to be updated once this landed
in production.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-01-14 14:16:29 +00:00
Peter Müller
0e7bfb1343 firewall: Log packets dropped due to conntrack INVALID state
In case of faulty connection tracking, this ensures such packets are
logged, to make analysing network incidents less troublesome. Since
NewNotSYN is handled before, where logging can be turned off for systems
running on weak flash devices, the amount of log messages emitted here
should be neglectible.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-01-14 14:16:24 +00:00
Matthias Fischer
96b9c63b57 squid 5.1: set max number of filedesriptors to 32768
Since the maximum number of filedescriptors which are possible for 'squid 5.1'
are now 32768, I modified the initscript accordingly.

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-01-14 13:58:31 +00:00
Michael Tremer
6cf219c427 Drop support for i586
This patch removes support for i586 according to the decision being
taken over a year ago.

It removes the architecture from the build system and removes all
required hacks and other quirks that have been necessary before.

There is no need to ship any changed files to the remaining
architectures as the removed code branches have not been used.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-04 23:27:26 +01:00
Arne Fitzenreiter
11a3bd4898 mountkernfs: fix typo (wrong space character)
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-11-30 13:51:13 +01:00
Michael Tremer
91a29ffc16 firewall: Remove unused CONNTRACK chain in raw table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
2021-11-24 09:17:38 +00:00
Arne Fitzenreiter
cd26578fc9 unbound: initskript change server for dns test
if the system time is incorrect DNSSec validation fail but it fails sometimes for pool.ntp.org already but not for ping.ipfire.org.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-11-24 07:44:14 +00:00
Michael Tremer
76050bdcf2 mountkernfs: Mount /sys/firmware/efi/efivars on EFI systems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2021-11-19 07:08:48 +01:00
Arne Fitzenreiter
e850a61429 firewall: replace mark with --pol ipsec to exclude ipsec traffic from masquerade
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 18:27:49 +00:00
Michael Tremer
19357bc55e firewall: Keep REPEAT bit when saving rest to CONNMARK
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:35:28 +00:00
Michael Tremer
3fa8300e70 suricata: Introduce IPSBYPASS chain
NFQUEUE does not let the packet continue where it was processed, but
inserts it back into iptables at the start. That is why we need an
extra IPSBYPASS chain which has the following tasks:

* Make the BYPASS bit permanent for the entire connection
* Clear the REPEAT bit

The latter is more of cosmetic nature so that we can identify packets
that have come from suricata again and those which have bypassed the IPS
straight away.

The IPS_* chain will now only be sent traffic to, when none of the two
relevant bits has been set. Otherwise the packet has already been
processed by suricata in the first pass or suricata has decided to
bypass the connection.

This massively reduces load on the IPS which allows many common
connections (TLS connections with downloads) to bypass the IPS bringing
us back to line speed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:35:04 +00:00
Michael Tremer
2469ca9fba suricata: Store bypass flag in connmark and restore
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:34:54 +00:00
Michael Tremer
49dd3e2946 suricata: Add rule to skip IPS if a packet has the bypass bit set
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:34:43 +00:00
Michael Tremer
855475580b suricata: Always append rules instead of inserting them
This allows us to add rules in a consistent order like they are in the
script.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:34:32 +00:00
Michael Tremer
11f7218f9c suricata: Define bypass mark
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:34:10 +00:00
Michael Tremer
4f07c279a0 suricata: Rename MARK/MASK to REPEAT_MARK/REPEAT_MASK
This should avoid confusion when we add more marks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:34:00 +00:00
Michael Tremer
761fadbdde suricata: Set most significant bit as repeat marker
I have no idea why some odd value was chosen here, but one bit should be
enough.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:33:47 +00:00
Michael Tremer
a09578f4eb OCI: Enable serial console by default
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-19 11:21:57 +00:00
Michael Tremer
51c4b73f7a IPsec: Replace MARK 50 by 0x00800000
This change is necessary because we are using the right-hand two bytes
for storing the QoS classes.

All IPsec traffic will now be skipped and never classified by the QoS.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-13 11:47:27 +00:00
Michael Tremer
c825fcef40 firewall: Always restore all connection marks
This was done by tc only when QoS was enabled

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-13 11:46:23 +00:00
Michael Tremer
ce31144c62 firewall: Only check relevant bits for NAT fix rules
In order to use the highest two bits for surciata bypass, we will need
to make sure that whenever we compare any other marks, we do not care
about anything else.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-13 11:45:48 +00:00
Arne Fitzenreiter
02fadedf8d initskrips: leds: add nanopi r2s support 2021-10-10 06:45:09 +00:00
Michael Tremer
0c7ba6523f initscripts: Add switch to start processes in background
Since systemd, many programs no longer behave like a well-behaved
daemon. To avoid any extra solutions, this patch adds a -b switch which
will start a program in the background and throw away any output.

The behaviour remains unchanged for any other programs.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-09-05 17:39:14 +00:00
Michael Tremer
10a2b80cce mountkernfs: Mount cgroup2 hierarchy
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-19 18:13:46 +00:00
Michael Tremer
618b9f3a76 aws: Enable serial console by default
AWS for some time now has a serial console feature which is enabled by
default on all systems. The VGA console is not enabled for any new
non-x86 instance types and not interactive.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-14 08:24:30 +00:00
Arne Fitzenreiter
1746b394f3 firewall: remove conntrack_gre helper
this is not exist in kernel-5.10

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:40 +02:00
Arne Fitzenreiter
aafdd71b04 switch arm 32 bit arch from armv5tel to armv6l
we have no supported armv5tel board left so we can switch to the higher
arch. This now can use the vpu (still in softfp calling convention to
not break existing installations.)
this fix many compile problems, also boost is now working again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Arne Fitzenreiter
0115483c4a swconfig: update lamobo r1 init for kernel 5.10.x
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:38 +02:00
Arne Fitzenreiter
f087f88837 initskripts: leds: remove obsolete kirkwood devices
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:37 +02:00
Arne Fitzenreiter
0db334029e initskripts: leds: add new pcengines apu1 led name.
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:37 +02:00
Arne Fitzenreiter
604945c060 initskripts: leds: update for new upstream netdev-trigger
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:37 +02:00
Matthias Fischer
ceb5733c59 Deleted no longer used 'if' clauses (ALG) from firewall init
In https://git.ipfire.org/?p=ipfire-2.x.git;a=commit;h=ffafaa71a6970a8c3d0942247feb37facfe24d25
all ALGs were removed from UI.

But they remained - somehow - in the initscript (firewall).

I tried to remove the remnants - hopefully in the correct way.

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-31 12:41:52 +00:00
Peter Müller
9d0b7c1a78 Delete the remainings of libupnp and upnpd
These include rootfiles, firewall menue entries that have been
unmaintained for a long time, and firewall chains which were never used
in recent time.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-20 09:42:55 +00:00
Michael Tremer
f78eb45c09 suricata: Use iptables lock to ensure rules are being inserted
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-04-02 15:33:42 +00:00
Michael Tremer
55209df391 wlanclient: Do not force using legacy interface to talk to the kernel
"wireless extensions" is the old interface to speak to the kernel.

All newer drivers support nl80211 now.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-02-16 17:44:45 +01:00
Michael Tremer
675c9ca558 ssh: Ignore any errors when stopping daemon
The SSH init script only kills the main daemon which leads to any child
processes (for remaining connections) being untouched.

killproc returns 4 (unknown error) when not all processes were killed
which is not intended here. Therefore we ignore the error and do not
pause the shut down process for a minute.

Fixes: #12544
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-13 11:12:03 +00:00
Michael Tremer
80b1dc64f2 AWS: Ensure the product UUID is uppercase
Newer kernels seem to return this in lowercase format which makes the
comparison to "EC2" fail.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-13 10:51:58 +00:00
Michael Tremer
baa9712372 AWS: Hypervisor UUID has been dropped from newer kernels
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-13 10:51:51 +00:00
Michael Tremer
3403eb308c wireless client: Try using SHA256 over SHA1 when possible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-12 10:39:08 +00:00
Michael Tremer
5addf34780 wireless client: Add support for WPA3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-12 10:38:59 +00:00
Giovanni Aneloni
2b113aebc4 unbound: make local zone transparent
Change local zone to "trasnparent" instead of "typetrasnparent" to avoid NXDOMAIN when querying local hosts

Fixes: #12391
Signed-off-by: Giovanni Aneloni <giovanni.aneloni@live.com>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-07 11:55:03 +00:00
Michael Tremer
e704dbe6bd network: Mount/umount network file systems at the correct time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-11-17 16:35:13 +00:00
Arne Fitzenreiter
a832b5c2e6 Merge remote-tracking branch 'origin/master' into next
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-11-13 18:21:20 +00:00
Michael Tremer
65ef52a335 DNS: Make YouTube configurable for Safe Search
When safe search is enabled, it is being enabled on YouTube, too.

This creates problems in some scenarios like schools where politics
is being tought as well as other subjects that might be censored by
YouTube (i.e. election TV spots).

Therefore it is now possible to exclude YouTube from Safe Search
but keep it enabled for the search engines.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-11-11 12:08:21 +00:00
Michael Tremer
acc8336f94 OpenSSH: Fix initscript to actually kill the daemon
The SSH daemon was not terminated properly because killproc
tried to terminate all processes with that name. That caused
that the master daemon respawned some processed which were
therefore not killed because killproc determined a list of
PIDs only once before starting sending signals.

This patch only kills the master process which is being
determined by using sshd's pid file.

That results in all established connections not being
interrupted any more.

Furthermore, the loadproc function checks if any processes
with the given name are already running which could be true
if there are any connections still open.
That check is being disabled with the -f switch and sshd
will always be launched.

"/etc/init.d/sshd stop" might now print FAIL if only the
master process, but no connection processes were terminated.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-10-27 14:20:56 +01:00
Michael Tremer
5ae3706d20 cloud-init: Extend to support Exoscale
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-09-25 10:37:06 +00:00
Michael Tremer
0e457b13ea smt: Fix check to detect if a system is running virtually
/sys/hypervisor exists when a host has loaded the kvm modules.

Fixes: #12472
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-08-21 09:52:15 +00:00