메뉴 건너뛰기

서버/호스팅

휘즈 2018.06.25 00:59
조회 수 : 145

ssh 서버를 안전하게 설정하기 위해서는 /etc/ssh/sshd_config 파일의 보안관련 설정의 의미를 알아두어야 합니다.

1. 22번 포트가 아닌 다른 포트 사용

ssh의 기본포트는 22번 포트입니다. 
22번포트를 그대로 사용할 경우 무작위 공격(Brute-force attack)을 당하기 쉽습니다.
OS를 설치하고 곧바로 /var/log/secure 파일을 보면 대부분의 경우 이미 무작위로 ssh접속시도가 있는 것을 경험할 수 있습니다.

#Port 22

Port 22000

주의사항

방화벽에서 사용하고자하는 포트를 미리 열어 두어야합니다.

2. root 로그인 차단

root로그인을 허용할 경우 root password를 탈취당할 경우 시스템의 모든 권한을 탈취당하게 되므로 root로 로그인을 할 수 없도록하고 root권한이 필요한 작업은 일반 사용자 계정으로 접속한 후 su나 sudo 명령어로 수행하도록 합니다.

PermitRootLogin no

3. PermitEmptyPasswords

기본 설정은 no이며, 암호가 없는 계정은 로그인을 허용하지 않습니다.

PermitEmptyPasswords no

4. 암호 대신 공개키로 인증

암호로 인증하지 않고 공개키로만 로그인하도록 하면 훨씬 보안이 강화됩니다.

PubkeyAuthentication yes

PasswordAuthentication no

주위사항

공개키 인증만 사용하려면 사전에 client 의 공개키를 등록해 두어야 합니다.

5. MaxAuthTries

옵션에 지정한 숫자 이상으로 로그인 시도에 실패하면 접속이 강제로 종료됩니다.
기본 설정은 6입니다.

MaxAuthTries 5

6. LoginGraceTime

여기에 지정된 시간 내에 로그인하지 않을 경우 접속이 강제로 종료됩니다.
기본은 2분이지만 이보다 더 짧게 하는 것이 좋으며 0 으로 설정하면 시간 제한 옵션이 비활성화됩니다.

LoginGraceTime 30

7. AllowUsers / DenyUsers

SSH 는 기본적으로 모든 사용자가 사용할 수 있지만 특정 사용자만 허용할 수 있습니다.
AllowUsers 에 허용할 사용자를 지정합니다. 이럴 경우 다른 사용자는 ssh 로그인을 할 수 없게 됩니다.

#user1, user2 만 허용

AllowUsers user1 user2

 

#IP 주소가 192.168.10.9 인 호스트에서 user1 사용자만 ssh로 접속할 수 있도록 설정.

AllowUsers user1@192.168.10.9

 

#IP 192.168.10.9 인 호스트의 모든 사용자에게 SSH 사용을 허용

AllowUsers *@192.168.10.9

특정 사용자만 SSH 허용

DenyUsers 를 사용하면 지정한 사용자 외의 모든 사용자의 ssh 사용을 허가하게 됩니다.
AllowUsers 와 DenyUsers를 혼용해서 사용하는 것보다는 하나의 키워드만 사용해서 접근 권한을 설정하는 것이 좋으며 whitelist 방식인 AllowUsers  가 더 관리가 용이합니다.

 

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )