Password Brute-Forcing Protection

What, if anything, are you doing to block people from brute-forcing passwords to the admin accounts of your VMS? Users that log in through a domain controller can be protected by controls on the domain controller itself. Users that use "Basic Authentication" are at the mercy of the VMS.

I know that Ocularis has nothing to stop somebody from brute-forcing the password over the course of a few months. In fact, I discovered this issue after stumbling across 272 failed sign-in attempts (over the course of 30 seconds!) that happened the previous month when a customer's IT department ran a vulnerability test. If the installation is connected to the Internet and you aren't watching the logs, a hacker could take all the time they needed to brute force a password and you'd never know about it.

From what I can tell Milestone doesn't have anything built in either, but somebody else may have better information.

For Ocularis, my initial thought was to set up something like fail2ban to read the logs and temporarily block IP addresses. Only problem is that the logs for Ocularis Base go straight into SQL Server, specifically the VSAudits database. That makes it real easy to query in Ocularis Administrator, but there's no good way to monitor them without setting up a potentially costly insert trigger or giving the bad guys a head start by polling on a schedule.

What is everybody else doing? Are you using fail2ban or some other IPS? Does your VMS have built in protections? Do you just hope all your users are using strong passwords?

Login to read this IPVM discussion.
Why do I need to log in?
IPVM conducts unique testing and research funded by member's payments enabling us to offer the most independent, accurate and in-depth information.

** ***, ***'** ***** **** ***** ** ********* ** ********** against ***** ******* ** ***** **** *********** *** ** **** there's ** *******/********/****** ******** *** * ***** **** ***** - a **** ****** ** ** *****'* *****.

**** ** ********* ** **** *** ** ************ ******* **** ** ***** ** ********* *** *** ** ****** Directory ** ** ***** ***** ******* **** ******** - ****'* a *******:

Use ******* ***** **** ****** *********
***** *** *** ***** ** ***** ** ******** ***:
• ***** ****: * ********* *** **** ******* ************* ** a *********** ** ******** ***
******** ***** * ******** ******. ***** ***** ******* ** *** VMS ***** * ****** ******
***** (***) **** ******* ********* ***** (***) ******** ******** *******
(*****://***********.****.***/**/***/*******/) *** *****, ********** *** ******* ******** ***
******** *** ********.
• ******* ****: *** **** ******* ** ******** ** * machine ** * ******, *** ** **
************* ***** ** *** ******* *****. ******* ***** ********** ** the *** *** ***
********* ******* *********/******** (****) *** *****, ******** (*** "***** ********
**************" ** **** **), ** ***** *** ******* **** *********
(*****://****.*********.***/**-**/*******/*******/*******/********(*=**.**).****).

********* ********** ****, ******** ********, *** *** ******* ***** ** combination **** ******
********* (**) ** ********* ****** ** *** ***. **** ****** you ** *******:
• * ******** ****** **** ******** ***** ** ****** ***** password *********
• ***** ***** **********, ** **** *** ******* ** ******* is ******* ***** * ****** ** ******
************** ********, ***** ** **** **** *** ************ ******** ******
• *****-****** ************** ** *** ***, ************ *** **************
• ****-***** ***********, ** *** *** ***** ****** ******** ****** your ******

** *** ******, ***** ** ** ***-********** ***** **** ******* with * ****** ********, *** ********* *** ***** ***** **** meet *** ******** ********** ************ ** *** ** ***** *** software ** ********* ** *** ******* **** ** ** *** of **** *** ** *** ** ****** ********* **********. *** without ***** ***** ********** *** **** **** ***** ********* ** social ***********, * ***** ***** ******** ***** ** **********.

****** *** ************ ****, *'** ********** ***** ** ** *** attention ** *** ******* *****. **** ****** ** ********* ********* use *******/****** ********* *****, ***** ***** ***** *** *** *************** ****** ********** ******* ***** ***** *******.

