각각 다른 서비스가 실행되는 EC2 인스턴스에 대해 Fail2ban을 설정하고 있습니다. 따라서 각 서비스에 맞게 특별히 감옥을 구성하고 있습니다. 두 가지 질문이 있습니다(다른 곳에서는 답변을 찾을 수 없습니다).
- 한 포트에 대한 인증 실패로 인해 IP가 fall2ban에 의해 차단된 경우 해당 사용자는 여전히 열려 있는 다른 포트를 통해 들어갈 수 있습니까?
- 여기에 언급된 구성을 사용하여 특정 포트를 차단하는 것과 모든 포트를 차단하는 것은 어떻게 비교됩니까? 궁극적으로 해커가 침입하는 것을 원하지 않기 때문에 열려 있는 모든 포트를 차단하는 것이 더 안전하지 않을까요?
답변1
(OS는 리눅스라고 가정)
실패2금지높은 수준의 구성을 갖춘 잘 만들어진 도구입니다.
Linux Ubuntu에서 구성은 다음과 같습니다./etc/fail2ban
질문 1
구성을 변경하지 않으면 특정 서비스에 대해 언급된 포트만 jail.conf
차단됩니다.
질문 2
모든 포트를 차단할 수도 있습니다. 원하는 보안 수준에 따라 다르지만 모든 포트를 차단하면 단점이 있을 수 있습니다.
개인적으로는 악용된 포트만 차단하는 것을 선호합니다. 왜냐하면
- 다른 포트도 남용되는 경우(및 에서 선언된 경우
jail.conf
) 해당 포트도 차단됩니다. - 일부 IP 주소는 회사 전체 또는 많은 사람들이 공유합니다. 따라서 남용을 위해 모든 포트를 차단하면 해당 주소의 모든 사람이 예를 들어
ssh
액세스하는 것을 방지할 수 있습니다 .http/s
- 전체 차단의 영향을 받을 수도 있습니다. 예를 들어 를 사용하여 몇 가지 비밀번호 실수를 하면
ssh
공급자로부터 다른 액세스를 허용하는 다른 포트에 액세스할 수 없습니다.
더 많은 포트 또는 모든 포트를 차단하려면 파일을 수정하면 됩니다 jail.conf
.
기본 속성 중 일부는 다음과 같습니다. (in [DEFAULT]
)
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 5
# Ports to be banned (Usually should be overridden in a particular jail)
port = 0:65535
즉, 모든 포트.
예를 들어 [sshd]
(및 모든 서비스)는 port
재정의됩니다.
[sshd]
port = ssh
기본값으로 되돌리려면 간단히 라인에 주석을 달면 되지만 port
, 더 쉬운 유지 관리를 위해 주석과 새 포트 라인을 추가하겠습니다(3년 후 다른 사람/당신).
[sshd]
# 25 Aug 2020 Rohit, block all ports
#port = ssh
port = 0:65535
기본값 변경
action.d
디렉터리에서 가능한 작업 목록을 볼 수 있습니다 . 의 기본값은 jail.conf
,
banaction = iptables-multiport
이는 다음과 같이 변경될 수도 있습니다.
banaction = iptables-allports
이는 재정의되지 않은 모든 서비스에 영향을 미칩니다 banaction
.
Fail2ban 다시 시작 중
그런 다음 systemd에 대해 서비스를 다시 시작하십시오.
systemctl restart fail2ban.service
또는
service fail2ban restart
(참고 filter.d
로 디렉토리에는 각 서비스에 대한 목록이 나와 있습니다.실패2금지침입 시도를 감지합니다)
귀중한 정보를 제공할 수 있는 아래 설명도 확인하세요.