Nextcloud(webdav 포함)에 fail2ban 적용시키기.

Fail2ban

Fail2ban

Fail2ban은 침입 차단 소프트웨어 프레임워크로서 컴퓨터 서버를 무차별 대입 공격으로부터 보호해주는 역할을 한다.
python으로 개발되었고 특정 서비스로 로그인시도가 정해진 값 이상 실패할 경우 로그파일을 읽어서 일정기간동안 접속을  제한하는 툴이다.

ssh,fp,http등에 무작위로 접속을 시도하는 brute force attack에 효과적으로 대응 할 수 있다. 여기서는 nextcloud의 접속실패 로그를 읽어서 접속 제한을 걸 것이다.

설치환경

Ubuntu 18.04.03
nextcloud 16.0.3

설치

apt install fail2ban

fail2ban nextcloud.conf파일 생성

vi /etc/fail2ban/filter.d/nextcloud.conf

아래와 같은 내용 첨가.

[Definition]
failregex=^{.
Login failed: '.' (Remote IP: '').*}$
ignoreregex =

jail.d에도 nextcloud.local 파일 생성.
vi /etc/fail2ban/jail.d/nextcloud.local

[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
#Number of retrys before to ban
maxretry = 5
#time in seconds
#차단할 시간 (초단위)
bantime = 3600
#지정시간(초단위)
findtime = 300
#Log path, on Ubuntu usually following

#nextcloud 로그 위치 기본은 아래
#logpath = /var/www/nextcloud/data/nextcloud.log
logpath = /data/nextcloud/nextcloud.log

위 설정값을 넣어주면 지정시간(findtime)내에 지정횟수(maxretry)를 넘게 실패하면 차단이라는 말이다.(bantime만큼)

설정완료후에는 service fail2ban restart 로 재시작 하면 완료된다.

실제로 클라우드에 들어가서 테스트하면서 /var/log/fail2ban.log를 확인해보면

이렇게 5번이 틀리면 Ban이 된다

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link