fail2ban

fail2ban이란 brute-force 공격[1]으로 부터 안전하게 시스템을 보호하기 위한 기능입니다. 이 기능을 사용하면 장비에 일정 회수 이상 로그인이 실패하는 경우 해당 호스트가 일정 시간 동안 연결을 못하게 막아 악의적인 시도를 통한 로그인을 방지 할 수 있습니다.[2]

fail2ban 설정은 세가지 용어가 존재하는데 첫 번째는 "bantime"으로, 이것은 호스트가 얼마나 오래 차단될지를 나타냅니다. 두 번째는 "findtime"으로 접속 시도가 관찰되는 시간을 나타내며 마지막은 "maxretry"로 몇번의 실패가 일어나면 "jail" 처리할 것인지를 의미합니다.

클라이언트의 IP 주소에 따라 접속을 차단합니다. 예로 10.10.10.10 maxretry를 초과하여 bantime동안 차단이되더라도 다른 IP 주소의 클라이언트는 동일한 계정으로 접근할 수 있습니다.

시리얼 통신은 fail2ban에 영향을 받지 않습니다.

현재 설정 확인

user mode에서 show system fail2ban 명령어를 실행하면 현재 설정을 확인 할 수 있으며 다음 예시와 같습니다.

LYSH@MyHostName# show system fail2ban
fail2ban(ssh)                 : active, bantime:5m, findtime:1m, maxretry:5

위 예시는 기본 설정입니다. 즉, imRAD 장비에 1분 안에 로그인을 5회 실패하면 5분 동안 접속을 할 수 없습니다. 다만, 시리얼 통신으로 접속이 가능합니다.

설정

configuration mode 모드에서 fail2ban add <bantime> <findtime> <maxtetry> 명령어를 실행하여 그 값을 변경 할 수 있으며 "bantime"과 "findtime"읜 단위는 초(second)입니다.

LYSH@MyHostName# configure
configure# fail2ban add 300 1800 10	// "bantime" is 300 seconds, "findtime" is 1800 seconds, and "maxtetry" is 10.
configure# exit
LYSH@MyHostName# show system fail2ban
fail2ban(ssh)                 : active, bantime:300, findtime:1800, maxretry:10 

fail2ban 사용/미사용

fail2ban 서비스를 사용하지 않으려면 configuration mode에서 fail2ban disable명령을 실행하면 됩니다. 또한 다시 사용하려면 enable 명령을 사용하세요.

LYSH@MyHostName# configure
configure# fail2ban disable		// disable the fail2ban service
configure# exit
LYSH@MyHostName# show system fail2ban
fail2ban(ssh)                 : inactive, bantime:300, findtime:1800, maxretry:10 

LYSH@MyHostName# configure
configure# fail2ban enable		// enable the fail2ban service
configure# exit
LYSH@MyHostName# show system fail2ban
fail2ban(ssh)                 : active, bantime:300, findtime:1800, maxretry:10