Linux

22.04.04

가로선 2022. 4. 4. 18:04

 

   목차   

 

1. SSL 이론

2. 개인키, 공개키 설정

3. SSL 인증서 생성하기

    - 개인키 + 인증요청서

4. 와이어샤크, winpcap, hexedit 설치

5. FTP에 SSL 적용

6. WEB에 SSL 적용

 

 

   SSL 이론   

 - 전송하는 데이터 암호화
 - 종단간 신뢰성 확보 (공인인증서만 가능)
    - 사설인증서로는 불가능(보증해 줄 수 있는 제 3자(기관)가 없어서)
        - 경고 메세지가 나오지만 사용해도 무방(전송 데이터는 암호화 되므로)
    - 제 3자 공인인증기관(KISA - 위임받은 6개 중간인증기관)

 

TCP/IP suite

    - 왼쪽이 기본적인 HTTP의 구조이며, 4계층 위 SSL이 얹어진 구조가 HTTPS

 

대칭키 암호화 방식

    - 암호화키와 복호화키가 같은 암호화 방식

    - 키 관리, 키 전송의 문제점이 발생

    - 쓰는 사람이 많아지면 관리가 매우 힘들어 진다

 

스니핑, 스푸핑 문제

    - 남들이 모르게 해커가 암호화키를 훔쳐가는 문제가 발생할 수 있다

 

데이터 위조 가능

    - 원본의 데이터를 위조하여 통신하는 사람 간 문제가 발생할 수 있다

 

RSA(공개키 기반 암호화 방식)

    - 암호화 키와 복호화 키가 다른 암호화 방식
    - 공개키로 암호화 된 것을 개인키로 풀 수 있지만, 반대는 X
    - 소인수분해 어려움을 가지고 만듬(1과 자기 자신으로만 나눠지는 수)
        - 소인수 자체가 엄청 길다(컴퓨터로도 100년 정도 걸림)
    - 양자컴퓨터의 발달로 인해 위험해지고 있다

 

복호화된 문서와 원본이 다른 경우가 발생

    - 전자서명은 Hash값을 이용한다

    - 원본에서 한 글자만 바뀌게 되어도 Hash값이 확 바뀐다

 

Hash값 확인

    - md5sum : 32개의 16진수로 이루어진 Hash값을 확인 가능

 

전자 서명

    - 개인키로 해쉬값에 대해 암호화를 함

        - 이 암호화 키를 가지고 데이터를 암호화함
    - 암호화된 데이터를 공개키로 풀어볼 수는 없으나 해쉬값 같은지 다른지는 확인 가능

 

SSL 통신과정

    - 중요한 부분이다

 

사이트 인증절차 / SSL 전달 순서

 

 

   개인키, 공개키 설정   

 - Host PC에서 VM으로 모든 SSH key 접속이 가능해야 한다

 - CentOS7-1에서 다른 VM으로 SSH key 접속이 가능해야 한다

 - 배운 것이므로 간단히 포스팅 할께요!

 

암호키 생성

 

개인키, 공개키 생성된 것 확인

 

Host PC에서 scp를 통해 CentOS7-1로 공개키 복사

 

CentOS7-1에서 2, 3으로 똑같이 복사 진행

 

Host PC에서 인증서를 통해서만 접속이 가능해 졌는지 확인

 

CentOS7-1에서도 2, 3으로 인증서 접속이 가능해야 하므로 개인키를 CentOS7-1로 복사

 

접속 확인

    - 권한을 꼭 변경해줘야 접속이 된다

 

키 자동 업로드

    - id_rsa에서 키를 자동으로 업로드할 수 있는데 그 키로 인스턴스에 접속이 가능

        - 인증서 필요 없이 바로 접속이 가능하다

 

 

   SSL 인증서 생성   

 

openssl 설치

 

개인키 발급

    - ca.key는 개인키 이름이므로 원하는대로 바꿔도 상관 없다

 

인증요청서 작성

    - 한 번 만들고 후에 쓸 일 없다

 

인증서 생성

    - x509 : 인증서 표준 방식

    - days : 유효기간(보통 5년으로 많이 만든다)

 

개인키 위치 이동

 

인증서 위치 이동

    - 둘 다 위험한 위치이므로 위치를 변경해준다

 

CentOS7-2, 3에서도 사용할 것이므로 복사시켜 놓는다

 

 

   와이어샤크, Winpcap, hexedit 설치   

 - 구글 검색 후 설치 진행

 - 와이어샤크 : 패킷 분석 프로그램

 - Winpcap : 패킷 캡쳐 라이브러리

 - hexedit : 원시코드를 16진수로 분석

 - Winpcap, hexedit에서 설치의 어려움은 없으니 생략

 

