server
Linux - fail2ban
허원철
2017. 9. 21. 21:43
이번 글은 fail2ban에 대한 내용입니다.
Linux 서버를 누구나 접근이 가능한 네트워크망(IP대역을 제한할 수 없는 경우)에서 사용하게 되면, 무작위로 ssh 로그인을 시도하여 접근하는 것이 가능합니다. 이를 보완하기 위해서 첫째로는 ssh 로그인 시, 직접적으로 root로 접근하는 것을 막습니다. 두번째로 fail2ban을 이용하여 이를 보완할 수 있습니다.
fail2ban 란?
- 지정된 시간(findtime) 내에 지정된 횟수(maxretry) 이상으로 접근 실패시에 해당 IP를 지정된 시간(bantime)동안 차단하는 것을 말합니다.
fail2ban 설치하기(Centos 7 기준으로 합니다.)
1. epel 패키지 설치
- 공식 Centos 패키지 저장소에는 fail2ban이 없기 때문에 epel 패키지 설치합니다.
1 | yum install -y epel-release | cs |
2. fail2ban 설치
1 | yum install -y fail2ban | cs |
3. fail2ban 활성화
1 | systemctl enable fail2ban.service | cs |
4. fail2ban 재실행
1 | systemctl restart fail2ban.service | cs |
fail2ban 설정 변경
- 기본적인 경로는 /etc/fail2ban 하위 디렉토리에 위치합니다.
- 기본적인 설정은 jail.conf으로 있으나, 변경이 필요한 경우에는 jail.conf를 복사하여 jail.local 파일을 만들어 커스텀 하거나 jail.d/customisation.local에 값을 수정하여 사용하기를 권장합니다.
1 | cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local | cs |
설정을 전체적으로는 볼 수 없고, 기본적인 것만 보자면
1 | vi /etc/fail2ban/jail.local | cs |
1 2 3 4 5 6 7 8 | [DEFAULT] ... maxretry= (최대 로그인 시도 횟수) findtime = (로그인 시도 유지 시간) bantime = (차단 유지 시간) ... [sshd] enabled = (ssh 로그인 시, 활성화 유무) | cs |
참고
- https://www.unixmen.com/install-fail2ban-centos-7/