비 수학자에게 암호 보안을 입증하는 표준 방법이 있습니까?


16

내 클라이언트에는 봇넷에서 무차별 로그인 시도를받는 서버가 있습니다. 서버와 클라이언트 클라이언트의 차이로 인해 방화벽, 포트 변경 또는 로그인 계정 이름 변경을 통한 시도를 쉽게 차단할 수 없습니다.

공격에 대한 공개를 유지하기로 결정했지만 비밀번호를 안전하게 유지하는 방법을 찾습니다. 경영진과 다른 컨설턴트들은 암호 교체 소프트웨어를 설치하여 10 분마다 암호를 교체하고 로그인해야하는 사용자에게 새 암호를 제공하는 것이 최선의 방법이라고 판단했습니다.

무차별 대입 시도는 1 초에 두 번 발생합니다.

12-15 자의 강력한 암호를 구현하는 것이 더 쉽고 무료 솔루션임을 증명해야합니다. 나는 이것을 수학으로 증명하는 방법을 알고 있지만, 단지 "암호에 x 개의 가능한 순열이 많이 있고, 공격자는 하루에 n 번만 시도 할 수 있으므로 x / "비밀번호를 추측하기 전 평균 2 일" 더 표준적인 "증거"가 있습니까?

답변:


14

iptables와 함께 fail2ban을 사용하는 것이 좋습니다.

여기 당신을위한 수학이 있습니다 :

대문자와 소문자 알파벳 및 8 자 길이의 공통 기호는 2.9 조의 조합을 제공하며 10,000 번의 시도로 초당 9,488 년이 걸립니다. 물론 최대 값입니다. 4000 년 안에 암호가 해독 될 것으로 예상됩니다. 운이 좋지 않으면 1000 년.

보시다시피 다음과 같이 15 자 암호를 사용하면 아무런 문제가 없어야합니다.

dJ&3${bs2ujc"qX

fail2ban은 봇넷에 어떻게 도움이됩니까?
innaM

2
당신이 가진 유일한 문제는 아무도 자신의 암호를 기억할 수 없다는 것입니다.
Jeff Atwood

그것은 정말로 흥미로운 링크이지만, 그들의 공격 시간이 Pentium 100s를 기반으로한다는 것을 알았습니다 (페이지 하단). 아마도 지금은 구식 이었지만 여전히 잘 읽었습니다.
Coops

8

fail2ban 외에도

최신 UNIX를 실행하는 경우 일반적으로 잘못된 비밀번호 입력 대기 시간을 최대 5 초로 변경하여 공격 속도를 2000 % 느리게 할 수 있습니다. [Solaris 10은 / etc / default / login에 있으며, SLEEPTIME을 검색합니다.] 동일한 허용 오차를 사용하면 3 시간마다 20 분마다 비밀번호를 회전 할 수 있습니다.

또한 잠금 전에 비밀번호 시도가 가능한 옵션이지만 하나의 계정을 공유하는 여러 사용자가 있고 항상 잠겨 있지 않기 때문에 비밀번호가 아닌 것 같습니다.

12-15 자의 암호를 요구하면 도움이되지만 계속해서 공격을 받으면 다른 솔루션이 더 좋습니다. 귀사의 예산 공차가 무엇인지 모르지만 해당 계정에 로그인해야하는 모든 사람을위한 RSA 키 카드도 문제를 해결합니다. 2 단계 인증은 확률을 양자 컴퓨팅 시간으로 밀어냅니다.

이 게시판에 글을 올릴 수있을 정도로 오래 지속되는 무차별 대입 접근 방식은 매우 놀랍습니다. 일반적으로 말하자면 눈에 띄지 않으며 실제 공격이 진행되는 동안에는 로그 필러입니다.


6

권위에 대한 호소는 어떻습니까? DoD 보안 기술 구현 지침 (iase.disa.mil/stigs/stig)을 참조하여 "국방부에 충분하다면 우리에게 충분합니다"라고 말할 수 있습니다.


5

고려해야 할 사항 : 변경되지 않는 암호가 있고 무차별 대입 공격이 자신의 암호를 포함한 암호의 세계를 테스트하는 경우, 무차별 대입 공격은 결국 공격을 받게되며 그 이후에도 취약한 상태를 유지하게됩니다.

당신이 제안한대로 무작위 선택이 당신의 암호를 치는 "기회"는 계산할 수 있지만, 전체 이야기를 말해주지 못할 수도 있습니다.

예를 들어, 무차별 대입 시도를보고 가장 긴 암호가 10자인 경우 12에서 아무 것도 선택하면 절대 공격을받지 않습니다.

특정 사례에 통계를 적용 할 때 매우주의하십시오. 그들은 많은 수의 샘플로 전반적인 행동을 예측합니다.

수학이 누군가를 설득 할 수 없거나 (또는 ​​설득력이 없다면) 복권이나 자동차 사고와 같은 친숙한 일을 찾아보십시오. 당신이 말할 수있는 경우 "타격 누군가의 가능성 그들에게 더 나은 느낌을 줄 수 있습니다 암호에 대한 추첨을 실행 6 주 수상과 동일합니다."


3
침입자가 이미 시도한 암호를 선택하지 않는 이유는 무엇입니까? 농담이야
innaM

4

고려되지 않은 한 가지는 봇넷이 Bruteforce에 사용하는 사용자 이름입니다. 모든 경우에 나는 무차별적인 힘이 관리자와 루트의 변형에 대한 것이며, 드문 경우에 회사 웹 사이트에서 긁힌 사용자 이름을 보았습니다.

또한 루트 계정이 비활성화 (선호)되거나 로컬 서브넷 또는 유사한 주소 범위로 제한되도록 대화 형 로그인 제한을 변경했습니다.


2

초당 두 번 나쁘지 않습니다. 우리는 fail2ban 을 구현하기 전에 분당 수천 번의 시도를 보았습니다.이 시도는 너무 많은 실패한 시도 후 설정된 시간 동안 네트워크에서 특정 IP를 잠글 것입니다 (모두 구성 가능).

이것은 우리에게 큰 도움이되었습니다.


2

실제로 이것이 가능하다면 iptables를 사용하여 무차별 강제 SSH 공격에 대해 선택적으로 스캔 할 수 있습니다.

이 두 줄 :

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name sshscans 
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 5 --name sshscans --rsource -j DROP 

60 초 간격으로 SSH에 5 회 이상 연결을 시도하는 모든 사람에 대한 액세스를 차단합니다. 초당 5보다 큰 숫자를 허용하려면 "--hitcount"숫자를 변경할 수 있습니다.



2

많은 사람들이 지수 곡선을 이해하지 못하는 것은 놀라운 일이지만 10, 100 및 1000의 차이를 모두 알고 있으므로 비교를 시작하기에 좋은 장소 일 수 있습니다.

또 다른 전술은 실제로 사람들에게 6 자 암호를 무차별 화하는 데 걸리는 시간을 보여주는 것입니다. 프로그래밍 지식이 있으면이를 수행하는 빠른 도구를 구성 할 수 있습니다.



2

이것은 약간의 주제가 아닐지 모르지만 denyhosts를 사용 하고 있으며 Linux 상자에서 무차별 대입 시도를 크게 줄였습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.