ssh 프로브의 영향을 어떻게 제한 할 수 있습니까?


13

내 웹 서버는 다양한 IP 주소에 의해 끊임없이 공격을받습니다. 5 개의 비밀번호를 시도한 다음 IP 주소를 변경합니다.

ssh-keys 사용 및 암호 허용 및 원격 루트 로그인 허용과 같은 다양한 잠금을 수행했습니다.

이러한 공격 시도를 제거하기 위해 내가 할 수있는 일이 있습니까? 실패하면, 내가 방어해야 할 특정한 방어책이 있습니까?


1
그것은 좀 더에 - 주제 security.se에 대한 마이그레이션을위한 플래그 지정
로리 알솝

1
@Rory "약간의 주제가 다른 사람"과 "주제가 아닌 주제"사이에는 차이가 있습니다. 여기서는 분명히 주제가 명확 해 보입니다
Michael Mrozek

@Michael 걱정하지 마십시오. Gilles에서 핑을 보러 와서 여기에서 주제가 아닌 것으로 보았습니다.
로리 Alsop

@ 로리 좋아, 나는 그것에 대해 물어볼 것이다; 그는 일반적으로 제가 생각하기에 {off, on} 주제가 실제로 {on, off} 주제임을 설득하는 데 능숙합니다
Michael Mrozek

1
내 질문은 인정을 넘어서 변한 것 같습니다. 원래의 질문에서 나는 모든 사이트가 무차별 대입 공격을 경험 하는 것이 일반적인지 알아 내려고 노력 했습니다. Matteo는 "실제로 인생의 사실"이라고 대답했습니다. 질문의 두 번째 부분은 방어를하는 것 외에도 이러한 공격 을 적극적으로 막기 위해 무엇을 할 수 있는지를 묻는 것이었다 . 특정 사이트 만 무차별 대입 공격을당한 경우 이는 관련이없는 2 차 질문이었습니다. 브루스가 그의 타르 핏 아이디어로 대답했다. 나는 실제로 방어 팁을 요구하지 않았다.
JW01

답변:


14

그것은 실제로 삶의 사실입니다. 몇 번의 시도 실패 후 공격하는 호스트를 필터링하는 도구를 설치할 수 있습니다.

DenyHosts 는 로그 파일을 분석하고 파일에 공격자를 자동으로 추가 /etc/hosts.deny합니다.

필요에 맞게 구성하는 방법에 대한 설명서를 확인하십시오.

업데이트 : 의견에서 제안 된 몇 가지 중요한 사항

  • 자신을 잠글 수 있으므로 도구를 DenyHosts로 올바르게 구성하십시오 (예 : 필터링되지 않은 시스템 또는 네트워크를 구성 할 수 있음)

  • DenyHosts는 시스템 보안을 향상시키지 않습니다. IP 수준의 공격 만 필터링합니다 (작은 컴퓨터의로드를 줄이고 로그 파일의 크기를 줄일 수 있지만 그 밖의 것은 없습니다)


1
아아 나는 내가 특별하다고 생각하기 시작했다. 날 똑바로 해줘서 고마워
JW01

Matteo를 확장하면서, 귀하의 질문은 거의 정확히 refs Q1.3 denyhosts.sourceforge.net/faq.html#1_0
whoami

@whoami 링크, 좋은 요약 감사합니다. 다른 포트 팁을 사용하는 것을 볼 때 항상 내 마음에 떠오르는 것은 ' 선택한 다른 포트가 이미 다른 것에 의해 사용되지 않는다는 것을 어떻게 알 수 있습니까? '
JW01

1
DenyHosts 및 이와 유사한 도구는 추가적인 복잡성을 야기하므로주의해야합니다. 즉, 자체적으로 보안 문제가 발생할 수 있습니다. unix.stackexchange.com/questions/2942/…
maxschlepzig

1
또한 시스템에서 자신을 잠글 수 있으므로 DenyHosts에주의하십시오. 간단 apt-get install denyhosts해서 기계에 갇히게되었습니다.
Naftuli Kay

15

이 지침 에 따라 각 잘못된 비밀번호 SSH 로그인 시도에 7 초 지연을 추가했습니다. 나는 sshd를 무차별 스캐너 용 "타르 핏"으로 만들었다.

