개인 서버를 운영중인데 ssh 가 안돼는 오류가 있었다
kex_exchange_identification: read: Connection reset by peer
이런 오류가 발생했다
에러 해결방법은 재부팅하면 된다고해서 재부팅 하니까 ssh 잘 접속된다
접속하고 /var/log/auth.log 확인해보니까
여러 ip 에서 이상한 계정으로 수천번 이상 로그인 시도를 하려고한 기록을찾았다
이거때문인거같아서 찾아보니까
Brute-force 혹은 무차별 대입 공격이란다...
로그인을 시도할수있는 횟수를 정하고 로그인이 지정한 횟수를 초과할경우
IP 를 차단 시켜주는게 fail2ban 이라고해서 설치했음
Fail2ban은 SSH 로그인 시도를 필터를 통해 걸러주고, 자동으로 차단 해주는 역할을 함
설치 명령어 : apt install fail2ban
경로이동 : cd /etc/fail2ban
파일복사 : cp jail.conf /etc/fail2ban/jail.local
설정값 수정 : nano jail.local
들어가서 쭉내리다보면 sshd 부분있음 거기서 설정값 수정
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
systemctl 등록 : systemctl enable fail2ban
systemctl 시작 : systemctl start fail2ban
차단된 IP 확인 : fail2ban-client status sshd
차단 해제 명령어 : fail2ban-client set sshd unbanip <IP_ADDRESS>
차단 등록 명령어 : fail2ban-client set sshd banip <IP_ADDRESS>
설정 재적용 : systemctl restart fail2ban.service
전세계에서 들어오는 브루투포스 공, 무차별 대입을 막을수 있음
끝