SSH 공격은 10 시간 동안 4GB를 소모합니다. 가능한?


10

서버가 전송 한도를 초과했음을 경고했습니다. 나는 Tor 노드가 인기를 얻었으므로 이번 달에 사용하지 않도록 선택했습니다 (커뮤니티에 가장 적합한 선택은 아니지만 내려 가야 함). 그런 다음 서버가 오늘 밤 약 4GB를 전송했음을 알았습니다. 관련 트래픽이없는 Awstats로 Apache 로그를 확인했습니다 (그리고 인기있는 사이트는 호스팅하지 않습니다). 메일 로그를 확인했는데 아무도 쓰레기를 보내려고하지 않았습니다. 나는 messages로그를 확인 하고 이것들의 톤을 발견했다

Apr 29 10:17:53 marcus sshd[9281]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:07 marcus sshd[9283]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:24 marcus sshd[9298]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:39 marcus sshd[9303]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:56 marcus sshd[9306]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:11 marcus sshd[9309]: Did not receive identification string from 86.208.123.132
Apr 29 10:19:18 marcus sshd[9312]: Did not receive identification string from 101.98.178.92
Apr 29 10:19:27 marcus sshd[9314]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:41 marcus sshd[9317]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:01 marcus sshd[9321]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:13 marcus sshd[9324]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:32 marcus sshd[9327]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:48 marcus sshd[9331]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:07 marcus sshd[9336]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:20 marcus sshd[9338]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:35 marcus sshd[9341]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:51 marcus sshd[9344]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:06 marcus sshd[9349]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:23 marcus sshd[9353]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:39 marcus sshd[9359]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:54 marcus sshd[9361]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:10 marcus sshd[9367]: Did not receive identification string from 85.170.189.156
Apr 29 10:23:29 marcus sshd[9369]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:45 marcus sshd[9375]: Did not receive identification string from 85.170.189.156
Apr 29 10:24:10 marcus sshd[9387]: Did not receive identification string from 86.208.123.132
Apr 29 10:24:16 marcus sshd[9388]: Did not receive identification string from 85.170.189.156

봇이 SSH를 해킹하려고 할 때마다 몇 초마다 pubkey 인증이 필요하기 때문에 불가능합니다. 내 질문은 :이 빈도 로이 트래픽이 10 시간 연속 공격에서 4GB (3.5)를 소비 할 수 있습니까?

SSH 포트를 변경하고 이러한 공격을 중지했지만 네트워크 소비가 확실하지 않습니다. 나는 통제가 불가능한 서비스를 가지고 있지 않다. 내 방화벽은 다소 제한적이다. 내 관심사는 한 달에 400GB 이하로 이동하는 것입니다.

팁이 있습니까?

답변:


16

4GB는 가능하지만 공격률을 고려하지는 않습니다. OSSEC을 설치하는 것이 좋습니다. 침입 시도를 감지하고 특정 시간 초과 동안 IP를 자동으로 차단합니다.


1
이미 fail2ban이 있는데 잘못된 로그인을 성공적으로 차단했지만 이러한 메시지를 무시하는 것 같습니다. 어쩌면 내가 조정할 것입니다.
usr-local-ΕΨΗΕΛΩΝ

1
받아 들였습니다. Fail2ban은 로그 메시지를 침입 시도로 승인하기 위해 약간의 조정이 필요했습니다. 답변 2 개를 수락 할 수 없어서 @lain에도 +1
usr-local-ΕΨΗΕΛΩΝ

@ djechelon : 이것이 문제를 해결한다고 알려주십시오. 어떻게 든 나는 시스템에 도착한 후 패킷이 삭제 될 것이라고 의심합니다.
user9517

@Iain 대부분의 공격자는 떨어질 때 포기합니다.
Lucas Kauffman