와이어샤크 설치 진행시, Documentation 체크박스 해제

 

Npcap 라이브러리는 보기 불편하여 체크 해제

    - Winpcap을 대신 설치하여 진행하는 이유이다

 

와이어샤크 설치가 완료되면 해당 카드를 눌러서 패킷을 분석하면 된다

 

 

   FTP(SSL 적용)   

 - 시작 전 와이어샤크 실행

 

   와이어샤크 사용 및 Hexedit에 적용   

 

다운로드 패킷 분석을 위해 파일질라에서 1.png 업로드 진행

 

와이어샤크 정지 후, 저장

    - 파일 형식을 .pcap으로 저장

        - default 값은 와이어샤크에서밖에 사용이 안되므로

 

ftp로 검색항목 입력 후, 확인

    - 아무 패킷에서 우클릭 후 Follow - TCP Stream으로 확인

 

모든 활동 확인 가능

    - FTP 접속이나 업로드 한 것 등 전부 확인 가능

        - 매우 해킹 공격에 취약

 

Show data를 ASCII에서 Raw(원시코드)로 변경 후, 다른 이름으로 저장

    - hexedit을 사용해 보기 위해 진행(50이라는 이름으로 저장)

 

Hexedit에서 원시코드를 16진수로 분석

    - 다시 Hexedit에서 저장하면 1.png와 똑같은 png 파일로 생겨난다

 

 

   FTP - SSL 설정   

 

vi /etc/vsftpd/vsftpd.conf 설정파일에서 추가

 

설정 후, 다시 파일질라에 접속해 보면 인증서 화면이 출력

    - SSL이 적용되었지만, 사설 인증서이므로 중간 인증기관의 인증서가 없기

       때문에 알 수 없는 인증서라고 나오게 된다

    - 하지만, 인증서에 있는 회사정보 빼고는 다 암호화되어 식별할 수 없는 상태가 된다

 

11.png 파일을 다운로드 하는 것에 대해 패킷 분석

    - 1.png와 같은 파일이다(테스트용으로 이름만 변경해서 진행)

 

SSL 적용 전과는 다르게 암호화 되어 식별이 불가능한 것을 확인

 

 

   WEB(SSL 적용)   

 - 와이어샤크 실행 후 진행

 

   와이어샤크로 WEB 사용 패킷 분석   

 

WEB 서버 메인 서비스 페이지에 이미지를 출력해 주기 위해 1.png 파일을 복사

    - 각각의 웹 서버의 index.html에 1.png 이미지 추가

 

이미지가 웹 페이지 메인 서비스 페이지에 같이 출력되는 것 확인

 

와이어샤크 종료 후, http를 검색어로 지정해서 패킷을 보면 진행한 활동들을 확인할 수 있다

    - 빨간색 : 클라이언트가 서버에 요청

    - 파란색 : 서버의 응답

 

   WEB - SSL 설정   

 

WEB에 SSL을 설정해 주기 위해 mod_ssl 설치

 

mod_ssl을 설치하면 /etc/httpd/conf.d/ 안에 없던 conf 파일인 ssl.conf 파일이 생기게 된다

 

ssl.conf에서 DocumentRoot 확인

    - 매우 중요한 작업이다(주석 푸는게 다지만 위치 제대로 확인하자!)

 

인증서와 개인키가 있는 위치로 설정 변경

 

방화벽 포트 개방(443은 https)

 

비공개 연결 출력

    - 비공개 연결 : 루트 인증서로 확인이 안되므로 나오게 되는 것

        - 중간 인증기관의 인증서가 없어서 생기는 일이다(사설 인증서로 진행하므로)

    - 고급 정보 클릭 후, 아래 url을 클릭하면 진행이 된다

 

https로 접속되는 것 확인

 

검색창에서 IP를 통해 검색을 할 수 있다

    - 암호화 보안 프로토콜인 tls로 대신 검색해도 같은 결과이다

    - https라는 검색 키워드가 없으므로 해당 방법으로 진행해야만한다

 

암호화가 되어 식별할 수 없는 상태가 된 것 확인

'Linux' 카테고리의 다른 글

22.03.17  (0) 2022.03.17
22.03.04  (0) 2022.03.04
22.03.02  (0) 2022.03.02
22.02.28  (0) 2022.02.28
22.02.24  (0) 2022.02.24