Commit Graph

11701 Commits

Author SHA1 Message Date
Vincent Li
d544247a53 linux: change kernel NR_CPUS to 512
loxilb MAX_CPUS for cpu_map set to 128, BPFire
original NR_CPUS 64 result in error:

libbpf: map 'cpu_map': failed to create: Argument list too long

see https://github.com/loxilb-io/loxilb/issues/661

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-05-03 16:56:06 +00:00
Vincent Li
04cb6cc6ff libbpf: switch to libbpf 0.8.3
use libbpf 0.8.3 for loxilb

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-05-03 16:52:40 +00:00
Vincent Li
be1fc5ce77 xdp-tools: add xdp-udp
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-24 00:48:04 +00:00
Vincent Li
fcdc42ea40 ddos.cgi add DNS DDoS UI
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-18 02:29:27 +00:00
Vincent Li
9a53289a23 ddos.cgi add UDP DDoS WebUI
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-17 00:17:41 +00:00
Vincent Li
d7544e6192 Enable kernel BPF without tracing capability
enable kernel BPF XDP/TC capability, no tracing

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-09 01:50:14 +00:00
Vincent Li
d9a8ed29e8 Revert "Enable kernel BPF/BTF"
We need to disable BPF trace capability and disallow
unprivileged BPF so

This reverts commit d0bd3cc033.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-08 19:32:11 +00:00
Vincent Li
9f86b661cb Add xdp dns rate limit program with bpf_printk deleted
XDP dns rate limit program has static tail call
which requires revert xdp-tool commit:
(039bdea "xdp-loader: Only load the BPF program we need from object files")

XDP dns rate limit program also uses bpf_printk helper which is not
supported on FireBeeOS since kernel CONFIG_BPF_EVENTS which allows user
to do kprobe, uprobe, tracepoint is not enabled, so bpf_printk helper is
not available, so removed bpf_printk

see discussion in [0] xdp-loader load xdp program with bpf tail call result in Bad file descriptor(-9)

[0] https://github.com/xdp-project/xdp-tools/issues/377

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-08 19:15:32 +00:00
Vincent Li
35f1987b14 Revert "Add ecapture add-on"
This reverts commit 0864b3a5ba.

User might be concerned firewall admin user capture SSL clear
text, so remove ecapture.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-07 15:22:00 +00:00
Vincent Li
7b90358c1e Add missing xdp-tools utilities
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-06 18:43:15 +00:00
Vincent Li
ef347b3a28 Revert "Enable serial console in default grub"
This reverts commit 7773f82726.

After ISO installation in real hardware and reboot,
the boot process appears to be "stucking" in
"dracut: Switching root".

see https://github.com/vincentmli/FireBeeOS/issues/1

revert the commit resolves the issue, I suspect maybe
the output after "dractu: Switching root" is directed
to serial console? anyway revert this change temporarily.
flash image build still need to have serial console access
for better user experience when trying flash image in KVM/Libvirt
virtual environment.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-06 18:43:15 +00:00
Vincent Li
9353496864 Add ddosctrl program for safe execution
add ddosctrl to start/stop/status XDP
program from ddos.cgi safely.

permission of ddosctrl

chown root.nobody /usr/local/bin/ddosctrl
chmod u+s /usr/local/bin/ddosctrl

result:

-rwsr-x--- 1 root nobody 14672 Mar 19 09:58 /usr/local/bin/ddosctrl

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-20 17:42:30 +00:00
Vincent Li
936c1a4fa0 Add XDP program load/unload script
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-20 17:42:30 +00:00
Vincent Li
8e4e24a9b9 Add XDP DDoS ddos.cgi
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-20 17:42:07 +00:00
Vincent Li
31f89d1813 Add eBPF XDP DDoS menu
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-16 15:54:04 +00:00
Vincent Li
e48a29a3f1 Add XDP SYNPROXY rules in raw and filter table
XDP SYNPROXY requires setting up iptables rule
in raw table PREROUTING chain and filter table
INPUT chain.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-16 03:26:18 +00:00
Vincent Li
0864b3a5ba Add ecapture add-on
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:02 +00:00
Vincent Li
05ac4be397 add bpftool and re-arrange lfs build order
add lfs bpftool from [0] first to meet lfs
xdp-tools requirement.