3
@LucasKaufman : 4Gb / 10Hrs는 ~ 120Kb / sec입니다. 나는 실패한 시도로 인한 처리량이 많지 않으며 위의 스 니펫은 훨씬 낮은 공격률 (26 ~ 7 분)을 보여줍니다.
user9517

14

이것이 대역폭 사용의 원인 인 경우 시스템에서 대역폭을 처리 할 때 대역폭이 이미 소비됩니다. iptraf와 같은 도구를 사용하여 각 인터페이스 / 포트에서 발생하는 상황을 분석 한 다음 사실에 따라 적절한 조치를 취할 수 있습니다.


분명히 나는, 대역폭의 미래 소비를 방지 다가오는 달부터 내 노력을 넣을 수 있습니다
USR-로컬 ΕΨΗΕΛΩΝ

1
그리고 ... 매우 도움이 대답하지만, iptraf 않습니다 오픈 VZ (참조하지 작업 webhostingtalk.com/showthread.php?t=924814 )와 나는 그것을 언급하지 않았다 :
USR-로컬 ΕΨΗΕΛΩΝ

기본 아이디어는 동일하게 유지됩니다. 사용법이 어디인지 알려주고 문제를 해결하는 것을 찾으십시오. 다른 것은 추측입니다.
user9517

4

아니요, 이러한 초당 연결 시도 횟수 자체는 10 시간 동안 최대 4GB를 추가하지 않습니다. 초에 한 번 작은 패킷을 가져 와서 10 시간 내에 4GB 파일을 다운로드 할 수 있다고 생각하십니까? 한 시간에 3600 초가 있으므로 10 시간 동안 초당 킬로바이트를 얻는 경우 36000Kb 또는 36MB가됩니다.

대역폭은 서버에 도달하는 것이 아니라 공급자에서 외부 라우터로 파이프를 내려가는 것에 따라 측정됩니다. 서버에 도달하지 않은 크랩을 살펴 봐야합니다. 대부분의 외부 장비는 거부합니다.

서버에 도달하는 한 응용 프로그램 로그에 의존 할 수 없습니다. 로컬 방화벽에 의해 자동으로 삭제 된 패킷도 대역폭입니다. 인터페이스 통계 (로 표시 ifconfig)는 Tx / Rx 바이트를 알려줍니다.


확실하지 않다. 내 관점에서 볼 때, 로그 메시지는 클라이언트가 포트 22에 대한 소켓을 열었지만 "전송 한 내용"이 올바른 SSH 핸드 셰이크로 인식되지 않아 거부되었음을 보여줍니다. 스캐너가 전송 한 실제 페이로드를보기 위해 포트 22를 도청하고 싶지 않았지만 이론적으로 SSH가 떨어질 때까지 많은 쓰레기를 보낼 수있었습니다. 문제는 언제 openSSH가 유효하지 않은 핸드 셰이크를 삭제합니까? 둘째, 나는 토르 장애인 트래픽이 여전히 fail2ban 트래픽이 거의 중단을 재구성 할 때, (아파치 표시하는 트래픽을 보여주지 않았다) 증가와 함께 밤을 보냈다
USR-로컬 ΕΨΗΕΛΩΝ

1
만약을 대비해서 조금 바꿔 보자. 서버에서 4GB의 대역폭을 소모하려면 HTTP 연결을 열고 각 요청에 대해 무제한 POST 페이로드를 보내는 봇넷을 만들 수 있습니다. 로그는 실패한 요청이 낮은 비율로 발생하지만 각 요청은 매우 무겁다는 것을 보여줍니다. 그러나 이것은 의미가 없어지기 시작합니다. SSH 검사 ( "root, admin에 대한 인증 실패 ...")에 익숙했습니다. 그 목적은 노드를 제어하는 ​​것입니다. 공격자가 SSH를 통해 대역폭을 소모해야하는 이유는 무엇입니까? 이해가되지 않습니다. 누군가가 Tor 노드를 싫어하지 않는 한 ...
usr-local-ΕΨΗΕΛΩΝ at 30:12
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.