LINUX SECURITY - 보안 웹 프로토콜 -

Slides:



Advertisements
Similar presentations
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
Advertisements

HTTPS Packet Capture Tutorial
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
표준 SSL Server Identification
CHAP 22. 블루투스.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Postfix MTA SPARCS 08 진준호 ( Alex ).
암호화 기술 SSL와 IPSec의 개요 및 동작과정
Network Lab. Young-Chul Hwang
MYSQL 설치.
Chapter 17 전송층 보안: SSL과 TLS
Secure Socket Layer.
PHP입문 Izayoi 김조흔.
Team Project : SSL 2008/05/27 정보보호 응용 발표자 : 신용철.
LINUX SECURITY - 리눅스와 방화벽 -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
SSL (Secure Sockets Layers Protocol)
Java 기초 (Java JDK 설치 및 환경설정)
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
LINUX SECURITY - 침 입 탐 지 - 네트워크 실험실 김 윤 수 #
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
Root Filesystem Porting
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
LINUX SECURITY - Telnet 보안 -
8장 쿠키와 세션 한빛미디어(주).
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
화이트 보드와 채팅 기능을 제공하는 웹 기반 공동작업 지원 시스템
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
PMIS 서버 설정 환경설정 작성자 : 배경환.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
SSL, Secure Socket Layer
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
웹(WWW).
STS 에서 웹 서버 설치 방법.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
암호학 응용 Applied cryptography
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
발표자 : 이지연 Programming Systems Lab.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Network Lab. Young-Chul Hwang
CHAP 15. 데이터 스토리지.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

LINUX SECURITY - 보안 웹 프로토콜 - 네트워크 실험실 김 윤 수 2018-12-06 #

목 차 문제점 넷스케이프 커뮤티케이터사의 SSL Apache-SSL설치 다른 보안 프로토콜 IPSEC 요약 2018-12-06 목 차 문제점 넷스케이프 커뮤티케이터사의 SSL Apache-SSL설치 다른 보안 프로토콜 IPSEC 요약 2018-12-06 #

Web 기반 통신방법의 문제점 HTTP는 암호화 되지 않고, 누군가가 클라이언트와 서버 사이에 데이터를 도청할 수 있으므로 사용자 세션은 어떠한 사생활 보호 장치를 제공하지 않는다. HTTP는 stateless프로토콜이다. 사용자 정보를 저장하지 않기 때문에 사용자 신원을 파악할 수 없다 현재 진행중인 세션을 인증할 수 있는 방법이 없다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-12-06 #

SSL(1) SSL (Secure Soket Layer) 미국 넷스케이스프사가 개발한 웹 브라워저와 웹 서버간에 데이터를 안전하게 주고 받기 위한 암호화 전송 프로토콜. RSA, DES 인증방법과 MD5무결성 검사기능을 제공한다 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-12-06 #

SSL(2) RSA.DES.MD5를 통한 웹 기반 세가지 문제점 DATA의 암호화 연결시 클라이언트와 서버는 전송중인 데이터를 암호화 하기 위한 비밀키를 정의하고 교환하여 도청 되더라도 암호화 되어 쉽게 밝혀낼수 없다 사용자 인증 공개키 암호화를 지원하기 때문에 RSA나 전자 서명 표준방법(DSS : Digital Signature Standard)같은 방법을 사용 사용자 인증. 세션 무결성 검사 MD5나 SHA같은 메시지 다이제스트 알고리즘을 통해서 현재 세션에 대한 무결성을 검사할 수 있기 때문에 가로채기를 방지 할 수 있다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-12-06 #

SSL(3) Secure Socket Layer Socket의 암호화 확장판 443(https), 465(ssmtp), 563(snntp) 등을 사용 TCP/IP SSL HTTP Telnet NNTP FTP SMTP SHTTP Etc... 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-12-06 #

SSL(4) Client Server SSL Handshake randomC, CipherSuites ClientHello ServerHello randomC, CipherSuites randomS, ciphersuite, session id server public key encrypted pre-master secret hashed mesage and secret Finished ServerKeyExchange ClientKeyExchange ChangeCipherSpec ChangeCipherSpec SSL Handshake 2018-12-06 #

SSL(5) SSL은 두계층과 두 단계를 거쳐 데이터를 보호한다. Handshake 클라이언트와 서버는 핸드쉐이크(TCP핸드쉐이크와 유사)동안 키들을 교환하고 컨넥션을 유지하며 암호화 상태를 동기화한다. Encript 애플리케이션에서 가져온 데이터를 암호화한다. SSL Protocol Internet Draft SSL은 계층화된 프로토콜이다. 각 계층에서 메시지들은 길이 설명 내용을 위한 필드를 가질 수 있다. SSL은 전송될 메시지를 처리할 수 있는 블록을 나누며 부가적으로 데이를 압축하며 MAC(Message Authentication Code)을 적용시키고 그 결과를 전송한다. 수신된 데이터는 해독, 검증, 압축해제하며 재조립되어 상위계층 클라이언트에 전달된다. 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. 2018-12-06 #

SSL’S security History 1995년 9월 Ian Goldberg와 David Wagner netscape 난수생성기 원리를 찾아냄 1997년 프린스턴 대학의 Edward felten팀과 Frank O’Dwyer의 연구원들은 SSL이 가능한 브라우저들이 하이퍼링크 스푸핑과 man-in-the-middle공격을 당하기 쉽다는 것을 밝혀냄 1998년 6월 RSA 연구소의 공용키 암호화 표준 #1(PKCS#1)의 취약점:SSL로 암호화된 세션으로 부터 공격자들이 정보를 복구할수 있도록 한다. 2018-12-06 #

Apache-SSL 설치 준비사항 Apache 1.2.6이상과 소스(apache1.3.12.tar.gz) http://www.apache.org OpenSSL(openssl-0.9.5a.tar) http://www.openssl.org Apache-SSL patch(apache_1.3.12+SSl_1.41.tar.gz) ftp://ftp.ox.ac.uk/pub/crypto/SSL/Apache-SSL/ 2018-12-06 #

Apache-SSL 설치(1) STEP 1 OpenSSL, Apache DownLoad받아 임의의 디렉토리에 암축을 푼다. Apache_1.3.12+SSl_1.41은 apache_1.3.12디렉토리에 copy 하여 압축을 푼다. 2018-12-06 #

Apache-SSL 설치(2) STEP2 Apache_1.3.12디렉토리에서 apache_1.3.12+ssl_1.41.tar의 압축을 풀면서 생긴 FixPatch를 실행하여 OpenSSL에 필요한 patch를 수행하도록한다. openSSL의 디렉토리로 이동하여 다음의 명령을 차례대로 수행한다 ./config make make rehash make test Make install 2018-12-06 #

Apache-SSL 설치(3) STEP 3 Apache_1.3.12디렉토리에서 다시한번 FixPatch를 실행하여 “Openssl EGD patch” 질문에 n을 입력한후 “fixed-up Apache-SSL patch” 질문에 y를 입력한다 FixPatch를 통해 만들어진 ApacheSSL Configuration 파일들을 다시 아파치의 ./configure 명령을 수행한다 ./configure --prefix=/usr/local/apache Make와 make install명령을 이용하여 ApacheSSL의 설치를 마친다. make make install 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-12-06 #

Apache-SSL 설치(4) STEP 4 Binary파일이 생성을 확인한다. [root@gaya bin]# ls ab* dbmmanage* htdigest* httpsd* logresolve* apxs* gcache* htpasswd* httpsdctl* rotatelogs* [root@gaya bin]# pwd /usr/local/apache/bin [root@gaya bin]# 2018-12-06 #

Apache-SSL 설치(5) STEP 5 초기의 apache_1.3.12/src 디렉토리로 이동하여 인증서를 만든다. make certificate make certificate에 의해 만들어진apache_1.3.12/SSLconf/conf/httpsd.pem 파일을 apache가 설치된 장소(/usr/local/apache/conf/)로 복사한다. Cp httpsd.pem /usr/local/apache/conf 2018-12-06 #