또한 수정 된 tarpit sshd 로그에 실패한 비밀번호를 기록했음을 추가해야합니다. 루트 사용자에게 일반 사용자가 자신의 암호로 잘못 입력 한 내용을 볼 수 있기 때문에 이것은 완전히 윤리적이지 않을 수 있지만, 유일한 "실제"사용자이므로 괜찮습니다.

"타르타르"측면이 다른 사람의 시간을 낭비하지 않기 때문에 비표준 포트에서 실행하지 않습니다.


또한 비표준 포트를 사용하고 암호 대신 키를 사용하십시오. 그런 다음 그들은 거의 희망이 없습니다 (어쨌든 암호를 입력 해야하는 키를 잡지 않으면).
Callum Rogers

이것은 순수하게 '방어 적' 이라기보다는 약간의 '공격적'접근법을 가지고 있기 때문에 좋은 답변 입니다.
JW01

9

소수의 사람들 만 시스템에 SSH를 연결해야하는 경우 SSH를 비표준 포트 (예 : 6422, 8080 등)로 이동하는 것을 고려하면 로그인 시도 횟수가 크게 줄어들고 패치되지 않은 일부 사용자로부터 보호 할 수 있습니다. 예를 들어 SSH 익스플로잇 기반 웜).


3
+1 귀찮음을 제한하기 때문에 오히려 유용하지만 보안 조치로 착각하지 마십시오. 이것은 보안 잠금 장치보다 모기에 대한 스크린 도어와 더 가깝습니다.
Piskvor는 건물을 떠나

1
+1 서버 리소스를 절약합니다.
Xeoncross

6

@Matteo의 대답과 일치하십시오. 당신이보고있는 것은 본질적으로 수천 개의 좀비 시스템이 서버에서 실행되는 웹 사이트가 있기 때문에 서버에서 분산 무차별 공격을 실행하는 것입니다. 스크립트 아동에 대한 최소한의 노력-그는 수천 명의 좀비에게 한 번에 수백 개의 웹 사이트 호스트에서 무차별 시도를하고 성공적인 수익 목록을 컴파일하도록 프로그램을 가지고 있습니다.

마찬가지로, 때때로 "http://your.web.host/phpmyadmin/"에 많은 순열이 표시 될 수 있습니다. /var/log/apache2/access.log 파일 있습니다. 이것들은 PHPMyAdmin을 설정하는 가장 일반적인 방법에 대한 자동 스캔이며, 여러 가지 알려진 익스플로잇이 발견되면 시도 할 것입니다. 자체 버전을 설치하고 업데이트하는 것을 잊어 버리지 않고 최신 상태로 유지하십시오.하지만 이제는 접선에 빠져 있습니다.

원래 명령을 보내는 것 외에도 시간이나 대역폭이 들지 않습니다. 화재와 잊어 버려.

이와 같은 상황에 유용한 또 다른 유용한 소프트웨어는 fail2ban 이며, iptables를 사용하여 명백히 잘못된 로그온 또는 기타 악용 시도가 여러 번 발생한 후 연결 시도를 차단합니다.


4

Fail2ban 을 구성 하십시오 . 실패한 시도를 검색 할 수있는 매우 유연한 방법을 제공하며 SSH, HTTP 및 일반 서비스를위한 템플릿이 있습니다.

Fail2ban은 귀하의 행동에 따라 iptables 를 업데이트 합니다.


3

Fail2Ban 또는 DenyHosts와 같은 데몬을 실행하지 않고도 IPTABLES를 사용 하여 트래픽을 중지 할 수 있습니다 .

#  Allows SSH connections (only 4 attempts by an IP every 3 minutes, drop the rest to prevent SSH attacks)
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

2

당신이 그것을 관리 할 수 ​​있다면, 나는 이것을 사용하는 가장 좋은 방법은 VPN을 사용하는 것입니다. 그렇게하면 그들이 타겟팅 할 수있는 유일한 것은 VPN입니다. 웹 서버와 같이 "모두"액세스하는 데 필요한 서비스를 제외하고는 전 세계에 공개 된 서비스가 없어야합니다. 다른 모든 것은 방화벽에 의해 차단되어야합니다. 이제 보안에 대해 정말로 걱정해야 할 것은 VPN뿐입니다. 가능하면 서버를 관리하는 컴퓨터의 고정 IP를 확보하고 VPN을 해당 특정 IP 주소로 잠그십시오. 이것은 실제로 사람들이 암호를 무차별하게하는 것을 막을 수있는 유일한 방법입니다.


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