** *** ***** *********** is *** '****' **** of *** ********* ****** why ***** *** **** let ** *** ***** listening *** *******? ** possible **** ******** ***** ports *** *** * local ***** ******** ** the ******/** ******.

**** * ***** **** of ***** *** ******** have *** ******* *** for ***** **** ************. Basing ** *** ** another ** *********** ** not **** ** ** enterprise ***********. **** ** the ****** *** ******* thousand *******...*** **** **** ability ** **** *** there ********** **** **** IT ***?

*** **** ************ ** get *****, ** ** so ****** ** ***** a ****** ******** ************** and ** *** ***'* you ****** ******** ** get ******.

**** ** *** ** progress. ** **** ******** manufacturers ** *********** ** some ** *** ** the ***** ******-****, ****** display **** ****** ** the ****** *** **** watch **** *******.

*** ** ****, ****. #E.evolve

******, ****** *** *** *********** *** *** ******** **** ***** up **********. ****** **** ******** ** *** ***** ** * win *** *********, ***.

...*** *****'* ** **** way ** ******* **** without ******* ** * potentially ****** ****** *******...

** *** **** *** to ** ** ****** trigger, ** **. * doubt ** ***** ****** performance ** *** ********** way ****** ****** *********, because *** **** */* is ***** *** ********** infrequent.

***** ***’** ** **, maybe *** ***** ***** an ****** ******* ** the ******** ***** ******, and ****** *** ******* that ***’* **** **** custom ********** *******. (****** this *** *** ** possible ** *** ********* are ******* ********* ****** the ****** *********).

** ******* **** *** insert ******* ** **** the ****** ***** ****** way **** **** **************. Just ***** ********** **** happens ** *** ******* client **** ****** ** the ***** ***** (**** selection, ****** *********, ******** control *******, ***, ****** mode, ***.). **** *** get ** ** ** security ****** ***** ***** stuff, * ***** ****** a *** ** *******. Even ** *** ***** the ****** *** ****** everything **** ***'* **************, it **** ***** **** you ***** **** ******* the ***** *** ***** and ******* ********* ****.

*** * ********* ***'* know ****'* ***** ** under *** **** *** have ***** ***** ** insert ******* ******. *** code ***** ****** ******, but* *** ********* *****'* * ********* ****** * **** file **** ** ****** trigger.

> ****** **** *** not ** ******** ** the ********* *** ******* encrypted ****** *** ****** statement

**** *** ****** ******* encrypted. *** **** ***** be * ****** **** idea!

