From 0866708ee4f1a90033f6ef1ac7fe8a44e66d7e4f Mon Sep 17 00:00:00 2001 From: Michel Oosterhof Date: Fri, 16 Jun 2017 16:06:36 +0400 Subject: [PATCH] parameterize idle timeout --- cowrie.cfg.dist | 6 ++++++ cowrie/core/protocol.py | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cowrie.cfg.dist b/cowrie.cfg.dist index 97ed7418..93e10799 100644 --- a/cowrie.cfg.dist +++ b/cowrie.cfg.dist @@ -89,6 +89,12 @@ txtcmds_path = txtcmds ttylog = true +# Interactive timeout determines when logged in sessions are +# terminated for being idle. +# (default: 180) +interactive_timeout = 180 + + # ============================================================================ # Network Specific Options diff --git a/cowrie/core/protocol.py b/cowrie/core/protocol.py index d17b44e2..b186ae34 100644 --- a/cowrie/core/protocol.py +++ b/cowrie/core/protocol.py @@ -86,7 +86,12 @@ class HoneyPotBaseProtocol(insults.TerminalProtocol, TimeoutMixin): self.realClientPort = pt.transport.getPeer().port self.clientVersion = self.getClientVersion() self.logintime = time.time() - self.setTimeout(180) + + try: + timeout = self.cfg.getint('honeypot', 'interactive_timeout') + except: + timeout = 180 + self.setTimeout(timeout) # Source IP of client in user visible reports (can be fake or real) try: