Fail2ban 정규 표현식은 SSHD 연결 시도를 금지하는 데 도움이 됩니다.

Fail2ban 정규 표현식은 SSHD 연결 시도를 금지하는 데 도움이 됩니다.

(나에게는) 어려운 질문이다

로그인하지 않고 SSH 서버에 연결하려는 모든 시도를 금지하도록 Fail2ban을 설정하려고 합니다.

이제 내 질문은 .. 모든 것이 filter.d/sshd.conf 파일에 있다는 것입니다.

나한테는 그래이해할 수 없는,무의미한 말, 정규식을 이해할 수 없습니다(정규식을 전혀 이해할 수 없습니다. 시도해 보았습니다.) 구성 파일에 있습니다.

로그에서 다음 줄을 검사하고 억제하고 싶습니다. (연결된 연결만 표시되기 때문입니다.)

192.168.0.2 포트 12210 [preauth]에 의해 연결이 종료되었습니다.

이제 이전에 썼듯이아니요구성 파일에 어떻게 작성/배치할지에 대한 아이디어(표준 파일로 인해 포럼이 막히는 것을 원하지 않습니다.)이것

따라서 누군가 나를 도와주고 싶다면 무엇을 작성해야 하며 구성 파일의 어디에 넣어야 할까요?

그리고 가능하다면 지금 하고 있는 일을 설명해주세요(또는 적어도 설명하려고 노력하세요).

답변1

최신 버전의 failure2ban의 경우 설정으로 충분합니다.

[sshd]
mode = aggressive
enabled = true

당신의 /etc/fail2ban/jail.local.

일부 이전 버전의 경우 상황에 따라 다릅니다. 어쨌든 필터 구성을 업데이트하는 것부터 시작하겠습니다(예:여기F-MLFGAINED), 버전이 0.10.5(0.10.5에서 도입됨) 이전인 경우 다음 으로 바꾸십시오.F-NOFAILhttps://github.com/fail2ban/fail2ban/commit/1c1d2cc435d6e8f1eb4a1b60c935a1385a82e295).

Fail2ban 버전이 0.10(예: 0.9) 이전인 경우 업그레이드하는 것이 가장 좋습니다.

"주식 정규식을 확장하는 방법"이라는 실제 질문으로 돌아가서... 다음 설정을 사용하면 가능합니다.

[sshd]
failregex = %(known/failregex)s
            ^Connection closed by <ADDR> port \d+ \[preauth\]

(fail2ban <= 0.9의 경우 접두사 줄 등으로 전체 RE를 지정하고 대신 prefregex사용해야 합니다 ).<HOST><ADDR>

답변2

나는 이것에 대한 경험이 많지 않지만 이 줄을 에 추가해 보셨습니까 failregex?

^Connection closed by 192.168.0.2 port 12210\s*%(__suff)s$

모든 호스트/포트의 경우:

^Connection closed by <HOST>%(__on_port_opt)s\s*%(__suff)s$

관련 정보