****, ** ***** ***** a *** ****** ** Ocularis ***** ** ****** something **** *** ******** and *** ****** ******/*** rolled **** ***********.

*** **** **** **** level ** ****** ** the **** **, *** would ** ** ******** to ******* ** ********** use *****?

**-******* ***** ***** *** same ****** ******** ***** would ***** *** ****** from *** *******.

** ******* ** ** a ***, *** ******** way *** ** ** creating **** *** *** Server ***** ******:

***** *** ****** *** action ** **** ** audit, ** *** **** writing ** * ****.

**** *** ****** *** what ****** *** ***** to ** *********, ** our **** ******** *** statements:

***** ** ** ******** TRIGGER ** ****, *** the ***** ** *** log ** ******* ** (presumably) * ******-**** *******.

**** **** ******** **** that **** ***. **** info****

*** ***** ***** **** to ********,

*) **** *** ******* itself ***** *** ******** to ***** ** ** etc, **** **** ********* is *** **** * background **** ** ***********. Then ***** ** ** overhead **** * **** file.

*) *** *** ****** Broker ** ********* * messaging *****, *** ****** a ****** ******* ** consume *** ******** *** take ****** **** *********. This *** *** “*****” way, *** **’* * PITA ** **** *** familiar **** ******* ******. more ********

****** *** **** ****, U2. ***** ******** **** SQL ****** **** *******, auditing ******* ***** ** a ****** *******, *** I'm ***** ** **** into **** **** **** tomorrow. (**** ** ** way ** ****** **** I ******'* **** *** Audits ****** ****** *** Security ******.)

******** * ***** * have * ********** ******* out (**** ** *** and *********), ********* ***** ceases ** ******* ** with *** **** **** capability *** ********** ** can ****. **** ** like ******* ** **** tool ***** *** *** and ********* *****'* * nuclear ******* ** ***** - *** ** **** works ** **** ***** is ******* **** ** was **** ***** ****.

****** *** **** ****, U2. ***** ******** **** SQL ****** **** *******, auditing ******* ***** ** a ****** *******...

****, ********** *** ******* only *** ******-***** ***** capability, *** ***** **** database ***** **********, **...

******** **** ***** **** option:

*) **** *** ******* itself ***** *** ******** to ***** ** ** etc, **** **** ********* is *** **** * background **** ** ***********. Then ***** ** ** overhead **** * **** file.

**** ****** *** *** advantage ** ** ******** polling/monitoring ******* *** ** flat **** *******. ** only ***** *** *** environment ** *** **** case ** ** ****** attack.

*** ******* ***** ****** the **** ****** ** the ***** *** **** is ***** ********, *** only ** *** **** that ** ** * login ******* ***** *** run * ***** ** determine ** *** *** being ******* **** ********:

select *****(*) **** *********** ***** *****=************ *** ************** **(***********)

*** **** **** ** that ***** ******* * number ********** ** ****** would *** *** **

xp_cmdshell(“netsh “ + @**)

*** ******, ***-***** ****** the ***** ********** ***** amount ** *** ********** overhead, **** *** *******, which ** ***** ** low ** *** *** get.

*****, *** **** ******** shown *** ****** ************** pulled **** * ****** memory *** ****** *** be ******** ** **** verbatim :)

*'** **** ******** **** **** *** **** *** ****. ***** are * *** *******:

*** ** *** **** ****, *'* ******** * *** ***** SQL ****** :*

****'* *** **** *'* ***** *** *** ******* (*********** *****************):

***** ******* [***].[***********************]
** [********].[***].[************]
***** ******
**

******* @** ****(**), @****** ***, @***** ***;
****** @** = [***].[********] ,@****** = [***].[*****************] **** ******** *** INNER **** [********].[***].[**********] ** [***] ** [***].[*********] = [***].[**] ***** JOIN [********].[***].[*********] ** [***] ** [***].[**********] = [***].[**];

** @****** = * *****

****** @***** = (****** *****(*) **** [********].[***].[************] ** [******] ***** JOIN [********].[***].[**********] ** [********] ** [******].[*********] = [********].[**] ***** **** [VSAudits].[dbo].[Locations] ** [*********] ** [********].[**********] = [*********].[**] ***** [******].[*****************] = 1 *** [*********].[********] = @** *** [******].[********] > *******(******, -*, GETDATE()) *** [******].[***********] **** '%*********%')

** @***** >= * *****

**** ******** @**

***

***

*** ****** ********* ******** ***'* ***** **** ***. *'* ******** of ******** * ****** ******* ** ********* **** ****, ** give ** ******* ******* **** ****'* ******* *** **** ***'*.

****** **** ******** @** ****(**)
**

******* @******* *******(**), @********* ****(**);

****** @********* = ****(*********(@**, ********('%[*-*.]%', @**), ****), ********('%[^*-*.]%', *********(@**, ********('%[*-*.]%', @ip), ****) + '*') -*)

****** @******* = *************('**** *** > *:\********-******\%*', @*********);

**** *********** @*******;

**

****** **** *** *** it! *** *** *** why * **** **** pseudo **** ;)

*********** **** *************...

****** ** ****** **** be ****** ** *** rare **** ** ******.

*** *** *** *** windows ******* ***** (** AT) ** *** *** process ** *** **********.

**** *** *********** ** the ****** *****(*) *** of *** ***** *****?

*’* *** **** *** it’s ***** *** *** big ** ****; ** could ** ********* **** seems ** **** **** testing *** **** ****** strangled ***.

*******, **** ********** ****** would ** ** ****** your *** *** **** a **** ***** ** every ****** *** **** query **** ***** ****. You ***** **** **** “pin” *** ***** ** memory ** ***** ***********.

**** **** **** *** recreate *** ***** ***** there ** * *** login ***** ***** * lull ** ********.

**** ****.

* **** ** ***** halfway ******* *** ******** above (**** *** ****** all********* ** ******** ******* threshold) ****** ** **** started ** **** *****...

**** *** *** ********:

*. *** ** *** (collective ***) ***** **** VMS ************* *****'* *********** brute ***** ********** *******? If ** **** **** to ** (***** ** the ******** ***** [* think]), **** *** **** explanation ** *********** ********** - **?

*. *** **** ****** ever ********* ***** *** default ******* ** *** a ** **** ** the **** ** *** user ****? **** ****** the ******** *****'* **** that *** ** ** the **** ** *** user ****, **** **** click ** *** ******* icon *** ****** *** login ****** ** ***** their ***** ***** '****' attack, **** ***given *** ** because the last logged-in user name is generally displayed.

Newest Discussions

Posts Latest
3
less than a minute by Undisclosed #2
2
less than a minute by Undisclosed #2
31
about 4 hours by Patrick Hart
6
1 minute by Undisclosed Distributor #2
2
about 16 hours by Dave Gideon