10 Commits

Author SHA1 Message Date
mik2k2
110aca2e8b s/whitelist/allowlist/ 2021-12-23 19:06:45 +01:00
mik2k2
4961647f51 mutex whitelistMode and remove some deferred TODOs 2021-07-10 13:31:52 +02:00
mik2k2
7951c57ef2 add /whitelist command with lots of open questions 2021-07-03 22:57:57 +02:00
mik2k2
7413539965
main, sshd: Refactor authentication, add IP throttling, improve passphrase auth
* Move password authentication handling into sshd/auth (fixes #394).

Password authentication is now completely handeled in Auth. The normal
keyboard-interactive handler checks if passwords are supported and asks
for them, removing the need to override the callbacks.

Brute force throttling is removed; I'd like to base it on IP address
banning, which requires changes to the checks.

I'm not sure, but I think timing attacks against the password are fixed:
- The hashing of the real password happens only at startup.
- The hashing of a provided password is something an attacker can do
themselves; It doesn't leak anything about the real password.
- The hash comparison is constant-time.

* refactor checks, IP-ban incorrect passphrases, renames

- s/assword/assphrase/, typo fixes
- bans are checked separately from public keys
- an incorrect passphrase results in a one-minute IP ban
- whitelists no longer override bans (i.e. you can get banned if you're 
whitelisted)

* (hopefully) final changes
2021-05-31 10:08:30 -04:00
Andrey Petrov
903d6c9420
/ban query support (#286)
For #285 

Turns out there were some bugs in Set, and I was using it incorrectly too.

The query syntax is a little awkward but couldn't find a nicer easy to parse format that worked with quoted string values.
2018-12-25 14:29:19 -05:00
Andrey Petrov
8188deef30 Root sshchat package, main moved into cmd/ssh-chat/. 2015-01-21 11:47:59 -08:00
Andrey Petrov
69ea63bf88 /ban and /op now support durations, also all other auth things in the api. 2015-01-19 19:16:37 -08:00
Andrey Petrov
0c21486992 History backfill, also tests pass. 2015-01-18 18:55:47 -08:00
Andrey Petrov
d5626b7514 Abstracted sshd.Connection; Op works now. 2015-01-10 13:46:36 -08:00
Andrey Petrov
d8d5deac1c Use authorized_keys-style public keys rather than fingerprints.
Tests for whitelisting.
2015-01-10 12:44:06 -08:00