리눅스 서버에 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
'Linux' 카테고리의 다른 글
리눅스 우분투 포트 추가 활성화 (1) | 2023.11.14 |
---|---|
리눅스 커널 버전 확인 우분투 ubuntu centOS (1) | 2023.11.14 |
리눅스 특정 파일 제외하고 삭제 하는 명령어 (0) | 2023.11.10 |
[Linux CentOS] 리눅스 하드디스크 추가(mount)하는 방법 (1) | 2023.01.04 |