14803 Commits

Author SHA1 Message Date
Ad Schellevis
6f46fe3080 System/Log Files - add "Service Log (this boot)" including parser as an option to provide access to entries collected in https://github.com/opnsense/core/issues/6099 (proposal for 23.1) 2022-12-19 10:08:44 +01:00
Franco Fichtner
20b25258ff ipsec: style issues 2022-12-19 09:56:46 +01:00
Franco Fichtner
6cbfc164c5 ipsec: update help text 2022-12-19 09:56:25 +01:00
Franco Fichtner
a419b9e32b src: style sweep 2022-12-19 09:27:51 +01:00
Ad Schellevis
6d6b52ea7b System: Access / Effective Privileges - always show endpoints and make sure we can search them as well. (different solution for https://github.com/opnsense/docs/pull/438) 2022-12-18 16:21:26 +01:00
kulikov-a
bee24edaea
change working dir before check (#6197) 2022-12-17 18:14:19 +01:00
Stephan de Wit
403573a07b unbound / overview: simplify previous 2022-12-16 16:04:20 +01:00
Stephan de Wit
5e1e03df35 unbound / overview: add support for TTLs 2022-12-16 15:18:38 +01:00
Franco Fichtner
b8e9bde8f8 interfaes: add -backhole to prefix route #3304 2022-12-16 12:53:31 +01:00
Stephan de Wit
b7a884a0aa unbound / overview: improve counter visibility 2022-12-16 11:07:36 +01:00
Stephan de Wit
1bf669f7f1 unbound / overview: remove service widget and rename menu item 2022-12-16 11:04:31 +01:00
Stephan de Wit
b12ec9b049 unbound / overview: log non-A/AAAA/CNAME RR types as well 2022-12-16 10:12:46 +01:00
Franco Fichtner
afa13df34d pkg: add new dependencies 2022-12-15 13:15:01 +01:00
Stephan de Wit
a4ae646327
unbound / overview: migrate to duckdb (#6182)
* unbound / overview: migrate to duckdb

* unbound: make ajax calls concurrent, no need to wait on each other

* unbound / overview: adjust to DataFrame optimization

While previous insert statements with SQLite had to be rate limited to prevent blocking on the
side of the logger, this limitation can be ditched entirely with the approach of appending DataFrames.

Also, the client chart expects timestamps for the entirety of the dataset, so make use of
the NaN value.

* unbound / overview: connection can be none

* unbound / overview: include DNSSEC and timing information and refactor logger

The logger was lacking some error handling due to it being daemonized. On a restart the process
will still produce a core dump likely associated with daemonization, but this will be addressed in a separate issue

To accomodate future additions, DNSSEC and RTT information is now also included in the data set.

* remove leftover syslog message

* unbound / overview: add UUID as well

* unbound / overview: account for null return_msg objects

* unbound / overview: Move DNS statistics to reporting->dns, add detailed grid

This also introduces the option to clear the DNS data. Also restructure the data to a more sensible flow representation.
2022-12-15 10:45:16 +01:00
Franco Fichtner
33682cc646 src: style sweep 2022-12-14 22:30:03 +01:00
Ad Schellevis
2d9bdcfbab VPN/IPsec new MVC module - fix child policies field. 2022-12-14 20:11:50 +01:00
Ad Schellevis
c0fe840fd1 VPN/IPsec new MVC module - hook MVC descriptions in VPN->IPsec->Status Overview 2022-12-14 19:58:59 +01:00
Ad Schellevis
789a151f2d VPN: IPsec: Tunnel Settings - allow search all phase2 entries via an api call. 2022-12-14 17:52:46 +01:00
Franco Fichtner
5169315bf2 firmware: add fingerprint for 23.1 2022-12-14 12:41:38 +01:00
Franco Fichtner
e01c506cc4 system: do the same here
The async case yields to the GUI page rendering so do not
modify it.
2022-12-14 08:57:00 +01:00
Franco Fichtner
b258333ae7 console: stay in script until shutdown is complete 2022-12-14 08:47:29 +01:00
Ad Schellevis
fa1c49e080 VPN/IPsec new MVC module - remove unsupported proposals 2022-12-13 21:51:25 +01:00
Ad Schellevis
e4ebc59a70 VPN/IPsec new MVC module - remove unsupported proposals 2022-12-13 18:14:22 +01:00
Ad Schellevis
8ca676e43b Services: Unbound DNS: Overrides - remove "delete selected" button, not applicable for master/detail grid 2022-12-13 17:39:47 +01:00
Ad Schellevis
540433730b VPN/IPsec new MVC module - add "commonly used" proposals on top, extracted from examples in https://wiki.strongswan.org/projects/strongswan/wiki/CipherSuiteExamples
o add a clear warning about the null cipher only being used for testing
2022-12-13 16:01:10 +01:00
Ad Schellevis
5b03e8cca9 plist 2022-12-13 13:40:24 +01:00
Ad Schellevis
51b346eab7 Tunables - add 90-sysctl script to re-apply tunables in case a module depends on them. 2022-12-13 13:38:49 +01:00
Ad Schellevis
cf840140d8 Firewall: Diagnostics: States - re-add labels removed by https://github.com/opnsense/core/commit/63eeaffe21f7 2022-12-13 11:36:18 +01:00
Franco Fichtner
382bb09312 openvpn: follow d4e637806 in wizard as well 2022-12-13 09:24:42 +01:00
Ad Schellevis
bf6642d9f7 VPN/IPsec add new MVC module - model regression, proposals should be multi-select 2022-12-12 22:16:40 +01:00
Ad Schellevis
926ca9f6d5 VPN/IPsec add new MVC module - when only MVC based module is used, make sure the interface is still enabled. 2022-12-12 21:10:57 +01:00
kulikov-a
fee706bfba
IDS - reload grid after log drop (#6190) 2022-12-12 20:44:51 +01:00
Ad Schellevis
746e7fb128 VPN/IPsec add new MVC module - various regressions and omissions 2022-12-12 18:21:24 +01:00
Ad Schellevis
92e5536ca0 Services: Intrusion Detection: Administration - Alerts: keep grid to prevent widgets being removed. closes https://github.com/opnsense/core/pull/6165 2022-12-12 15:27:36 +01:00
Franco Fichtner
8ae6f43876 ipsec: style sweep 2022-12-12 10:48:38 +01:00
Ad Schellevis
5752bd6eb3
VPN/IPsec add new MVC module (#6187)
Add new component to manage IPsec connections in a similar format as `swanctl.conf` is defined (https://docs.strongswan.org/docs/5.9/swanctl/swanctlConf.html).  As this needs to work in conjunction with the legacy IPsec module, some minor changes are needed to the current state. 

o VPN/IPsec/Pre-Shared Keys - add optional remote identifier (merges in `ipsec.inc`)
o VPN/IPsec/Virtual Tunnel Interfaces - new component to show existing VTI's and add new ones (as these are separate entities)
o VPN/IPsec/Connections [new] - configuration tool to build `swanctl.conf` 
o Integrate MVC generated `swanctl.conf` into `ipsec.inc` (legacy overlays)
o Integrate manually configured VTI's into `ipsec.inc` (`array_merge(ipsec_get_configured_vtis(), (new \OPNsense\IPsec\Swanctl())->getVtiDevices())`)
o fix minor php warning when changing reqid's (`$local|remote_configured` initialisation when `$configured_intf[$intf]` not found)
2022-12-12 10:37:43 +01:00
Ad Schellevis
d25318a483 MVC/Firewall/Util - import functionality of find_smallest_cidr() into MVC so IPsec VTI code can use it as well. 2022-12-11 17:08:43 +01:00
Ad Schellevis
63eeaffe21 Firewall: Diagnostics: States - Performance improvements and better address parsing in search.
As the output of pfctl -vvss can grow quite rapidly, it seemed like a good idea to run this code through a profiler. Some of the hotspots (like parsing addresses) are now cached in memory to prevent over enthusiastic computation, which can save quite some processing time. Pushing down the string join on which the pattern search should match does help prevent to prevent compiling a search string which turns out to be irrelevant later (no filter or ip[+port] filter).

The network (address) search handles (optional) ports as well now, which allows for patterns like `10.0.0.1:80` and `10.0.0.0/24:80`.
2022-12-07 09:40:48 +01:00
kulikov-a
a4b5a815c1 unbound: always use python first 2022-12-05 21:14:51 +01:00
Ad Schellevis
f5cd86b61d Filter / Diagnostics - performance improvement when fetching rule labels.
Since rule labels are directly hooked to the modification time of /tmp/rules.debug, we don't have to recalculate the offsets on every request. This patch saves the labels and the last modification time so we can refresh when changed or non-existent.
2022-12-05 18:41:43 +01:00
Ad Schellevis
f55c828e23 MVC / bootgrid - similar issue as 926a4c8e68 for a couple of MVC components, when POST sends an empty array, we should handle that properly. 2022-12-05 17:56:21 +01:00
Ad Schellevis
ae8e0ce4a4 syslog/lockout handler - better trap ssh messages and improve lockout behaviour.
As the client still might have a state when being kicked-out, we should kill any state the client has while adding it to the alias. Apparantly our ssh messages are only catched partially, so add ".*Authentication error for .*" to the list as well. To ease testing, better detect the location of the timestamp so we can use a construction like this to feed amn existing log:

lockout_handler < /var/log/audit/audit_20221205.log
2022-12-05 14:52:16 +01:00
Ad Schellevis
13ea70af04 unbound: change working directory before check. closes https://github.com/opnsense/core/issues/6171 2022-12-05 11:42:53 +01:00
kulikov-a
623b2643e6
unbound: typo (#6168) 2022-12-05 08:42:38 +01:00
Ad Schellevis
c714f08f92 Services: Web Proxy: Administration - fix broken " Google GSuite restricted" 2022-12-03 12:33:13 +01:00
Stephan de Wit
53dd65709a
unbound: add client activity chart (#6161)
* unbound / overview: add client activity chart, include logarithmic scale on both charts

* unbound: remove tooltip from workaround datapoints

* unbound / overview: also end the x axis properly on log scale

* unbound / overview: prevent queries on non-existing database

* unbound / overview: replace cache hits with blocklist size and update icons

* unbound / overview: refactor rolling API call
2022-12-02 10:57:20 +01:00
kulikov-a
47bbab96dc
MVC - match on multivalued (#6152) 2022-12-02 09:09:02 +01:00
kulikov-a
8e5b0a6c76
tokenize2: unicode content (#6166) 2022-12-02 09:01:35 +01:00
Stephan de Wit
842bcd470a unbound / dnsbl_module: log null client values on AttributeError 2022-11-30 09:06:10 +01:00
Ad Schellevis
b584e1375d MVC - HostnameField and ZoneRootAllowed, make sure we allow @.my.sub.domain as valid input. closes https://github.com/opnsense/core/issues/6155 2022-11-26 09:25:53 +01:00