리버스 프록시 환경에서 fail2ban 적용에 대한 고민

   조회 2081   추천 0    

간단한 등록 서비스(?) 하나를 웹에 올렸습니다. 

pfsense -> 가상환경[ nginx(리버스 프록시) -> 웹서비스  ]


물리적으로는 'pfsense'와 '가상환경 머신'으로 구성되어 있습니다. 웹서버를 띄웠으니, 이제 fail2ban을 적용해야 하는데요.

이넘을 어디에(?) 적용할지에 대한 고민이 시작되었습니다.

웹서비스 서버를 그냥 노출시켰을 경우에는 서버에 바로 fail2ban을 적용하면 되는데..

그 앞에 두 군데를 거쳐 들어오니, 어디에 적용할지 고민입니다.


'nginx 로그'와 '웹서비스 로그인 실패 로그'를 pfsens로 던저, pfsens에서 막을지,

아님 '웹서비스 로그인 실패 로그'를 nginx에 던져 nginx에서 처리할지,

어떤게 맞나.. 라는 질문 자체가 사실 뭐 적절한 질문은 아닙니다만, 리버스 프록시 환경에서는 적용을 하려니 좀 생소해져, 고민이 생기네요.

혹 비슷한 상황에서 어떻게들 풀어가실지가 궁금해 여쭤봅니다.

짧은글 일수록 신중하게.
dateno1 2024-03
차단 자체는 게이트웨이에서 하는게 맞습니다

왜냐하면 저런 공격하는넘이 한군데만 공격하거나, 한가지 공격만 하는 경우 거의 없습니다
     
하늘너머 2024-03
감사합니다. ;)
해보지 않은 이론적인 내용입니다만 과정을 생각 해봤습니다.

fail2ban은 원리가 sshd로그를 모니터링 하고 있다가, 차단 규칙에 도달하면 처리하는 방식이므로
직접적으로 로그인 요청을 받는 말단 VM서버단에서 실행될 수 밖에 없을 것 같습니다.
그리고 fail2ban의 conf 에서 action 을 스크립트 방식으로 실행하는 기능은 지원하는 것 같고요.

그리고 pfsense는 다른 내부서버등에서 차단 룰을 외부에서 설정 할 수 있게 API 방식 구동이 가능하게끔 기능을 추가합니다.
(API기능을 추가하는 솔루션이 있는 것 같습니다. https://github.com/jaredhendrickson13/pfsense-api
관련 블로그 https://velog.io/@2jinu/pfSense-API )

이를통해 차단 발생시점에 Firewall-Rules 에 룰를 추가하고, 특정 시간이 경과후에 추가한 룰을 삭제하는 방식으로 제어가 가능한지 확인해보고요.

즉, 제어가 가능하면, 말단 fail2ban 에서 차단조건이 되면 pfSense 를 통해 차단을 하고,
필요시 특정시간 경과후에 푸는 등의 방식으로 컨트롤이 가능하지 않을까 추정해봅니다.
     
하늘너머 2024-03
그렇군요, 감사합니다 ;)
     
dateno1 2024-03
로그를 파일로 작성해서 읽거나 SNMP같은걸로 전달하면 될꺼같네요

이후는 SED같은걸로 문자열 편집해서 추출후 차단하면 될껍니다


QnA
제목Page 173/5731
2014-05   5268096   정은준1
2015-12   1793094   백메가
2023-03   1665   drama
2023-02   1665   Beastpower
2023-01   1665   필살기
2023-02   1665   박문형
2023-06   1666   신은왜
2023-12   1666   서버좀제발
2023-04   1666   pumkin
2023-10   1666   링게르
2024-07   1666   허밍버드
2023-02   1666   미담
2022-06   1666   빵딩
2022-08   1666   2CPU최주희
01-02   1667   듀얼cpu
2024-04   1667   스무프
2023-01   1667   김승현1
2024-03   1667   witbox
2024-04   1667   VerVeine
2022-12   1667   회원
2022-01   1667   L2스위치
2022-06   1668   keige369