also re-arrange BPF related add-on build order
to meet lfs knot build since it requires XDP
xsk.h

[0] https://github.com/libbpf/bpftool/releases/download/v7.3.0/bpftool-libbpf-v7.3.0-sources.tar.gz

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:02 +00:00
Vincent Li
45f0a5d543 Add lfs libbpf 1.3.0 add-on
follow [0] to add libbpf add-on for bpf user space
program to open,load,attach bpf program.

to build libbpf add-on, follow [1] first, then follow [0]

[0] https://www.ipfire.org/docs/devel/ipfire-2-x/addon-howto
[1] https://www.ipfire.org/docs/devel/ipfire-2-x/build-howto

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:01 +00:00
Vincent Li
e97d70d152 Add bpftool
bpftool comes with Linux kernel source and
it is handy to have bpftool on ipfire kernel
with BPF/BTF enabled to diagnosis BPF related
issue.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:01 +00:00
Vincent Li
d0bd3cc033 Enable kernel BPF/BTF
enable kernel BPF/BTF build for ebpf/XDP
program packet filtering

see hack in [1]

[1] https://community.ipfire.org/t/how-to-customize-config-kernel-kernel-config-x86-64-ipfire/11100/7

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:01 +00:00
Vincent Li
7773f82726 Enable serial console in default grub
serial console allows user to easy access
to ipfire image instance in KVM/Libvirt
environment by virt console <ipfire instance>

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-01 04:08:01 +00:00
Arne Fitzenreiter
06a6788e51 core184: fix rtl8812au module compression
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-18 07:59:18 +01:00
Adolf Belka
dd24668627 files: Ship collectd.conf for bug#12981
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 19:06:20 +00:00
Adolf Belka
2071b2964f graphs.pl: Fixes graph failure when the DROP_HOSTILE directory is missing
- If a fresh install is done then only the DROP_HOSTILE_IN & DROP_HOSTILE_OUT
   rrd directories are created.
- With the DROP_HOSTILE directory missing then when the fwhits graph is updated an error
   message is caused by the inability to open the required files.
- This patch adds an if/else loop into the fwhits graph code to deal with the two cases
   of the DROP_HOSTILE being present or not depending on the history and if a backup with
   logs has been restored from when DROP_HOSTILE was in use.
- Tested on vm testbed and created a historical line for the hostile data when it was not
   split
- There might be a simpler or better approach than this but it was the only option I
   could identify. I couldn't find anything about being able to use if loops within the
   RRD::Graph loop

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 19:01:44 +00:00
Michael Tremer
f3d7ce3b5d core184: Ship unbound
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 19:01:25 +00:00
Matthias Fischer
e705636a85 unbound 1.19.1: Fix for forgotten rootfile
Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 19:00:30 +00:00
Michael Tremer
0698daa3fb core184: Ship bind
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 19:00:03 +00:00
Matthias Fischer
de9e44e82d bind: Update to 9.16.48
For details see:
https://downloads.isc.org/isc/bind9/9.16.48/doc/arm/html/notes.html#notes-for-bind-9-16-48

Fixes several CVEs.

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-14 18:59:48 +00:00
Michael Tremer
4a9fe2eaaa Merge branch 'next' 2024-02-10 11:43:56 +00:00
Michael Tremer
ee4c8d28e4 core183: Ship suricata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-09 14:15:32 +00:00
Michael Tremer
bce42f80eb core184: Ship suricata & libhtp
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-09 11:39:02 +00:00
Michael Tremer
8e111d6f03 core184: Ship squid
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-09 11:26:55 +00:00
Michael Tremer
498d5613d6 core184: Ship expat
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-09 11:25:19 +00:00
Adolf Belka
49b8893ff5 expat: Update to version 2.6.0
- Update from version 2.5.0 to 2.6.0
- Update of rootfile
- This update fixes two CVE's. Not sure if IPFire would be vulnerable or not but safer
   to update anyway.
- Changelog
    2.6.0
        Security fixes:
	      #789 #814  CVE-2023-52425 -- Fix quadratic runtime issues with big tokens
	                   that can cause denial of service, in partial where
	                   dealing with compressed XML input.  Applications
	                   that parsed a document in one go -- a single call to
	                   functions XML_Parse or XML_ParseBuffer -- were not affected.
	                   The smaller the chunks/buffers you use for parsing
	                   previously, the bigger the problem prior to the fix.
	                   Backporters should be careful to no omit parts of
	                   pull request #789 and to include earlier pull request #771,
	                   in order to not break the fix.
	           #777  CVE-2023-52426 -- Fix billion laughs attacks for users
	                   compiling *without* XML_DTD defined (which is not common).
	                   Users with XML_DTD defined have been protected since
	                   Expat >=2.4.0 (and that was CVE-2013-0340 back then).
        Bug fixes:
	            #753  Fix parse-size-dependent "invalid token" error for
	                    external entities that start with a byte order mark
	            #780  Fix NULL pointer dereference in setContext via
	                    XML_ExternalEntityParserCreate for compilation with
	                    XML_DTD undefined
	       #812 #813  Protect against closing entities out of order
        Other changes:
	            #723  Improve support for arc4random/arc4random_buf
	       #771 #788  Improve buffer growth in XML_GetBuffer and XML_Parse
	       #761 #770  xmlwf: Support --help and --version
	       #759 #770  xmlwf: Support custom buffer size for XML_GetBuffer and read
	            #744  xmlwf: Improve language and URL clickability in help output
	            #673  examples: Add new example "element_declarations.c"
	            #764  Be stricter about macro XML_CONTEXT_BYTES at build time
	            #765  Make inclusion to expat_config.h consistent
	       #726 #727  Autotools: configure.ac: Support --disable-maintainer-mode
	    #678 #705 ..
	  #706 #733 #792  Autotools: Sync CMake templates with CMake 3.26
	            #795  Autotools: Make installation of shipped man page doc/xmlwf.1
	                    independent of docbook2man availability
	            #815  Autotools|CMake: Add missing -DXML_STATIC to pkg-config file
	                    section "Cflags.private" in order to fix compilation
	                    against static libexpat using pkg-config on Windows
	       #724 #751  Autotools|CMake: Require a C99 compiler
	                    (a de-facto requirement already since Expat 2.2.2 of 2017)
	            #793  Autotools|CMake: Fix PACKAGE_BUGREPORT variable
	       #750 #786  Autotools|CMake: Make test suite require a C++11 compiler
	            #749  CMake: Require CMake >=3.5.0
	            #672  CMake: Lowercase off_t and size_t to help a bug in Meson
	            #746  CMake: Sort xmlwf sources alphabetically
	            #785  CMake|Windows: Fix generation of DLL file version info
	            #790  CMake: Build tests/benchmark/benchmark.c as well for
	                    a build with -DEXPAT_BUILD_TESTS=ON
	       #745 #757  docs: Document the importance of isFinal + adjust tests
	                    accordingly
	            #736  docs: Improve use of "NULL" and "null"
	            #713  docs: Be specific about version of XML (XML 1.0r4)
	                    and version of C (C99); (XML 1.0r5 will need a sponsor.)
	            #762  docs: reference.html: Promote function XML_ParseBuffer more
	            #779  docs: reference.html: Add HTML anchors to XML_* macros
	            #760  docs: reference.html: Upgrade to OK.css 1.2.0
	       #763 #739  docs: Fix typos
	            #696  docs|CI: Use HTTPS URLs instead of HTTP at various places
	    #669 #670 ..
	    #692 #703 ..
	       #733 #772  Address compiler warnings
	       #798 #800  Address clang-tidy warnings
	       #775 #776  Version info bumped from 9:10:8 (libexpat*.so.1.8.10)
	                    to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/
	                    for what these numbers do
        Infrastructure:
	       #700 #701  docs: Document security policy in file SECURITY.md
	            #766  docs: Improve parse buffer variables in-code documentation
	    #674 #738 ..
	    #740 #747 ..
	  #748 #781 #782  Refactor coverage and conformance tests
	       #714 #716  Refactor debug level variables to unsigned long
	            #671  Improve handling of empty environment variable value
	                    in function getDebugLevel (without visible user effect)
	    #755 #774 ..
	    #758 #783 ..
	       #784 #787  tests: Improve test coverage with regard to parse chunk size
	  #660 #797 #801  Fuzzing: Improve fuzzing coverage
	       #367 #799  Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests
	       #698 #721  CI: Resolve some Travis CI leftovers
	            #669  CI: Be robust towards absence of Git tags
	       #693 #694  CI: Set permissions to "contents: read" for security
	            #709  CI: Pin all GitHub Actions to specific commits for security
	            #739  CI: Reject spelling errors using codespell
	            #798  CI: Enforce clang-tidy clean code
	    #773 #808 ..
	       #809 #810  CI: Upgrade Clang from 15 to 18
	            #796  CI: Start using Clang's Control Flow Integrity sanitizer
	  #675 #720 #722  CI: Adapt to breaking changes in GitHub Actions Ubuntu images
	            #689  CI: Adapt to breaking changes in Clang/LLVM Debian packaging
	            #763  CI: Adapt to breaking changes in codespell
	            #803  CI: Adapt to breaking changes in Cppcheck

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-09 11:24:59 +00:00
Michael Tremer
b8c898b482 core184: Ship vpnmain.cgi
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:09:50 +00:00
Michael Tremer
9f01011570 vpnmain.cgi: Add option to regenerate the host certificate
This is necessary since we now have a much shorter lifetime for the host
certificate. However, it is complicated to do this is which is why we
are copying the previous certificate and generate a new CSR. This is
then signed.

