CentOS SSH 로그인 보안 설정

CentOS는 안정적인 운영 체제로 많이 사용되고 있습니다. 이 운영 체제에서 보안은 매우 중요한 요소입니다. SSH(보안 셸)는 원격 서버에 안전하게 접속하기 위해 사용되는 프로토콜입니다. 이번 블로그 포스트에서는 CentOS 서버에 SSH 로그인 보안 설정을 강화하는 방법을 알아보겠습니다.

1. 비밀번호 기반 로그인 제한

첫 번째로 해야할 작업은 비밀번호 기반 로그인을 제한하는 것입니다. 비밀번호 기반 로그인은 보안 취약점을 남길 수 있으므로 사용을 제한하는 것이 좋습니다.

먼저, SSH 서버 설정 파일을 엽니다.

sudo vi /etc/ssh/sshd_config

파일을 열면 PasswordAuthentication 옵션을 찾습니다. 기본적으로 주석 처리되어 있을 것이며, 주석을 제거하고 no로 설정합니다.

PasswordAuthentication no

설정을 변경한 후 SSH 서버를 재시작합니다.

sudo systemctl restart sshd

2. 키 기반 인증 사용

비밀번호 대신 키 기반 인증을 사용하는 것이 더 안전합니다. 이는 공개키와 개인키를 사용하여 서버에 접속하는 것을 의미합니다.

먼저, 클라이언트 컴퓨터에서 키 쌍을 생성합니다. 다음 명령으로 RSA 키 쌍을 생성할 수 있습니다.

ssh-keygen -t rsa

기본 설정으로 엔터를 누르면 .ssh 디렉토리에 공개키와 개인키 파일이 생성됩니다.

서버에 접속하여 공개키를 추가합니다. 다음 명령을 실행하세요.

ssh-copy-id user@server_ip_address

위 명령을 실행하면 공개키가 서버로 복사됩니다.

마지막으로, SSH 서버 설정 파일을 열고 키 기반 인증을 사용하는지 확인합니다. PubkeyAuthentication 옵션이 yes로 설정되어 있는지 확인하세요.

PubkeyAuthentication yes

설정을 변경한 후 SSH 서버를 재시작합니다.

sudo systemctl restart sshd

이제 비밀번호 대신 키 기반 인증으로 SSH 로그인이 가능해집니다.

3. SSH 접속 포트 변경

기본 SSH 접속 포트(포트 22)를 변경하는 것도 보안을 강화하는 한 가지 방법입니다. 해커들은 주로 기본 포트를 타겟으로 공격을 시도하기 때문에 포트 변경은 그들의 공격을 어렵게 만들 수 있습니다.

SSH 서버 설정 파일을 엽니다.

sudo vi /etc/ssh/sshd_config

Port 옵션을 찾으세요. 주석 처리를 해제하고 원하는 포트로 설정합니다. 다른 포트 중에서 1024 이상의 안전한 포트를 선택하세요.

Port 1234

설정을 변경한 후 SSH 서버를 재시작합니다.

sudo systemctl restart sshd

이제 변경한 포트로 SSH 접속을 시도해보세요.

4. 잘못된 로그인 시도 제한

끊임없이 잘못된 로그인 시도를 하는 해커들을 방지하기 위해 잘못된 로그인 시도에 대한 제한을 설정할 수 있습니다.

다음 명령을 사용하여 SSH 서버 설정 파일을 엽니다.

sudo vi /etc/ssh/sshd_config

MaxAuthTries 옵션을 찾습니다. 기본적으로 6회로 설정되어 있지만, 더 작은 숫자로 변경하여 잘못된 로그인 시도를 제한할 수 있습니다.

MaxAuthTries 3

설정을 변경한 후 SSH 서버를 재시작합니다.

sudo systemctl restart sshd

이제 잘못된 로그인 시도가 제한됩니다.


이렇게 CentOS SSH 로그인 보안을 설정함으로써 서버 보안을 강화할 수 있습니다. 비밀번호 기반 로그인 제한, 키 기반 인증 사용, SSH 접속 포트 변경, 잘못된 로그인 시도 제한 등 다양한 방법을 조합하여 추가적인 보안 조치도 적용할 수 있습니다. 서버 보안은 지속적인 관리와 주기적인 업데이트가 필요하므로 보안 요령을 항상 염두에 두세요.