본문 바로가기
Linux

[Linux] Centos7 로그인 실패 시도 막는 방법 (There were failed login attempts since the last successful login)

by 자유로운시간 2023. 2. 10.
반응형

 

 

리눅스 서버에 ssh 접속을 하다보면 가끔씩, 아래와 같은 문구를 볼 수 있다.

Last failed login : Fri Jan 20 09:12:40 KST 2023 from ***.***.***.*** on ssh.notty
There were 16961 failed login attempts since the last successful login.
Last login: Wed Jan 18 18:36:08 2023 from ***.***.***.***

 

 

 

시스템에 무작위적으로 아이디와 비밀번호를 입력하면서

반복적으로 접근을 시도하는 방법인

Brute Force attack 의 수행 결과입니다.

 

이를 막기 위해서는

기본값으로 설정되는 port 22를 변경해주면 됩니다.


 

 

1. 포트 번호 설정

port 22 처럼 우리가 특정 용도로 사용하고자하는 port를 약속해놓았다.

https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D

위 URL에 표시된 port 번호를 피해서 port 번호를 무엇으로 할지 정하면 된다.

여기서 예시를 위해 port 1234로 지정하겠습니다.

 

 

 

 

2. sshd_config 파일 수정

vi /etc/ssh/sshd_config

vi 편집기로 위 경로의 파일을 아래와 같이 수정합니다.

22번은 주석처리하고 1234를 입력한다.

#Port 22
Port 1234

저장하고, ssh 재시작

systemctl restart sshd.service

 

 

 

3. SELinux 포트 추가

getenforce

위 명령어를 실행하여 

Enforcing

이라는 값이 반환되는지 확인한다.

 

반환되었다면,  아래와 같이 명령어를 입력하여 selinux에서 ssh port를 추가해준다.

semanage port -a -t ssh_port_t -p tcp 1234

 

 

 

4. 방화벽에 포트 추가

 

1234 포트를 방화벽에 추가하고, 재시작합니다.

firewall-cmd --permanent --zone=public --add-port=1234/tcp
firewall-cmd --reload

 

5. 테스트

접속해서 테스트 해보면 정상 작동하는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

Reference

1. https://knoow.tistory.com/166

2. https://www.manualfactory.net/10151

3. https://techbrad.tistory.com/8

4. https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D

5. https://zetawiki.com/wiki/SELinux_%EC%83%81%ED%83%9C_%ED%99%95%EC%9D%B8

 

반응형