Apache-SSL 설치(6) STEP 6 OpenSSL및 http://www.apache-ssl.org를 참조하여 ApacheSSL에 필요한 각종 암호키 파일들을 만든후 httpsd.conf를 적합하게 수정한다. 2018-12-06 #

Apache-SSL 설치(7) OpenSSL설치시 옵션 DES_PTR : DES에서 배열검사를 허용하는 대신 포인터 연산 수행 -DNO_BF : Blowfish를 지원하지 않음 -DNO_IDEA : IDEA를 지원하지 않음 -DNO_MD2 : MD2를 지원하지 않음 -DNO_RC2 : RC2를 지원하지 않음 -DNO_RCA : RC4를 지원하지 않음 -DRSAref : RSAref를 사용하지 않음 2018-12-06 #

Apache-SSL 설치(8) /usr/local/apache/conf/httpd.conf Listen 443 Port 80 User nobody Group nobody ServerAdmin root@gaya.kaist.ac.kr SSLCACertificatePath /usr/local/apache/conf SSLCACertificateFile /usr/local/apache/conf/httpsd.pem SSLCertificateFile /usr/local/apache/conf/httpsd.pem SSLCacheServerPort 8080 SSLCacheServerPath /usr/local/ssl SSLSessionCacheTimeout 1000 2018-12-06 #

Apache-SSL 설치(9) 인증서 만들기 2018-12-06 #

Apache-SSL 설치(10) Apache-SSL구동 2018-12-06 #

Apache-SSL 설치(11) Apache-SSL구동 2018-12-06 #

Apache-SSL 설치(12) apache_1.3.12+SSl_1.41.tar.gz Ben.pgp.key.asc EXTRAS.SSL LICENCE.SSL Md5sums README.SSL SECURITY Scr/apache_ssl.c SSLpath 2018-12-06 #

설정시 주의사항(1) Apache-SSL환경변수 변 수 명 기 능 HTTPS 서버가 HTTPS를 사용할 것인지를 명시 기 능 HTTPS 서버가 HTTPS를 사용할 것인지를 명시 HTTPS_CIPHER Cipher가 사용되고 있는지를 명시 SSL_PROTOCOL_VERSION 사용되고 있는 SSL 버전 SSL_CLIENT_CERT 클라이언트 인증서를 Base64로 부호화 할것인지를 명시 SSL_CLIENT_I_DN 클라이언트의 인증서 발행자의 DN 명시 SSL_SERVER_DN 서버의 인증서안에 있는 DN 명시 SSL_SERVER_I_DN 서버의 인증서 발행자 DN명시 SSL_SSLEAY_VERSION 사용하고 있는 SSLeay버전명시 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. 2018-12-06 #

설정시 주의사항(2) Apache-SSL 설정 지시문 변 수 명 기 능 HTTPS 서버가 HTTPS를 사용할 것인지를 명시 기 능 HTTPS 서버가 HTTPS를 사용할 것인지를 명시 HTTPS_CIPHER Cipher가 사용되고 있는지를 명시 HTTPS_KEYSIZE 세션키 사이즈를 명시 SSLBanCipher 서버가 거부할 cipher의 목록 SSLCACertificateFile 여러 개의 인증서를 포함하고 있는 파일명시 SSLCACertificatePath 어느 인증기관으로 부터 클라이언트 인증서를 받았는가 SSLCacheServerPath 캐시서버명시 SSLCertificateFile 하나의 인증서 파일의 위치 명시 2018-12-06 #

인증서와 인증기관 리눅스를 전자상거래로 사용할 계획을 가지고 있다면 승인된 인증기관으로 부터 인승서를 받아야 한다. Entrust Technologies – http://www.entrust.net/products EuroSign – http://www.eurosign.com/ VerSign – http://www.verisign.com/server Xcert International – http://www.xcert.com/software GTE – http://www.cybertrust.gte.com/cybertrust 2018-12-06 #

다른 보안 프로토콜 : IPSEC 기업환경에서의 네트워크와 네트워크간의 데이터 보호 패킷마다 암호화와 인증을 수행할 수 있기때문에 플랫폼과 애플리케이션 독립적 2018-12-06 #