#1
|
|||
|
|||
lazy ssh
Vova Uralsky написал(а) к All в Apr 15 15:38:48 по местному времени:
Нello All! Если брутфорсеры достали и других путей спрятать ssh нет, предлагается сделать ленивый хэндшейк. В случае удачной аутентификации скорость восстанавливается. --- sshd.c 2015-03-17 06:49:20.000000000 +0100 +++ new/sshd.c 2015-04-07 18:15:53.882096316 +0200 @@ -1463,6 +1463,7 @@ int keytype; Authctxt *authctxt; struct connectioninfo *connection_info = get_connectioninfo(0, 0); + extern int uwl_pause; #ifdef НAVE_SECUREWARE (void)setauthparameters(ac, av); @@ -2176,6 +2177,7 @@ / perform the key exchange / / authenticate user and start session / + uwl_pause = 3; if (compat20) { dossh2kex(); do_authentication2(authctxt); @@ -2187,6 +2189,7 @@ fatal("ssh1 not supported"); #endif } + uwl_pause = 0; /* * If we use privilege separation, the unprivileged child transfers * the current keystate and exits --- dispatch.h 2015-03-17 06:49:20.000000000 +0100 +++ new/dispatch.h 2015-04-07 18:15:47.802125663 +0200 @@ -45,6 +45,7 @@ void sshdispatch_range(struct ssh , u_int, u_int, dispatchfn ); int sshdispatch_run(struct ssh , int, volatile sig_atomict *, void ); void sshdispatch_run_fatal(struct ssh , int, volatile sig_atomict *, void ); +int uwl_pause; #define dispatch_init(dflt) \ sshdispatch_init(activestate, (dflt)) --- dispatch.c 2015-03-17 06:49:20.000000000 +0100 +++ new/dispatch.c 2015-04-07 18:15:47.794125857 +0200 @@ -29,6 +29,7 @@ #include <signal.h> #include <stdarg.h> +#include <unistd.h> #include "ssh1.h" #include "ssh2.h" @@ -97,6 +98,8 @@ uint32t seqnr; for (;;) { + debug("uwlpause: [%d]", uwlpause); + sleep(uwl_pause); / slowing down / if (mode == DISPATCН_BLOCK) { r = sshpacket_readseqnr(ssh, &type, &seqnr); if (r != 0) Regards, Vova --- Msged/BSD 6.2.0 |