SSHD 보안 - fail2ban, port 변경
· 2 min read
실패한 로그인 IP 확인
$ cat /var/log/secure | grep 'sshd.*Failed' | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | sort | uniq -c
## 실패 카운트와 IP
6 100.34.214.24
6 101.109.152.219
6 101.164.141.36
기본 포트를 사용 중이라면 어마어마한 IP 목록이 나올 것이다.
SSH 포트 변경
SSH 설정 변경
/etc/ssh/sshd_config 에 포트 설정을 변경한다.
/etc/ssh/sshd_config
Port 2020
SElinux 포트 추가
semanage port -a -t ssh_port_t -p tcp 2020
방화벽 포트 추가
firewall-cmd --permanent --zone=public --add-port=2020/tcp
firewall-cmd --reload
SSH 재시작
systemctl restart sshd
Fail2ban
일정 시도 이상을 실패하면 해당 IP 를 차단시키는 Fail2ban 을 설치하자
설치
## repo가 없다면
## $ yum install -y epel-release
$ yum install -y fail2ban
SSH 설정 추가
/etc/fail2ban/jail.local 또는 jail.conf 를 열어 [sshd] 의 enabled 속성을 true 로 변경한다.
서비스 시작
systemctl enable fail2ban
systemctl start fail2ban
더 쉬운 방법
쉘스크립트로 포트변경, 방화벽 룰 추가, Fail2ban 까지 한 방에 끝내버리자.
wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log
명령문에 따라 입력만 해주면 된다. 자세한 설명은 FunctionClub/Fail2ban 참고하자.