Esempio n. 1
0
    def test_multiple_sessions(self):
        """Test multiple sessions are found and allocated correctly."""
        index = "test_index"
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 4, many_ssh_session_args, time_diffs=[1, 1, 1])

        message = sessionizer.run()
        self.assertEqual(
            message, "Sessionizing completed, number of ssh_session sessions created: 2"
        )

        session_id_1 = "1.1.1.1_1"
        session_id_2 = "2.2.2.2_2"

        event = datastore.event_store["0"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id_1)
        event = datastore.event_store["101"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id_1)
        event = datastore.event_store["202"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id_2)
        event = datastore.event_store["303"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id_2)
Esempio n. 2
0
    def test_multiple_sessions(self):
        """Test multiple sessions are found and allocated correctly."""
        index = 'test_index'
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore,
                           0,
                           4,
                           many_ssh_session_args,
                           time_diffs=[1, 1, 1])

        message = sessionizer.run()
        self.assertEqual(
            message,
            'Sessionizing completed, number of ssh_session sessions created: 2'
        )

        session_id_1 = '1.1.1.1_1'
        session_id_2 = '2.2.2.2_2'

        event = datastore.event_store['0']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_1)
        event = datastore.event_store['101']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_1)
        event = datastore.event_store['202']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_2)
        event = datastore.event_store['303']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_2)
Esempio n. 3
0
    def test_session_starts_with_connection_event(self):
        """Test a session is created if it starts with SSH connection event."""
        index = "test_index"
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 1, one_ssh_session_args)

        message = sessionizer.run()
        self.assertEqual(
            message, "Sessionizing completed, number of ssh_session sessions created: 1"
        )
        session_id = "1.1.1.1_1"
        event = datastore.event_store["0"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id)
Esempio n. 4
0
    def test_session_doesnt_start_with_no_connection_event(self):
        """Test a session is not created if it doesn't start with SSH connection
        event."""
        index = "test_index"
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 1, no_ssh_session_args)

        message = sessionizer.run()
        self.assertEqual(
            message, "Sessionizing completed, number of ssh_session sessions created: 0"
        )

        event = datastore.event_store["0"]
        self.assertNotIn("session_id", event["_source"])
Esempio n. 5
0
    def test_session_starts_with_connection_event(self):
        """Test a session is created if it starts with SSH connection event."""
        index = 'test_index'
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 1, one_ssh_session_args)

        message = sessionizer.run()
        self.assertEqual(
            message,
            'Sessionizing completed, number of ssh_session sessions created: 1'
        )
        session_id = '1.1.1.1_1'
        event = datastore.event_store['0']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id)
Esempio n. 6
0
    def test_session_doesnt_start_with_no_connection_event(self):
        """Test a session is not created if it doesn't start with SSH connection
        event."""
        index = 'test_index'
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 1, no_ssh_session_args)

        message = sessionizer.run()
        self.assertEqual(
            message,
            'Sessionizing completed, number of ssh_session sessions created: 0'
        )

        #pylint: disable=unexpected-keyword-arg
        event = datastore.get_event('test_index', '0', stored_events=True)
        self.assertNotIn('session_id', event['_source'])
Esempio n. 7
0
    def test_all_events_from_session_are_labeled(self):
        """Test one SSH session of events is finded and allocated correctly."""
        index = "test_index"
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 2, one_ssh_session_args, [1])

        message = sessionizer.run()
        self.assertEqual(
            message, "Sessionizing completed, number of ssh_session sessions created: 1"
        )

        session_id = "1.1.1.1_1"
        event = datastore.event_store["0"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id)
        event = datastore.event_store["101"]
        self.assertEqual(event["_source"]["session_id"]["ssh_session"], session_id)
Esempio n. 8
0
    def test_multiple_sessions(self):
        """Test multiple sessions are found and allocated correctly."""
        index = 'test_index'
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore,
                           0,
                           4,
                           many_ssh_session_args,
                           time_diffs=[1, 1, 1])

        message = sessionizer.run()
        self.assertEqual(
            message,
            'Sessionizing completed, number of ssh_session sessions created: 2'
        )

        session_id_1 = '1.1.1.1_1'
        session_id_2 = '2.2.2.2_2'

        #pylint: disable=unexpected-keyword-arg
        event = datastore.get_event('test_index', '0', stored_events=True)
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_1)

        event = datastore.get_event('test_index', '101', stored_events=True)
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_1)

        event = datastore.get_event('test_index', '202', stored_events=True)
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_2)

        event = datastore.get_event('test_index', '303', stored_events=True)
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id_2)
Esempio n. 9
0
    def test_all_events_from_session_are_labeled(self):
        """Test one SSH session of events is finded and allocated correctly."""
        index = 'test_index'
        sketch_id = 1
        sessionizer = SSHSessionizerSketchPlugin(index, sketch_id)
        sessionizer.datastore.client = mock.Mock()
        datastore = sessionizer.datastore

        _create_mock_event(datastore, 0, 2, one_ssh_session_args, [1])

        message = sessionizer.run()
        self.assertEqual(
            message,
            'Sessionizing completed, number of ssh_session sessions created: 1'
        )

        session_id = '1.1.1.1_1'
        event = datastore.event_store['0']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id)
        event = datastore.event_store['101']
        self.assertEqual(event['_source']['session_id']['ssh_session'],
                         session_id)