|
01:57
hulk joined
01:58
kylese left
02:15
hulk left,
kylese joined
03:17
topnep left
03:18
topnep joined
03:55
lichtkind_ joined
03:58
lichtkind left
04:46
hurufu joined
04:54
silug7 joined,
silug left,
silug7 is now known as silug
05:00
Inline left
06:22
belluzj joined
06:38
Inline joined
08:15
Manifest0 joined
08:29
Guest73 joined
08:52
Guest73 left
09:12
belluzj left
09:35
topnep left
09:37
topnep joined
09:38
annamalai left
09:39
annamalai joined
09:43
belluzj joined
09:58
annamalai left,
annamalai joined
10:04
annamalai left
10:05
annamalai joined
10:08
ShimmerFairy left,
ShimmerFairy joined
10:12
Sgeo left
|
|||
| disbot4 | <melezhik.> If someone wants to try out compliance check for sshd sever configuration - sparrowhub.io/plugin/scc/0.000005 | 12:12 | |
| <melezhik.> I’d be interested how it works on others configuration | |||
| <melezhik.> There is also redis compliance check | 12:13 | ||
| <melezhik.> This will require latest version of Sparrow from GitHub | 12:14 | ||
|
12:56
belluzj left
|
|||
| Voldenet | > 15:10:00 :: [repository] - install plugin scc\n unknown plugin scc | 13:10 | |
| using Sparrow6:ver<0.0.91>:auth<zef:sp1983> | 13:11 | ||
| `s6 –index-update` creates ~/repo which is a bit weird, maybe .s6-repo would be better or something similar | 13:14 | ||
|
13:19
hurufu left
|
|||
| Voldenet | in debug I get `[debug::repository index file does not exist] >>> /home/$USER/sparrow6/index` (with $USER being variable) so I'm betting it's necessary to somehow fetch the index, but github.com/melezhik/Sparrow6/blob/...tion/s6.md doesn't mention how | 13:21 | |
| or what install command does and how to set default repository, if that's needed | 13:22 | ||
| disbot4 | <melezhik.> I guess you need to export SP6_REPO=sparrowhub.io/repo | 13:38 | |
| <melezhik.> Then s6 —index-update | |||
| <melezhik.> Remote repository is described here - github.com/melezhik/Sparrow6/blob/...ository.md | 13:42 | ||
| <melezhik.> Maybe I need to copy some info from here to s6 doc as well | |||
| <melezhik.> By default if SP6_REPO is not set s6 creates EMPTY local repo in ~/repo which apparently does not contain any plugins | 13:44 | ||
| <melezhik.> So users need to setup remote repo via SP6_REPO | 13:45 | ||
| <melezhik.> I will probably need to make it more clear in the docs as well | 13:46 | ||
| <melezhik.> Voldenet: if you want to play with scc plugin you need to install Sparrow from github.com/melezhik/Sparrow6.git or upgrade it from Raku.land when 0.0.92 shown up here | 13:53 | ||
| <melezhik.> Pushed few minutes ago | 13:54 | ||
| <melezhik.> As the plugin requires the latest Sparrow version | 14:05 | ||
|
14:13
finanalyst joined
|
|||
| Voldenet | in 0.9.2 and with `SP6_REPO=sparrowhub.io/repo s6 –debug –index-update` things work like expected | 15:11 | |
| useful thing about sshd plugin would be if it actually had the option to only display failed checks | 15:12 | ||
| also, there are things I'm not sure if thould match or not: >Match address 10.21.37.0/24\n PasswordAuthentication yes | 15:14 | ||
| (it's basically password auth for one specific wg network) | |||
| Also, `sshd -T` doesn't show `Protocol` line anymore, there's no way to use ssh 1 | 15:16 | ||
| no `LoginGraceTime` means 2 minutes, which is acceptable | 15:17 | ||
| disbot4 | <melezhik.> Yeah sshd is still WIP any input is appreciated, so we can work on reasonable set of rules | 15:19 | |
| Voldenet | and if you have AllowGroups, you don't really need AllowUsers, DenyGroups etc. | ||
| best practice is to have AllowGroups or AllowUsers | 15:20 | ||
| (whitelist) | |||
| disbot4 | <melezhik.> As for output - github.com/melezhik/Sparrow6/issues/13 | ||
| Voldenet | in case of match, it's difficult to actually test configuration in specific context though | ||
| Because you need something like `sshd -T -C addr=10.21.37.53` to get config for specific context | 15:21 | ||
| idk if Match blocks can be processed in any sane way | |||
| disbot4 | <melezhik.> Btw, all Match blocks which come at the end of the configuration file are ignored now | 15:22 | |
| Voldenet | I'm using `OpenSSH_10.0p2 Debian-7+deb13u2, OpenSSL 3.5.5 27 Jan 2026` and it is not ignored | ||
| ah, you mean by the check | 15:23 | ||
| that makes sense | |||
| disbot4 | <melezhik.> How do you know? Can you please gist the report ? | ||
| <melezhik.> Yeah | |||
| <melezhik.> Check itself | |||
| Voldenet | `sshd -T | grep passwordauth` outputs: `passwordauthentication no` but `sshd -T -C addr=10.21.37.53 | grep passwordauth` outputs `passwordauthentication yes` | 15:24 | |
| I'm actively using it - if I don't have wg connection, I have to set up sshd key, if I do have wg connection, I can use the password | 15:25 | ||
|
15:26
annamalai left
|
|||
| Voldenet | and my config is slightly above: `Match address 10.21.37.0/24\n PasswordAuthentication yes` - it's as short as it gets | 15:27 | |
| disbot4 | <melezhik.> Yeah | ||
| Voldenet | it'd be quite difficult to validate it in any sane way, the tool would have to get wg config and know somehow that this network is wg network… | 15:28 | |
| it's doable, but not trivial | |||
| disbot4 | <melezhik.> Hrm so Match address goes at the beginning of sshd config ? | 15:29 | |
|
15:29
finanalyst left
|
|||
| Voldenet | Nope, at the end | 15:29 | |
| disbot4 | <melezhik.> Ok , it should ) | ||
| <melezhik.> Ok allow groups at allow users - just asked DeepSeek - chat.deepseek.com/share/s78vvpistpxm4ixoze , will test it and include into the next version | 15:31 | ||
| <melezhik.> Btw you can check yourself by coping the diff and applying it … | 15:32 | ||
| <melezhik.> The file should be at the ~/sparrow6/plugins/scc/checks/sshd.check | 15:33 | ||
| Voldenet | the patch doesn't cleanly apply, but I get `assert: 1 at least one of AllowUsers or AllowGroups is set` (it's only printed) | 15:49 | |
| disbot4 | <melezhik.> Ok. | 15:53 | |
| Voldenet | I wonder if DenyUsers or DenyGroups is any useful for hardening | ||
| you then may end up with some user not being denied | |||
| I prefer strongly my solution of having the group of users that can login via ssh | 15:54 | ||
| because editing sshd_config for every user is ridiculous and blacklisting instead of whitelisting is not secure at all | 15:57 | ||
|
15:59
sibl joined
|
|||
| disbot4 | <melezhik.> Yeah I am going to exclude them from mandatory checks | 16:02 | |
| Voldenet | also, kexalgorithms don't include diffie-hellman | ||
| >kexalgorithms mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 | |||
|
16:03
sibl left
|
|||
| Voldenet | these I use right now | 16:03 | |
| nist curves are probably not the best, but I remember having compatibility issues in some ssh library | 16:04 | ||
| so overall improvements, (1) `AllowGroups` should be required, `AllowUsers` accepted, `Deny*` ignored, (2) `Protocol` is not supported and printed by sshd -T (3) `KexAlgorithms` should be cleaned up to accept "modern" list | 16:07 | ||
| maybe (4) Port 22 is not really that secure, setting it to something else reduces number of login attempts | 16:10 | ||
| though overall though it's a good tool already | |||
| disbot4 | <melezhik.> Actually deny grouse users are already optional | 16:11 | |
|
16:11
annamalai joined
|
|||
| disbot4 | <melezhik.> Please pick up the version addressing the last issue from here - chat.deepseek.com/share/k1x3yk0e2dki7yanvz | 16:12 | |
| <melezhik.> Which items do you think we need check are in kexalgirithms list ? | 16:22 | ||
|
16:24
belluzj joined
|
|||
| disbot4 | <melezhik.> Oh. Deny Users/Groups are not optinal need to fix it … | 16:25 | |
| <melezhik.> DenyUsers/DenyGroups are optional - fixed in this version - chat.deepseek.com/share/i6cxyup7twezttngf2 | 16:29 | ||
| <melezhik.> What I really like about sparrow task check dsl that is set certain structure to generated by LLM code , so it’s quite easy to review changes made by it | 16:31 | ||
| <melezhik.> It’s kind safeguard from LLM hallucinations , as they are much easier to spot and LLM is always is in constraint by framework itself | 16:33 | ||
| <melezhik.> Also anyone could branch off a new version on LLM conversion and propose a patch by just saying a few words | 16:34 | ||
| Voldenet | that last version is almost ok, but | 17:08 | |
| `logingracetime 60` this is fine, it's seconds by default | |||
| `<Protocol not found> False` (yes, it's v2 by default and you can't change it anymore) `<LoginGraceTime not found> False` (wrong regex, no unit is fine) | 17:11 | ||
| and the kex is not something I know how to check, but my recommendation would be to have a list of known good algorithms and known bad algorithms | 17:12 | ||
| than, print out all unknown algorithms – new ones could get introduced | |||
| ask LLM to generate both lists, I can't name every algorithm there is | 17:13 | ||
| disbot4 | <melezhik.> Please try this version - chat.deepseek.com/share/5ch11ik23489q3rv5s , it address the things you have just mentioned | 17:26 | |
|
17:31
_huggable joined
17:32
sibl joined
17:36
sibl left
|
|||
| disbot4 | <librasteve> hi! is pod allowed before unit declaration line? | 17:48 | |
| <librasteve> guess so | 17:51 | ||
| <librasteve> @melezhik. definite ++ on your DSL+LLM thoughts | 17:53 | ||
|
18:00
_huggable left
18:03
_huggable joined
|
|||
| Voldenet | melezhik.: The only failure I get now is `<Protocol not found> False` but other things seem to work | 18:06 | |
| disbot4 | <melezhik.> Great 👍 thanks for trying it out, will figure out protocol in a bit | 18:07 | |
| <melezhik.> @librasteve thanks 🙏 | |||
| Voldenet | glad to help | ||
|
18:09
_huggable left
|
|||
| disbot4 | <melezhik.> I have more checks coming - bind/dns, redis, Gitlab runner , forgejo, sudoers, sysctl, PostgreSQL , Mariann, systemd unit , log rotate, mongodb, | 18:10 | |
| <melezhik.> Let me know if any of these you are interested in trying out | |||
| Voldenet | out of those I can test bind, sysctl and sudoers - other things I have been only running but never configured anything | 18:11 | |
| disbot4 | <melezhik.> Cool. Will let you know | 18:13 | |
|
18:22
belluzj left
18:42
Sgeo joined
20:08
apogee_ntv left
20:18
apogee_ntv joined
22:06
ShimmerFairy left
22:07
ShimmerFairy joined
23:44
Manifest0 left
23:56
tejr left
|
|||