메뉴 건너뛰기

(*.168.0.1) 조회 수 323 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://www.manualfactory.net/10151

리눅스 서버에 SSH 접속을 하는 공격이 있습니다. SSH Brute Force라고 하는데, 여러 아이디와 비밀번호로 로그인을 시도하는 공격입니다.

이 공격을 방어하는 방법은 여러가지가 있습니다.

  • root 계정으로 로그인 못하게 하기
  • 암호를 복잡하게 만들기
  • 접속 가능 IP를 정하기
  • SSH 포트 번호 바꾸기

이 중에서 SSH 포트 번호 바꾸는 방법을 정리해보겠습니다. CentOS 7 기준이며, 포트 번호를 1980으로 바꾼다고 가정하겠습니다.

SSH 설정 파일 수정

/etc/ssh/sshd_config에 다음의 코드를 추가합니다.

Port 1980

SSH 다시 시작

다음과 같이 명령하여 SSH를 다시 시작합니다.

systemctl restart sshd.service

다시 시작해도 현재 접속은 끊기지 않습니다. 문제가 발생하면 곤란하니 접속을 끊지 않고 작업하는 게 좋습니다.

SELINUX 설정

SELINUX를 사용하고 있다면 다음과 같이 명령하여 1980 포트를 사용할 수 있게 만듭니다.

semanage port -a -t ssh_port_t -p tcp 1980

방화벽 설정

방화벽에 1980 포트를 추가합니다.

firewall-cmd --permanent --zone=public --add-port=1980/tcp

방화벽을 다시 로드합니다.

firewall-cmd --reload

테스트

현재 접속은 그대로 두고, SSH 클라이언트 프로그램을 새로 열여 변경한 포트로 접속해봅니다.

Log

참고로, SSH 접속과 관련된 로그는

/var/log/secure

에 있습니다.


리눅스에서 보안을 위한 접속 프로토콜로 대표적으로 많이 사용하는 것은 아마도 SSH일 것이다.

이 포트번호가 무엇인지 찾기.

 

Shell에 아래와 같이 입력

sudo netstat -anp | grep LISTEN | grep sshd
1.png

위 경우는 22번 포트가 아닌 2179의 포트를 사용중임을 확인 할 수 있다.

 

 

(기본포트인 22번을 다른포트 번호로 변경하는 방법은 아래 참고)

https://ansan-survivor.tistory.com/36


구축한 리눅스에 원격접속을 많이 하게 되는데, 기본 포트번호는 22으로 되어있다. 이는 보안상으로 취약하고, 또 나만의 포트를 이용해보기 위해 SSH포트를 바꿔보았다. 리눅스는 기본으로 SSH포트를 보유하고 있다.

 

필자는 sudo 를 입력하기 귀찮아서 Root 에서 진행하였다.

고로 Prompt가 #으로 표시되어있는데, Root가 아닌사람은 $로 표시되며, 권한이 있다면 sudo를 붙여서 실행할 수 있다.

 

1. Config 변경하기 (vim or vi 텍스트 편집 에디터를 사용했다.)

vi /etc/ssh/sshd_config

2. 아래와 같이 sshd_config 파일이 열리게 되는데, 필자는 Vim필터 단축기인 < /찾는단어 > 를이용했다. 고로 ":"키를 눌러 명령어 실행환경을 만들고, "/port" 를 검색해서 찾아서 검색했다. 기존 포트번호 22를 

 

포트 변경

3. SELINUX설정. 1004번 포트로 변경했다고 시스템에 알림.

# semanage port -a -t ssh_port_t -p tcp 1004

 

4. SSH서비스를 재시작함.

# systemctl restart sshd.service

 

5. 방화벽 설정. 1004번 포트가 정상임을 알림.

# firewall-cmd --permanent --zone=public --add-port=1004/tcp

 

6. 방화벽 재시작.

# firewall-cmd --reload

 

이제 제대로 포트가 변경 되었는지 확인해본다.

 

IP주소를 확인. 필자의 CentOS 로컬주소는 192.168.219.102 이다.

Putty를 통해 접속을 시도한다. 먼저 Default값인 22번으로 접속 시도.

접속 실패

자 이제 바꾼  Port 1004번으로 접속 시도해본다. 아래와 같이 로그인 창이 나오면 접속에 성공한것이다. root계정으로 로그인을 해보았다.

root계정으로 접속 성공.

 

루트 접속은 불허하고 싶을 떄 아래 참고

ansan-survivor.tistory.com/37


  1. ps에서 pid 목록만 가져와서 kill하기

  2. 05. 프로세스 스케줄러 2

  3. 12Apr
    by 정보제공
    2023/04/12 Views 323 

    CentOS 7 / SSH / 포트 변경하는 방법

  4. CentOS 7 / ntp로 시간 동기화 하는 방법

  5. No Image 21Mar
    by
    2023/03/21 Views 359 

    CentOS 7 / ReHat 7 / ProLinux 7 sendmail 설치 및 세팅

  6. No Image 06Mar
    by
    2023/03/06 Views 632 

    EOS,EOL,EOD,EOST,EOSL이란?

  7. No Image 06Mar
    by
    2023/03/06 Views 290 

    BYOL : Bring Your Own License

  8. No Image 05Mar
    by
    2023/03/05 Views 312 

    리눅스에서 커널 버전, uname -a , cat /proc/version

  9. Ubuntu 20.04 LTS (Focal Fossa) 데스크탑 달라진 점과 간단 후기

  10. Ubuntu 20.04 LTS (Focal Fossa) 데스크탑 설치 후 해야하는 것들

  11. Ubuntu release 일람표

  12. UMASK 사용법

  13. No Image 10Oct
    by
    2018/10/10 Views 297 

    Ubuntu 18.04 한글 설정

  14. No Image 10Oct
    by
    2018/10/10 Views 308 

    Ubuntu 18.04를 설치한 뒤에 해야 할 6가지

  15. No Image 10Oct
    by
    2018/10/10 Views 462 

    Auto root Login 설정 - Ubuntu 18.04

  16. Micro VAX

  17. No Image 24Feb
    by
    2017/02/24 Views 385 

    Linux, Unix, AIX 명령어 비교

  18. Ubuntu - 우리가 함께 있기에 내가 있다

  19. No Image 10May
    by
    2016/05/10 Views 256 

    유닉스 파일 디스크립터 : > /dev/null 2>&1

  20. No Image 05Apr
    by
    2016/04/05 Views 296 

    ab -n 1000 -c 3 http://home.aiinfo.co.kr/

목록
Board Pagination Prev 1 2 3 Next
/ 3