mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 15:48:19 +00:00

This is based on commit 2731def9159247e6da8a3191783c89683363689c from the zeek-docs repo.
82 lines
4 KiB
ReStructuredText
82 lines
4 KiB
ReStructuredText
:tocdepth: 3
|
|
|
|
policy/protocols/ssh/detect-bruteforcing.zeek
|
|
=============================================
|
|
.. zeek:namespace:: SSH
|
|
|
|
Detect hosts which are doing password guessing attacks and/or password
|
|
bruteforcing over SSH.
|
|
|
|
:Namespace: SSH
|
|
:Imports: :doc:`base/frameworks/intel </scripts/base/frameworks/intel/index>`, :doc:`base/frameworks/notice </scripts/base/frameworks/notice/index>`, :doc:`base/frameworks/sumstats </scripts/base/frameworks/sumstats/index>`, :doc:`base/protocols/ssh </scripts/base/protocols/ssh/index>`
|
|
|
|
Summary
|
|
~~~~~~~
|
|
Redefinable Options
|
|
###################
|
|
=============================================================================== =====================================================================
|
|
:zeek:id:`SSH::guessing_timeout`: :zeek:type:`interval` :zeek:attr:`&redef` The amount of time to remember presumed non-successful logins to
|
|
build a model of a password guesser.
|
|
:zeek:id:`SSH::ignore_guessers`: :zeek:type:`table` :zeek:attr:`&redef` This value can be used to exclude hosts or entire networks from being
|
|
tracked as potential "guessers".
|
|
:zeek:id:`SSH::password_guesses_limit`: :zeek:type:`double` :zeek:attr:`&redef` The number of failed SSH connections before a host is designated as
|
|
guessing passwords.
|
|
=============================================================================== =====================================================================
|
|
|
|
Redefinitions
|
|
#############
|
|
============================================ ============================================================
|
|
:zeek:type:`Intel::Where`: :zeek:type:`enum`
|
|
|
|
* :zeek:enum:`SSH::SUCCESSFUL_LOGIN`:
|
|
An indicator of the login for the intel framework.
|
|
:zeek:type:`Notice::Type`: :zeek:type:`enum`
|
|
|
|
* :zeek:enum:`SSH::Login_By_Password_Guesser`:
|
|
Indicates that a host previously identified as a "password
|
|
guesser" has now had a successful login
|
|
attempt.
|
|
|
|
* :zeek:enum:`SSH::Password_Guessing`:
|
|
Indicates that a host has been identified as crossing the
|
|
:zeek:id:`SSH::password_guesses_limit` threshold with
|
|
failed logins.
|
|
============================================ ============================================================
|
|
|
|
|
|
Detailed Interface
|
|
~~~~~~~~~~~~~~~~~~
|
|
Redefinable Options
|
|
###################
|
|
.. zeek:id:: SSH::guessing_timeout
|
|
:source-code: policy/protocols/ssh/detect-bruteforcing.zeek 34 34
|
|
|
|
:Type: :zeek:type:`interval`
|
|
:Attributes: :zeek:attr:`&redef`
|
|
:Default: ``30.0 mins``
|
|
|
|
The amount of time to remember presumed non-successful logins to
|
|
build a model of a password guesser.
|
|
|
|
.. zeek:id:: SSH::ignore_guessers
|
|
:source-code: policy/protocols/ssh/detect-bruteforcing.zeek 39 39
|
|
|
|
:Type: :zeek:type:`table` [:zeek:type:`subnet`] of :zeek:type:`subnet`
|
|
:Attributes: :zeek:attr:`&redef`
|
|
:Default: ``{}``
|
|
|
|
This value can be used to exclude hosts or entire networks from being
|
|
tracked as potential "guessers". The index represents
|
|
client subnets and the yield value represents server subnets.
|
|
|
|
.. zeek:id:: SSH::password_guesses_limit
|
|
:source-code: policy/protocols/ssh/detect-bruteforcing.zeek 30 30
|
|
|
|
:Type: :zeek:type:`double`
|
|
:Attributes: :zeek:attr:`&redef`
|
|
:Default: ``30.0``
|
|
|
|
The number of failed SSH connections before a host is designated as
|
|
guessing passwords.
|
|
|
|
|