A caveat of this patch is that we do not rollover the key.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:08:51 +00:00
Michael Tremer
08c20b8457 core184: Ship HOSTILE IN/OUT changes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:05:08 +00:00
Michael Tremer
7c9a6cf163 firewall: graphs: Add a line for the total number of hostile hits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:02:41 +00:00
Adolf Belka
216d4bfc3d graphs.pl: Fixes bug12981 - Creates in and outgoing drop hostile graph entries
- This v3 version of the patch set splits the single hostile networks graph entry into
   incoming hostile networks and outgoing hostile networks entries.

Fixes: bug12981
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:02:18 +00:00
Adolf Belka
d2b423b1dc collectd.conf: Fix bug12981 - This creates in and out drop hostile data collection
- In this v3 version of the patch set the splitting of drop hostile logging into incoming
   and outgoing logging means that the data collection and graphs need to have drop hostile
   also split into incoming and outgoing.

Fixes: bug12981
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:02:18 +00:00
Adolf Belka
f23555a1c6 rules.pl: Fixes bug12981 - Add in and out specific actions for drop hostile
- This changes the action from HOSTILE_DROP to HOSTILE_DROP_IN for icnoming traffic and
   HOSTILE_DROP_OUT for outgoing traffic enabling logging decisions to be taken on each
   independently.

Fixes: bug12981
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Acked-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:02:17 +00:00
Michael Tremer
7d0f48668b elfutils: Don't ship tools
I don't think there is any point that we ship these.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:01:25 +00:00
Michael Tremer
fb7d13725f core184: Remove elfutils pakfire metadata (if installed)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 10:58:21 +00:00
Adolf Belka
816af4dfb7 elfutils: Move from addon to core program. Required by suricata-7.0.2 for execution
- Updated lfs file to core program type
- Moved rootfile from packages to common
- Older suricata versions required elfutils only for building but suricata-7.0.2 fails to
   start if elfutils is not present due to libelf.so.1 being missing.
- The requirement for elfutils is not mentioned at all in the changelog.

Fixes: Bug#13516
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 10:55:34 +00:00
Arne Fitzenreiter
437bfd6780 vdr_streamdev: update to 0.6.3
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-05 11:07:03 +01:00
Arne Fitzenreiter
6179f056da vdr_epgsearch: update to 2.4.2
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-05 11:06:29 +01:00
Arne Fitzenreiter
2c930773f5 vdr_eepg: update PLUGVER to new vdr
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-05 11:05:02 +01:00
Arne Fitzenreiter
bc4b8c4858 vdr_dvbapi: update pluginver for new vdr
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-05 11:03:33 +01:00
Arne Fitzenreiter
8fcd99355b borgbackup: fix rootfile
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-04 06:55:10 +00:00