내 웹 서버는 다양한 IP 주소로부터 지속적으로 공격을 받고 있습니다. 그들은 5개의 비밀번호를 시도한 후 IP 주소를 변경했습니다.
SSH 키를 사용하고 비밀번호를 허용하지 않고 원격 루트 로그인을 허용하지 않는 등 다양한 잠금을 수행했습니다.
이러한 공격 시도를 무력화하기 위해 할 수 있는 일이 있습니까? 실패할 경우 취해야 할 구체적인 방어 조치가 있습니까?
답변1
나는 팔로우한다이 지침잘못된 비밀번호 SSH 로그인 시도가 있을 때마다 7초의 지연 시간이 추가됩니다. 나는 sshd를 무차별 대입 스캐너 "tarpit"으로 바꿨습니다.
또한 실패한 비밀번호를 기록하도록 tarpit sshd를 수정했다는 점도 추가해야 합니다. 이는 루트 사용자가 일반 사용자가 잘못 입력한 비밀번호를 볼 수 있도록 허용하므로 완전히 윤리적이지는 않을 수 있지만, 제가 유일한 "실제" 사용자이기 때문에 괜찮다고 생각합니다.
"타르핏" 측면이 누구의 시간도 낭비하지 않기 때문에 비표준 포트에서는 실행하지 않았습니다.
답변2
이것은 실제로 삶의 사실입니다. 몇 번의 시도 실패 후 호스트를 공격하는 공격을 필터링하는 도구를 설치할 수 있습니다.
호스트 거부로그 파일을 분석하고 자동으로 /etc/hosts.deny
파일에 공격자를 추가합니다.
필요에 맞게 구성하는 방법에 대한 설명서를 확인하세요.
고쳐 쓰다: 댓글에서 제안된 몇 가지 사항
자신을 잠글 수 있으므로 도구가 DenyHosts에 올바르게 구성되어 있는지 확인하십시오(예: 컴퓨터나 네트워크가 필터링되지 않도록 구성할 수 있음).
DenyHosts는 시스템 보안을 향상시키지 않습니다. IP 수준 공격만 필터링합니다(소형 컴퓨터의 로드를 줄이고 로그 파일 크기를 줄일 수 있지만 그 이상은 아닙니다).
답변3
소수의 사람만 시스템에 SSH로 연결해야 하는 경우 SSH를 비표준 포트(예: 6422, 8080 등)로 이동하는 것을 고려하십시오. 이것만으로도 로그인 시도 횟수를 크게 줄일 수 있습니다(그리고 SSH 취약점을 기반으로 하는 웜과 같은 패치가 적용되지 않은 특정 공격으로부터 사용자를 보호할 수도 있습니다).