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

리눅스 서버에 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

에 있습니다.

같은 카테고리의 다른 글

CentOS 8 / Squid로 Proxy Server 만드는 방법

CentOS 8 / Squid로 Proxy Server 만드는 방법

리눅스로 프록시 서버(Proxy Server)를 만들 때 스퀴드(Squid)를 주로 사용합니다. 오픈 소스이고, 대부분의 리눅스 배포판에 패키지로 포함되어 있습니다. 스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 ...

CentOS 7 / hostname 확인하고 변경하는 방법

CentOS 7 / hostname 확인하고 변경하는 방법

명령어 이용하기 다음과 같이 명령하면 hostname을 출력합니다. hostname 다음과 같이 명령하면 hostname을 abc로 변경합니다. hostnamectl set-hostname abc 설정 파일 이용하기 hostname 설정 파일은 /etc/hostname입니다. 텍스트 편집기로 열면 한 줄의 코드가 있는데, 그것이 hostname입니다. 그 코드를 바꾸고 저장하면 hostname이 변경됩니다. 변경 사항 적용하기 시스템을 재부팅하면 변경 사항이 적용됩니다. CentOS 7 / 고정 IP 설정하는 방법

CentOS 7 / APM(Apache, PHP, MariaDB) 설치하는 방법

CentOS 7 / APM(Apache, PHP, MariaDB) 설치하는 방법

CentOS 7에 Apache, PHP, MariaDB를 설치하는 방법을 간략히 정리합니다. CentOS 8에 Apache, PHP, MariaDB를 설치하는 방법은 여기에 있습니다. APM 설치 Apache, PHP, MariaDB을 설치합니다. yum install httpd php mariadb-server php-mysql 서비스 설정 Apache가 부팅 시 자동으로 시작되도록 합니다. systemctl enable httpd.service MariaDB가 부팅 시 자동으로 시작되도록 합니다. systemctl enable mariadb.service Apache를 시작합니다. systemctl start httpd.service MariaDB를 시작합니다. systemctl start mariadb.service 방화벽 설정 http로 접속할 수 있도록 ...

CentOS 7 / YUM 사용법

CentOS 7 / YUM 사용법

YUM 명령어 도움말 보기 yum -h 패키지를 최신 버전으로 업데이트 하기 yum update 모든 패키지 목록을 보기 yum list 모든 패키지 그룹 목록을 보기 yum grouplist http과 관련된 패키지를 검색하기 yum search http 패키지 이름에 http를 포함하고 있는 것을 검색하기 yum list *http* httpd 패키지의 정보 보기 yum info httpd X Window System 패키지 그룹의 정보 보기 yum groupinfo "X Window System" httpd 패키지 설치하기 yum install ...

CentOS / 설치용 부팅 USB 만드는 방법

CentOS / 설치용 부팅 USB 만드는 방법

CentOS를 설치하려면 다운로드 받은 ISO 파일을 부팅 가능한 CD 또는 USB로 만들어야 합니다. ISO를 부팅 가능한 미디어로 만들어주는 프로그램은 여러 가지가 있는데, 그 중 많이 사용되는 것은 Rufus입니다. Rufus로 CentOS 부팅 USB를 만드는 방법을 간략히 정리합니다. Rufus 다운로드 https://rufus.ie/에서 밑으로 내려가면 다운로드할 수 있는 링크가 있습니다. 설치가 필요 없는 실행 파일입니다. CentOS 부팅 USB ...

CentOS 7 / 설치하기

CentOS 7 / 설치하기

CentOS ISO 다운로드 CentOS ISO 파일은 DVD ISO, Everything ISO, Minimal ISO, NetInstall ISO 등 여러 가지가 있습니다. 이 중에서 가장 파일 크기가 작은 NetInstall ISO 파일로 설치하겠습니다. NetInstall ISO는 설치에 필요한 최소한의 파일만 포함하고 있고, 추가 소프트웨어는 다운로드 받아 설치합니다. CentOS 7의 NetInstall ISO 파일은 다음 링크에서 다운로드를 받을 수 있습니다. http://mirror.navercorp.com/centos/7/isos/x86_64/ 파일 이름은 CentOS-7-x86_64-NetInstall-xxxx.iso입니다. CD로 부팅 ISO 파일을 CD에 ...

CentOS 7 / Samba / 설치와 설정

CentOS 7 / Samba / 설치와 설정

Samba 설치 Samba 패키지 이름은 samba입니다. yum install samba 방화벽 설정 Samba가 사용하는 포트를 열어줍니다. firewall-cmd --permanent --zone=public --add-service=samba 방화벽을 다시 로드합니다. firewall-cmd --reload 참고 : CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기 SELinux SELinux를 적절히 설정하거나 끕니다. 참고 : CentOS 7 / SELinux 끄는 방법 Samba 사용자 추가 사용자가 Samba를 사용할 수 있도록 해줍니다. 만약 사용자계정이 user1이라면 다음과 같이 합니다. smbpasswd -a user1 Samba 설정 Samba 설정 ...

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

서비스 관리는 보통 systemctl 명령어로 합니다. systemctl 명령어의 enable을 이용하면 시스템이 부팅할 때 서비스가 자동으로 시작하게 할 수 있습니다. 예를 들어 systemctl enable httpd.service 는 서버가 부팅할 때 httpd 서비스를 자동으로 시작합니다. 만약 이러한 서비스 관리를 명령어로 하는 불편하다면 ntsysv를 사용해보세요. TUI로 자동으로 시작하는 서비스를 관리할 수 있습니다. 다음과 같이 명령하여 ntsysv 패키지를 설치합니다. yum install ntsysv 다음과 같이 ...

CentOS 8 / Apache, PHP, MariaDB 설치하는 방법

CentOS 8 / Apache, PHP, MariaDB 설치하는 방법

CentOS 8에 Apache, PHP, MariaDB를 설치하는 방법을 요약합니다. Apache 설치 Apache를 설치합니다. dnf install httpd http로 접속할 수 있도록 방화벽을 엽니다. firewall-cmd --permanent --add-service=http https로 접속할 수 있도록 방화벽을 엽니다. firewall-cmd --permanent --add-service=https 방화벽을 다시 로드합니다. firewall-cmd --reload 시스템 부팅 시 Apache가 자동 실행되도록 설정합니다. systemctl enable httpd.service Apache를 시작합니다. systemctl start httpd.service 설치에 이상이 없다면, 웹브라우저로 서버에 접속했을 때 다음과 같이 나옵니다. MariaDB 설치 MariaDB를 ...

CentOS 7 / rsyslog / 로그 서버 구축하는 방법

CentOS 7 / rsyslog / 로그 서버 구축하는 방법

CentOS 7을 설치하면 로그 기록을 위한 rsyslog 패키지가 설치되고 실행됩니다. 로그는 로컬 컴퓨터에 저장되는데, 관리하는 컴퓨터가 여러 대인 경우 각각의 로그를 따로 모니터링하는 것이 불편할 수 있습니다. 그런 경우 하나의 컴퓨터를 로그를 수집하는 서버로 만들어서 그 서버에 로그가 쌓이게 하면, 좀 더 수월하게 로그를 관리할 수 있습니다. rsyslog는 간단한 설정 변경으로 ...

Linux