2020. 1. 21. 10:05ㆍSecurity/리눅스
* 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로는 정상적으로 접속이 가능.
윈도우에서의 접속 확인
- 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 |