서비스

(Application Layer)



Telnet (23) & SSH (22) -> 원격 터미널 서비스


Plain text ----------------------> Plain text

평문 전송, 보안에 취약함 대신 빠름


SSH


Plain text -> Cypher text -----------------------> Cypher text -> Plain text

암호화 Key (파일)     보안 높음, telnet에 비해 느림              복호화 Key


암호화 키와 복호화 키가 같으면 대칭키 암호화 방식(단일키 암호화 방식)

--> 문제점 : 키 값을 보낼 때 취약해짐

그래서 받는 쪽에서 키를 2개를 만듬 Public Key, Private Key

공개키를 보내는 쪽에서 암호화함. 암호화를 복호화할 때 Private Key를 사용.

비대칭키 암호화 방식(이중키 암호화 방식)



실습 와이어샤크(wireshark) 를 이용하여 telnet 패킷 캡쳐(capture)


실습 환경

Kali

CentOS


# wireshark&


아래와 같은 창이 뜹니다


(와이어 샤크가 없다면 yum -y install wireshark* 또는 apt-get install wireshark)


아래에 Caputure 부분에서 eth0(자신의 네트워크 인터페이스)을 선택하고 Start를  눌러 캡쳐를 시작한다.



그럼 엄청난 패킷이 올라오는뎅 필터(Filter) 부분에 tcp and ip.addr==192.168..28 (텔넷서버 IP) 를 입력하고 엔터를 치면


필터링되어서 보기 편할것이다.



이제 터미널 창을 하나 더 열어서 텔넷 접속을 해보자


# telnet 192.168.0.28


id와 pw를 입력하여 로그인까지 해보자



와이어샤크로 보면 스크린샷이 너무 많기 때문에 아래와 같이 dsniff를 이용해보았다.


(로그인전에 dsniff로 스니핑하고있다가 텔넷 연결끊으면(로그아웃) 아래와 같이 스니핑한 아이디와 패스워드가 나온다)



아래는 패스워드를 와이어샤크로 보았을 때다. 더 보기 클릭



실습 와이어샤크(wireshark)를 이용하여 ssh 패킷(Packet) 캡처(Capture)하기


실습 환경

Kali

CentOS


와이어샤크 실행


# wireshark&


패킷 캡처 시작


eth0 -> Start



필터 지정



터미널 새로 열어서 ssh 접속



암호화된 패킷으로 주고 받는 것을 볼 수 있다.



암호화되었기 때문에 당연히 아이디와 패스워드를 알아낼 수 없다.




FTP (20, 21) -> 파일 전송 프로토콜


Active 모드 : 20, 21 포트 고정

Server -> Client 전송 요청 시 NAT 사용하면 안 됨.


Passive 모드 : 21 포트 고정, Data Port Random

Server -> Client 전송 요청 시 NAT 사용 가능




NAT -> IP 주소를 IP 주소로 변환


SNAT : 사설 IP -> 공인 IP

DNAT : 공인 IP -> 사설 IP


PAT(Nat overloading) : 오버로드 방식. 나갈때 공인 IP 1개로 나감. 들어올 때는 Port number로 구분해서 연결


NAT을 사용하면 보안이 좋아지고, IPv4를 효율적으로 사용할 수 있다.




DNS (53)

TCP(DNS 서버 간 Zone File 전송 할 때), UDP(Query, 물어볼 때)


이름(도메인) <-> IP


정방향 조회

이름(도메인) -> IP


역방향 조회

IP -> 이름(도메인)


질의(Query)

재귀적 질의 - Client <-> DNS

순환적 질의 - DNs <-> DNS




1) www.naver.com을 찾으면 일단 /etc/hosts에 등록되어있나 확인

2) 없으면 /etc/resolv.conf에 등록되어있는 DNS에 물어봄

3) root DNS에 www.naver.com 물어봄

4) (.) com으로 끝나는거 보고 com 쪽 네임서버알려줌

5) com쪽 1차 도메인 네임서버에 가서 www.naver.com 물어봄

6) naver걸 알으니 거기 가서 물어봐 하면서 naver.com의 네임서버 주소 알려줌

7) 2차 도메인 네임서버인 naver.com에서 www.naver.com 물어봄

8) www.naver.com 의 IP 주소를 DNS 서버에 전달해줌

9) DNS서버는 Client로 IP주소 알려줌


2), 9) 과정이 재귀적 질의에 속하고

1), 2), 9) 과정을 뺀 나머지가 순환적 질의이다.





DHCP (67,68)

동적 호스트 설정 프로토콜

Port -> 67 Server / 68 -> Client


1) DHCP Discover

2) DHCP offer

3) DHCP request

4) DHCP ack




1) Client는 IP주소를 받기위해 DHCP 서버 누구냐고 네트워크에 브로드캐스트로 쏨 (MAC) DHCP discover

2) DHCP 서버는 IP를 찾고있는 Client의 응답을 받고 내가 DHCP 서버라고 알림 (Unicast) DHCP offer

3) Client는 가장 빨리 DHCP offer를 보낸 DHCP 서버에게 DHCP request를 보내 IP주소 달라고 함 DHCP request

4) DHCP 서버는 Client에게 IP주소를 할당해줌 DHCP ack


4가지의 과정을 거치는 이유는 네트워크내에 DHCP 서버가 2대 이상일 경우

빨리 오는 응답 (DHCP offer) 서버에게서만 IP주소를 할당 받기 위해서!!