일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- kmip
- 앨범북
- 2FA
- SWIFT
- SSH
- 앱리소스
- css
- OSX
- Android
- git
- MSYS2
- MFA
- 인증
- otpkey
- appres
- 앱스토어
- WebAuthn
- openssl
- SSL
- Nodejs
- Xcode
- fido
- SwiftUI
- FIDO2
- apple
- 애플
- 안드로이드
- MYSQL
- OTP
- albumbook
- Today
- Total
인디노트
SSH 서버 보안 설정 본문
OpenSSH 서버를 를 사용할 때 보안을 위해서 ssh 인증서를 설치하여 인증서 로그인을 하게됩니다.
이때, 암호 (Password) 로그인을 차단하는 방법에 대한 것입니다.
물론, 원격 접속중일때는 ssh 인증서로 로그인이 되는것을 확인 후 설정하길 바랍니다. 그렇지, 않으면 서버까지 가서 직접 무려서 해야 합니다. 설정 후에는 ssh 접속이 인증서를 사용할 경우에만 접속되기 때문입니다.
1. sshd_config 파일 수정하기
다음과 같은 명령으로 sshd_config 파일을 vi 에디터로 수정합니다.
# vi /etc/ssh/sshd_config
수정할 내용은 다음과 같습니다.
패스워드 차단, 공개키 인증방식만 허용
PermitRootLogin without-password
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin
- yes : ssh 로 root 계정을 로그인 할 수 있습니다.
- no : ssh 로 root 계정을 로그인 할 수 없습니다. (root 계정 차단)
- without-password : ssh 로 root 계정을 로그인 할 수 있지만 패스워드 방식은 차단합니다.
PasswordAuthentication
- yes : ssh 로그인시 패스워드 방식으로 로그인 할 수 있습니다.
- no : ssh 로그인시 패스워드 방식으로 로그인 할 수 없습니다. (패스워드 접근 차단)
PubkeyAuthentication
- yes : ssh 로그인시 공개키 방식을 허용합니다.
- no : ssh 로그인시 공개키 방식을 차단합니다.
빈 암호 차단
또한, 만일을 대비하여 다음과 같은 설정도 해 두시면 좋겠습니다. 이 옵션은 ssh 서버를 설치하면 디폴트 값으로 설정되어 있겠지만 보안을 위해서 no 로 설정되어 있는지 체크하시기 바랍니다.
PermitEmptyPasswords no
PermitEmptyPasswords
- yes : ssh 로그온시 빈 암호 (암호 물어볼 때 그냥 엔터만 치는것) 를 허용합니다.
- no : ssh 로그온시 빈 암호를 차단합니다. (빈 암호 차단)
로그인 시도 제한
설정된 만큼의 로그인 실패되면 접속을 강제로 종료 시킵니다.
MaxAuthTries 5
로그인 제한시간
설정된 시간안에 로그인 하지 않으면 강제 종료합니다. 단위는 초 단위 입니다.
LoginGraceTime 30
사용자 허용
SSH 는 기본적으로 모든 사용자가 접속할 수 있습니다. 만약 특정 사용자에게만 SSH 로그인을 허용할 경우에 혹은 특정 사용자는 SSH 접속을 차단할 경우 설정하시기 바랍니다.
AllowUsers user1 user2
사용자 차단
DenyUsers baduser1 baduser2
특정 사용자의 특정 IP 만 접속 허용
AllowUsers user1@192.168.10.100
모든 사용자에게 특정 IP 만 접속 허용
AllowUsers *@192.168.10.100
DenyUsers 를 사용하는 경우 지정한 사용자 이외의 모든 사용자가 SSH 접속이 가능합니다. AllowUsers 와 DenyUsers 를 혼용해서 사용하면 헷갈릴 수 있습니다. 화이트리스트 방식인 AllowUsers 를 사용하는게 좋습니다.
2. sshd 데몬 재시작
# systemctl restart sshd
설정을 마친 후 sshd 데몬을 재시작 하고 직접 SSH 접속을 시도해 보시는것이 안전을 위해서 가장 중요합니다.
'개발 플랫폼 및 언어' 카테고리의 다른 글
윈도우즈 10 정품 인증 (개발용 VM 적용에 유리) (0) | 2021.06.15 |
---|---|
Bitcode (0) | 2021.05.14 |
구글 클라우드 인스턴스 centos 7 만든후 (0) | 2021.03.17 |
해킨토시 - 카탈리나 10.15.1 => 10.15.6 콤보 업데이트 (SAMSUNG SSD 860 EVO 500GB) (0) | 2020.07.20 |
MSYS2 를 통해 MinGW-W64 설치하기 (윈도우에서 사용하는 GCC) (0) | 2020.06.06 |