Day22-SSH

2020. 1. 21. 10:05Security/리눅스

* SSH

암호를 이용한 통신 채널

공개키 암호 기법

- 개인키가 유출되면 제 3의 인물도 평문을 개인키로 암호화 할 수 있음.

대칭키 암호 기법

- 현재 대칭키 암호 기법을 쓰려면 AES를 사용해야 함.

 

안전 세션 설정

- 핸드셰이크는 접속하기 전에 사전에 무언가를 주고 받는 과정.

- 알고리즘 확인과 세션키를 교환하는 과정에서 client는 server의 공개키를 전달 받음.

- client가 server에게 서버의 공개키로 암호화해서 세션키를 보냄.

- 세션을 맺을때마다 세션키를 새로 만들기때문에 DES를 사용해도 무방

- 양쪽 모두 세션키를 주고 받은 뒤 T를 이용해 신원을 확인. T는 로그인일수도 있고 바뀔 수 있음.

 

* SSH의 설치와 실행

관련 파일

- 데몬 : /usr/sbin/sshd
- 스크립트 : /usr/lib/systemd/system/sshd.service
- 환경 설정 파일 : /etc/ssh/sshd_config
- 공개키 저장 경로 : $HOME/.ssh/

 

# yum list openssh*

// 서버 설치 확인

 

#systemctl start sshd.service

// ssh 서버 실행

 

#ssh [계정]@[대상 IP]

// 접속 방법

 

* SSH 주요 설정

/etc/ssh/sshd_config

- #된 부분은 default 값을 의미한다. 수정을 원하는 경우 #을 삭제하고 내용을 수정.

- PermitRootLogin이 no로 되어있는데 root 권한을 사용하고 싶다면 su 명령으로 root를 사용

- subsystem sftp /usr/libexec/openssh/sftp-server : sftp 서버 지정

 

* SSH 접속제한

sshd_config를 이용한 사용자 제한
AllowUsers [유저] [유저] … Allowgroups [그룹] [그룹] …

- 기본 설정이 deny

- 지정된 유저나 그룹만 접속 가능

 

DenyUsers [유저] [유저] … DenyGroups [그룹] [그룹] …

- 기본 설정이 allow 

- 지정한 유저나 그룹은 접속 불가

 

IP 제한

- hosts.deny를 이용해 제한

ex) sshd : All except 192.168.123.

// All은 누구도 접속 불가.

 

[실습]

AllowUsers 사용자 제한

1. /etc/ssh/sshd_config에 AllowUsers 설정

AllowUsers test1 test2

// test1과 test2만 접속 허용. 나머지는 전부 거절

 

2. ssh 재시작 후 접속 확인

test1과 test2는 접속이 되지만 test3 그리고 root도 접속이 되지 않는 것을 확인

 

DenyUsers 사용자 제한

1. /etc/ssh/sshd_config에 DenyUsers 설정

DenyUsers root test1 test2

// root, test1, test2의 접속 거절. 나머지는 전부 허용

 

2. ssh 재시작 후 접속 확인

 

test1과 test2는 접속이 되지않지만 test3와 root로는 정상적으로 접속이 가능.

 

윈도우에서의 접속 확인

 

root의 접속 거부
test1의 접속 거부
test2의 접속 거부
test3의 접속 승인

- AllowUsers, DenyUsers 설정은 윈도우의 cmd창에서도 확인 가능.

'Security > 리눅스' 카테고리의 다른 글

netstat 간단한 정리  (0) 2020.03.16
Day21-NFS  (0) 2019.12.19
DAY20-samba(2)  (0) 2019.12.17
DAY19-samba  (0) 2019.12.16
Day18-DNS 복습  (0) 2019.12.13