Matt W
be87b3eaf2
Change types of repeated args and envs fields ( #1063 )
...
* Change types of repeated args and envs fields
* Update args and env testdata strings to base64
* Remove whitespace
2023-03-31 13:18:09 -04:00
Russell Hancox
0fe672817e
sync: Fix case of empty header name ( #1062 )
2023-03-28 11:50:11 -04:00
Russell Hancox
c3b2fbf512
sync: Allow server to override the header for transmitting XSRF tokens ( #1060 )
...
This change allows a sync server to change the header that Santa will use to send XSRF tokens on subsequent requests by putting the header name in the header.
2023-03-27 18:11:11 -04:00
Nick Gregory
5295faef0e
Fix a couple last TSAN failures ( #1056 )
...
* Skip testHandleMessage when testing with tsan
* fix other 2 tsan failures
* change action_env->test_env in bazelrc for sanitizers
* revert Source/santactl/BUILD formatting
2023-03-23 11:11:29 -04:00
Liam Nicholson
0209344f62
santad: Fix SD Card Block not operating on Internal SD Card Readers ( #1055 )
2023-03-22 17:54:11 -04:00
Matt W
53ca5eb811
Support filesystem monitoring config embedded in main Santa config ( #1054 )
...
* Allow setting file access policy in main Santa config
* Add some tests
2023-03-20 16:47:34 -04:00
Matt W
33c7aab9f1
Basic rate limiting for File Access Authorizer ( #1053 )
...
* WIP basic rate limiting support
* WIP added basic metrics when rate limited
* Hookup new metrics
* Cleanup old TODO
* PR feedback, update comments
2023-03-20 15:58:49 -04:00
Matt W
5e0a383662
Properly report "file access client enabled" metrics ( #1051 )
2023-03-14 15:01:03 -04:00
Russell Hancox
8055b451bb
Config: Ignore static rules with an invalid identifier ( #1049 )
2023-03-07 10:33:13 -05:00
Russell Hancox
c5e7736eef
santactl/rule: Validate identifier is a valid SHA-256 for binary/cert rules ( #1045 )
...
Previously validation only applied when using the --sha256 flag, now it applies to --identifier too unless adding a team ID rule. The validation is also a bit more robust.
Fixes #1044
2023-03-01 13:44:44 -05:00
Matt W
61558048c0
Add basic metrics to report when the FAM client is enabled ( #1043 )
2023-02-17 11:57:18 -05:00
Matt W
cf0e3fd3db
Add support for platform binary to process exceptions ( #1041 )
...
* Add support for platform bianry to process exceptions
* Fun with bool types
2023-02-17 11:30:46 -05:00
Matt W
15519c6de8
Clear ES cache when watch items change ( #1042 )
2023-02-17 11:04:08 -05:00
Nick Gregory
27ae60e265
Small test fixes to make sanitizers happy ( #1030 )
...
* Small test fixes to make sanitizers happy
* lint
* missing authclient
* new MockEndpointSecurityAPI per subtest
2023-02-06 20:16:22 +00:00
Matt W
29a50f072c
Report log type in santactl status ( #1036 )
...
* Report log type in santactl status
* Remove unnecessary fallback case
2023-02-06 14:59:42 -05:00
Matt W
a97e82e316
Replace SNTDecisionCache dictionary with SantaCache ( #1034 )
...
* Replace SNTDecisionCache dictionary with SantaCache
* PR feedback. Fix tests.
2023-02-03 15:58:53 -05:00
Russell Hancox
532120ac02
Configurator: Return an unsafe_unretained pointer to avoid needless retain/release ( #1035 )
2023-02-03 15:55:15 -05:00
Russell Hancox
ec934854fc
santactl & syncservice: Use synchronousRemoteObjectProxy where it makes sense ( #1033 )
2023-02-03 14:31:37 -05:00
Matt W
ad0e2abdac
Restart daemon on log type change ( #1031 )
...
* WIP register for event log type changes. Flush metrics.
* Add Flush to writer interface. Flush logger on log type change.
* Standardize non-thread-safe method names
2023-02-03 11:04:57 -05:00
Matt W
dc11ea6534
Rework timeout handling in metrics HTTP writer ( #1029 )
...
* Change HTTP writer to use session config timeouts
* Remove unnecessary block variable
* Fix tests
* Revert serializer changes for now
* Remove setting timeoutIntervalForRequest
2023-02-02 10:58:28 -05:00
Matt W
3acf3c1d00
Use cached sizes when serializing ( #1028 )
2023-01-30 16:08:38 -05:00
Matt W
41bc3d2542
Perf: Translocate cache, reserve proto repeated fields ( #1027 )
...
* Translocate cache, reserve proto repeated fields
* Remove copy/paste
2023-01-30 12:18:32 -05:00
Pete Markowsky
45a5d4e800
Fix: Rewrite the SNTMetricHTTPWriter to avoid potential stack corruption ( #1019 )
...
* Updated the SNTMetricHTTPWriter to use a for loop to prevent crashes caused by writing to stop.
* Make requests serial again.
* Fix the typo, I just pushed.
* Ensure we only lookup the timeout value once.
* Make SNTConfigurator assignment only happen once.
2023-01-30 11:53:26 -05:00
Matt W
82bd981f31
Fix team ID and signing ID checks ( #1026 )
...
* Fix policy checks with missing team/signing ids
* Update docs to clarify how symbolic links are handled
2023-01-30 09:14:27 -05:00
Matt W
a3ed5ccb40
Log type metrics ( #1018 )
...
* Add event log type to metrics
* lint
* PR Feedback
2023-01-27 10:22:09 -05:00
Matt W
2313d6338d
Remove extra expectation in test ( #1015 )
2023-01-26 11:42:14 -05:00
Russell Hancox
414fbff721
Project: Fix module maps for swift libraries and their dependencies ( #1014 )
2023-01-26 09:15:30 -05:00
Matt W
5a2e42e9b4
Reduce calls into configurator ( #1013 )
2023-01-25 16:51:13 -05:00
Matt W
f8d1b2e880
Reduce proto warning severity ( #1012 )
2023-01-25 14:37:00 -05:00
Matt W
5f4d2a92fc
Ensure watch item names conform to naming requirements ( #1011 )
...
* Ensure watch item names conform to naming requirements
* Only compile regex once
2023-01-25 13:27:27 -05:00
Russell Hancox
4ccffdca01
GUI: Migrate DeviceMessageWindow to SwiftUI ( #1010 )
2023-01-25 12:16:31 -05:00
Russell Hancox
eee2149439
GUI: Re-write AboutWindow view in SwiftUI ( #1007 )
2023-01-20 13:43:50 -05:00
Russell Hancox
dcbbc33e5e
Revert "Configurator: Apply config updates in non-daemon processes ( #1003 )" ( #1008 )
...
This reverts commit 1e88b88ee6 .
2023-01-20 13:30:06 -05:00
Matt W
ebe5166d77
Prevent recursive reconnect attempts ( #1005 )
2023-01-19 10:03:15 -05:00
Matt W
6e5a530df5
Low hanging fruit perf changes ( #1004 )
...
* Some minor changes for some easy perf wins based on trace info
* Manually track buffer offsets in File writer
* Add metrics tests
* Call members from appropriate shared object
2023-01-18 15:14:48 -05:00
Russell Hancox
1e88b88ee6
Configurator: Apply config updates in non-daemon processes ( #1003 )
2023-01-18 10:00:39 -05:00
Nick Gregory
2d74f36ddb
Reconnect to santametrics service on failure ( #1001 )
...
* Reconnect to santametrics service on failure
* use logging macros
2023-01-12 10:41:36 -05:00
Matt W
3a3564f36b
Add watch item state to santactl status ( #1000 )
...
* Add method to get WatchItems state
* Update santactl status with watch items state
* Update status label
* PR feedback - add missing dispatch_group_leave
2023-01-12 10:38:12 -05:00
Matt W
d3c7cbbcc3
Rename type aliases ( #999 )
2023-01-11 11:30:11 -05:00
Matt W
1ff6967934
Support configuring signing IDs for process exceptions ( #998 )
2023-01-11 09:42:32 -05:00
Matt W
53877f6114
Adopt new FS Access Auth config format and policy application logic ( #994 )
...
* WIP parsing new watch item config format
* Change WatchItemPolicy param order. Define policy default constants.
* rename write_only policy member to allow_read_access
* WIP parsing new config format, WatchItemsTest all pass
* Restructured process config parsing. Added tons of tests.
* Abstract NSError creation to a function
* Better errors. Bubble up NSErrors to reduce duplicate messages. More Tests.
* Validate min string lengths. Add a bunch more tests.
* Adopt new policy process logic and add tests
* Address PR feedback
2023-01-10 16:40:13 -05:00
Matt W
8c50af4041
Add policy version and name to basic string serializer ( #997 )
2023-01-10 13:17:21 -05:00
Matt W
df3aac5baf
Change name of santa config keys for file access monitoring ( #995 )
2023-01-09 21:08:57 -05:00
Matt W
4adad2ecfa
More event type support ( #992 )
...
* Add truncate and create support
* Add metrics support
2023-01-06 12:51:40 -05:00
Matt W
dc1a3c27c2
Add more event coverage in the file access client ( #991 )
...
* Support more file access protection event types
* Update tests for new events and method signatures
* lint
* Add metrics for new event types
* Add support for LINK event
* Fix spacing
2023-01-05 13:03:21 -05:00
Nick Gregory
a2f8030482
Fuzz embedded plist reading ( #990 )
...
* fuzz embedded plist reading
* remove newline
* consolidate size checking
* brackets
Co-authored-by: Russell Hancox <russellhancox@users.noreply.github.com >
2023-01-03 14:22:31 -05:00
Matt W
338a4f738f
Opportunistically use ES cache when possible ( #989 )
...
* WIP fixing up ES cacheability in file access client
* Removed old code from before simplification
* Add more tests
2023-01-03 14:09:21 -05:00
Nick Gregory
ca81270bff
Fix SNTFileInfo Fuzzing ( #985 )
...
* fix SNTFileInfo fd leak
* auto poweroff VM after fuzzing
* lint
2022-12-27 16:20:32 -05:00
Matt W
42cf1b232a
Adopt new ES APIs to watch target paths in tamper client ( #984 )
2022-12-22 16:49:25 -05:00
Nick Gregory
9423beecc8
fix spinloop when no override config is specified ( #981 )
2022-12-22 13:51:46 -05:00