본문 바로가기

리눅스

26. ssl

1. SSL ( 사설 )

  - 전송하는 데이터 암호화

  - 종단간 신뢰성 확보 ( 공인인증서 : 사설 인증서 ( 불가능O ) )

  - 공인인증서의 경우 제 3자 공인인증기관 ( kisa - 6개의 중간인증기관 )

  - 대칭키 : 암호화키와 복호화키가 동일

  - RSA ( 공개키 암호화 ) : 소인수분해사용, 공개키를 소인수분해하여 개인키를 복호화. 전자서명에 이용.

  - ssl : 대칭키를 보낼 때 인증서를 이용하여 암호화하는 방법

 

2. SSL 구현

  - 다음과 같이 SSH를 구현한 후 실습 진행

 

 

  - SSL 사용을 위해 openssl 설치

openssl 설치

  - 개인 키 생성

개인 키 생성

 

  - 인증요청서 생성

앞서 만든 개인키를 이용하여 인증 요청서 생성
cat으로 인증 요청서 확인

 

  - 인증서 생성 . days는 유효기간

x509 포맷으로 365일 사용가능한 인증서 생성
인증서 확인.

 

  - 파일 위치 이동

사용되는 해당 디렉토리에 각 개인키와 인증서 이동

  - 개인키와 인증서를 다른 리눅스로 이동

-scp 명령어를 이용하여 파일 이동.

(1) ftp ssl 인증 적용

 

  - ftp가 설치된 서버에 config 파일 수정

다음과 같은 구문 추가.
수정 후 실행

  - 파일질라를 통해 연결하면 종단간 신뢰성 확보가 되지 않는다. 확인하면 연결

  - 파일을 전송한다

파일 전송

 

  - 와이어샤크를 이용하여 패킷을 저장하여 확인

인증서를 사용함으로써 베너말고는 알아볼 수가 없다.

 

(2) Web SSL 인증 적용

  - 호스트pc에서 리눅스 서버에서 쓰일 사진파일 전송

scp 명령어를 이용하여 파일 전송

  - 각 서버의 index.html에 사진파일 추가

다음과 같이 세 서버에 모두 적용

  - 와이어 샤크 실행 후 웹서비스 접속 후 캡처 저장

http로 접속했을 때

  - 캡처 파일에서 http를 검색하여 tcp stream해보면 파일이 평서문으로 보임을 확인

1.png 파일 확인

  - 이는 와이어샤크에서 파일-> export objects -> http를 이용하여 저장하고 파일형식을 변환하면 사진파일로 변환된      다.

보안 상 취약함을 보인다.

 

  - 이렇게 웹페이지에서 바로 파일에 접근할 수 있기에 보안이 취약하다. 따라서  SSL인증을 통해 보안성을 높인다.

  - web에서 SSL을 사용하기 위해 mod_ssl 설치

  - 설치 후 ssl.config 파일 수정

documenroot 부분 주석 해제
인증서 부분과 개인 키 부분에 생성한 ssl키 입력

  - 방화벽 포트 개방

 

  - 와이어샤크를 실행한 후 사이트 접속.

    https 로 접속하여야한다.

사설 인증서이기 때문에 신뢰하지않게 나오지만 접속은 가능하다.
와이어샤크를 통해 패킷 캡처 저장

  - 캡처 저장본을 통해 아이피 주소로 검색

    ip.addr 로 클라이언트 ip와 접속된 사이트의 ip를 검색하여 패킷 탐색

  - tcp stream을 확인하여 보면 코드가 암호화 되있음을 확인

 

3. 패킷 캡쳐 및 원시코드를 파일로 변환

  - ftp 연결

 

 

- wireshark 와 winpcap 다운 ( 패킷 캡처용 )

  document 제외 모두 설치

  npcap 대신 winpcap 사용

 

  - 프로그램 설치 후 캡처 프로그램을 이용해서 사진 파일 하나 생성 

1.png 생성

  - wireshar 실행하면 카드가 보인다. 이더넷 카드 선택

이더넷 카드 선택 시

  - 이더넷 카드 선택 후 파일질라에서 파일 전송

  - 와이어샤크 검색을 멈춘 후 다른이름으로 패킷 캡처 저장

ftp 파일이름으로 저장, winpcap 파일형식으로 생성

 

  - 파일 실행 후 위에 ftp를 검색하면 ftp 관련 패킷이 출력

우클릭 - follow - tcp stream을 클릭해보면 패킷의 과정이 보임. 파일전송 후 패킷을 확인하면 파일전송도 보임

 

- ftp-data를 검색한 후 원시코드로 된 파일을 다른이름으로 저장

  해당 검색을 통해 파일의 원시코드를 알 수 있음

  우클릭 -> follow -> tcp stream

원시 코드를 평서문으로 저장

 

  - 한글 핵스 에딧을 설치하고 실행. 위에서 다운받은 원시코드를 연다. 후 다른 이름으로 png 파일로 저장

사이트 접속 후 설치
평서문이 16진수로 변환

 

  - 한글 핵스 에딧으로 평서문을 사진파일로 변환 할 수 있기 때문에 보안 취약

코드파일이 사진파일로 변환

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

30.WordPress, MySQL5.7 + PHP7.3 설치 실습  (0) 2022.04.25
29. Wordpress & DB  (0) 2022.04.25
25. 웹서버 (mail)  (0) 2022.03.28
23. NFS  (0) 2022.03.24
22. 웹서버  (0) 2022.03.23