LINUX SECURITY - web서버보안 -

Slides:



Advertisements
Similar presentations
웹 서버 구축 숭의여대 인터넷정보과 최지영. 웹 ? 웹사이트 ? 웹서버 ? 웹서비스 ? IIS? 아파치 ?
Advertisements

제 4 장 인터넷 창병모 네트워크 구성 2 LAN(Local Area Network) LAN  근거리 통신망으로 집, 사무실, 학교 등의 건물과 같이  가까운 지역을 한데 묶는 컴퓨터 네트워크 이더넷 (Ethernet)  제록스 PARC.
인터넷 쇼핑몰 구축 제안서.
㈜맥스무비 영화관 발권 전산망 시스템.
HACKING 김진수 소준형 유병화.
3 장 인터넷 서비스.
Chapter 7 Networking.
웹 해킹 기초와 실습.
홈페이지 자동 구축 솔루션 K2 Web WIZARD 2.6 관리자 메뉴얼
운영체제 설정과 취약점 인터넷공학/컴퓨터공학 이수백/허성욱.
Chapter-2. 개발환경 구축하기.
NFS, FTP coearth, george.
1. JSP(Java Server Pages) 소개
Dynamic Host Configuration Protocol
공개키 기반구조 (Public Key Infrastructure)
서버의 종류와 기능 환경공학과 권진희.
Chapter 11 웹 서버 보안.
오 태 호 POSTECH Laboratory for UNIX Security
오 태 호 POSTECH Laboratory for UNIX Security
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
소리가 작으면 이어폰 사용 권장!.
Minicom,tftp,nfs설정,vnc설정
Web Servers (IIS & Apache)
APM (Apache+PHP+MySQL)
목 차 1. 기 업 현 황 회 사 개 요 2. Finger Police System 개요
1. JSP(Java Server Pages) 소개
김승겸 한남대학교 컴퓨터공학과 인공지능 실험실
LINUX SECURITY - 메일 보안 - 네트워크 실험실 김 윤 수 #
사용자의, 사용자에 의한, 사용자를 위한 APT.상가 분양임대관리 System 제안서
1강 01장. 웹과 자바.
Web Security 모든 HTTP 패킷은 엽서와 같음 SSL/TLS
국산 Firewall 제품 비교표 SecureShield SecureWorks InterGuard Hwarang
Linux Security (스캐너) 네트워크 실험실 김 윤 수 #
(PROJECT명: Web Server관리)
Processing resulting output
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
제9장 네트워킹 숙명여대 창병모 2011 가을.
Crontab.
Web Server Program 구현 - 네트워크 프로그래밍 - 박내갑 ( ) 김상언 ( )
04장 웹 보안: 웹, 그 무한한 가능성과 함께 성장한 해킹
1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP
2. JSP의 환경설정.
객체 지향 프로그래밍.
? SMB (Server Message Block)
전자상거래 구축을 위한 EC/EDI Solution 제안서.
HTML5 웹 프로그래밍 입문 홈페이지 계정.
CGI (Common Gateway Interface)
Part 04-3 Windows 2000 Server IIS Outlook Express 도메인 사용 관리자
1조 김성수 백현기 석광우 김지원 박광연.
김 정 석 Web Programming 김 정 석
제8장 네트워킹 숙명여대 창병모
Cyber Shopping Mall 구축 - CD New - 안소연,박지윤,박종봉,정영은.
Linux 9.X 기초에서 활용까지 Chapter 03 리눅스 설치.
Chapter 13 사례 연구(Case Studies)
myfood.com 상명대 맛집 홈페이지 구축 제안서
GoAhead Web Server.
Ⅳ. 컴퓨터와 생활.
실전 프로젝트: 홈페이지 구축 시트콤 프렌즈 팬 사이트 구축하기.
Linux Security (리눅스 소개)
14 방화벽.
시스템 인터페이스 Lab3 Unix 사용법 실습.
NFS (Network File system)
ASP 기초개념 ASP란? ActiveX 서버 컴포넌트.
IP-255S 설치 교육자료 101/102에 대한 설명을 시작 하겠습니다.
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
HTML5 웹 프로그래밍 입문 홈페이지 계정.
홈페이지 제안서
Web Server Install.
매물장 로그인 직원을 미리 생성하시면 직원 ID로 로그인 가능.
네트워크 프로토콜.
Presentation transcript:

LINUX SECURITY - web서버보안 - 네트워크 실험실 김 윤 수 2019-02-18 #

목 차 필요없는 서비스 제거 웹서버 보안 기본 HTTP 인증방법 HTTP와 암호화 인증 HTTP와 암호화 인증방법 요약 목 차 필요없는 서비스 제거 웹서버 보안 기본 HTTP 인증방법 HTTP와 암호화 인증 HTTP와 암호화 인증방법 요약 2019-02-18 #

필요없는 서비스 제거 파일전송 프로토콜(FTP) finger 네트워크 파일 시스템(NFS) 다른 RPC 서비스 SMB(server Message Block) 프로토콜 R 서비스 2019-02-18 #

FTP Service제공시 문제점 공격자가 FTP 서버를 공격하여 성공하면 호스트의 남은 자원에 접근할수 있는 권한 획득 쓰기 권한이 부여된 디렉토리를 가진 공개된 FTP서버에서 디스크 포화공격(disk saturation attack) 가능. 법으로 금지한 외설적인 자료를 저장하는 FTP 서비스로 사용. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2019-02-18 #

finger (1) 특정사용자의 정보(사용자명, 성명, 쉘, 디렉토리, 사무실 전화번호등을 알려주는 기능 Danfarmer and Wiethse venema - “Improving the Security of Your Site by Breaking Into It” 크래커에 제공될 수 있는 정보 일반적인 사용자(root, bin, ftp, system등)외에도 “@”,”0”,””등에 대해서 finger기능이 가능하기 때문에 finger의 버전에 따라서 다르긴 하지만 다양한 정보를 알수 있다. 그중 주목할 만한것이 사용자명과, 홈디렉토리, 언제 어디서 마지막으로 로그인 했는지에 대한 정보이다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2019-02-18 #

finger (2) 크래서들은 finger정보를 이용하여 다양한 공격 방법을 시도할 수 있다. 고정된 IP나 호스트명을 가진 워크스테이션에서 접속 – 불법적인 직접 접근이 불가능하므로 다른 호스트에 대한 공격(신뢰관계 추정) 내부사용자의 Id로 시스템 탐색 X 세션(cs-xt6,bu.edu:0.0)및 r 서비스(rlogin)제공 확인 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2019-02-18 #

네트워크 파일 시스템(NFS)조치 Export하고자 하는 파일 시스템은 분리된 파티션을 생성하고 nosuid 옵션을 설정. 신뢰할 수 있는 호스트로 부터 portmapper 접근 제한 루트 파일 시스템은 절대로 export해서는 안 된다. NFS서버는 기본적으로 루트로 원격에서 접근하는것을 거부하도록 설정되어있으면 이 설정은 절대로 바꾸지 말것. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2019-02-18 #

다른 RPC 서비스 (1) rpc.ruserd(remote user 정보출력) 2019-02-18 #

다른 RPC 서비스 (2) Rstatd Rwall cpu와 가상 메로리 사용통게, 네트워크 가동시간, 하드 디스크에 대한 정보제공 Rwall Rwalld 은 rwall의 요구를 처리하며 원격 사용자가 네트워크에 있는 모든 사용자에게 메시지를 보낼수 있도록 한다. 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. 2019-02-18 #

R 서비스 rshd(원격 쉘 서버) rlogin(원격 login 서비스) rexec(원격 실행 서비스) rwhod(원격 who 서비스) 2019-02-18 #

다른 서비스들 서비스 설 명 amd 파일 시스템을 자동적으로 마운트하기 위한 데몬으로 NFS를 사용하는 환경에서 자주 사용한다. bootparamd 썬시스템을 원격에서 부팅하도록 한다. dhcpd DHCP 서버로 연결이 들어오는 클라이언트에게 네트워크 정보를 제공 Innd 인터넷 뉴스 데몬으로 공개 웹 호스트에서는 필요하지 않다. Lpd 라인 프린터 데몬 Portmap RPC프로그램 번호를 DARPA 프로토콜 포트 번호로 변경한다. Smbd 삼바 서버. Ypbind 사용자가 프로세스가 바인드하고 NIS서버에 연결 할 수 있다. ypserv 로컬 NIS 정보를 원격 호스트에 제공. 2019-02-18 #

httpd httpd 애플리케이션 : httpd 필요조건 : apache 1.3.12/apache2.0Alpha 위치 : http://www.apache.org 설정파일 : access.conf, httpd.conf, srm.con 2019-02-18 #

웹서버 구조 Apache Server 디렉토리 구조 bin/ cgi-bin/ conf/ htdocs/ icons/ include/ libexec/ logs/ man/ proxy/ Apache Daemon root 746 1 0 Apr06 ? 00:00:00 /apache/bin/httpd nobody 8292 746 0 Apr09 ? 00:00:00 /apache/bin/httpd 2019-02-18 #

CGI란? CGI? - CGI(Common Gateway Interface)란 웹서버의 기능을 확장하기 위해 웹서버와 다른 프로그램간의 인터페이스 규약. - 서비스 요청이 있을때 마다 HTTP에 의해 실행되어 서버에 독립적인 프로세스. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2019-02-18 #

Web Data 흐름도 PC(Web Browser) SUN SPARC (Web Server) CGI Program 요청헤더 + 데이타 웹서버 인자 MIME 헤더 + 데이타 응답 헤더 + 데이타 ① 웹브라우저에서 CGI 프로그램의 실행을 웹서버에 요청 ② 웹브라우저의 요청을 분석한 다음 CGI 프로그램에 CGI 정보나 인자값을 전달한후 실제 처리 ③ 처리된 결과를 MIME 헤더와 함께 웹서버에 전달 ④ 웹서버는 MIME 헤더를 분석해 응답헤더를 생성하고 실제 데이터 전달 GET/POST 환경변수/표준입력 2019-02-18 #

Web server 설정파일 access.conf srm.conf httpd.conf httpd.conf mime.types 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. 2019-02-18 #

외부접근제어: access.conf - allow 연결이 가능한 호스트 제어(all, none, list) - deny - order allow/deny규칙적용순서를 제어하며, allow,deny/deny,allow/mutual-failure 세가지 옵션이 지원된다. 2019-02-18 #

포괄적 선택 : 승인된 호스트 명시 EX1) Order deny, allow allow from netwk.hannam.ac.kr deny from all EX2) Order deny, allow allow from linux1.mydom.net linux2.mydom.net linux3.mydom.net EX3) Order deny,allow alllow from mydom.net EX4) Order deny, allow allow from 199.171.190 2019-02-18 #

배타적 선택 : 원하지 않는 호스트 명시 EX1) Order deny, allow allow from all deny from hackers.annoying.net EX2) Order deny, allow deny from annoying.net 2019-02-18 #

mutual-failure EX1) Order mutual-failure allow from ourcompany.net deny from accounts.ourcompany.net shipping.ourcompany.net mutual-failure지시문은 요구가 들어오는 호스트가 allow와 deny의 두가지 조건을 만족시키는지 테스트한다. Ourcompany.net에 있는 모든 호스트들은 접근 허가가 되는 반면에 accounts와 shipping은 접근이 거부된다. 2019-02-18 #

보안에 영향을 미칠 수 있는 설정옵션 ExecCGI CGI 스크립트가 특정 디렉토리 에서 실행될 수 있는지 명시 FollowSymLinks 사용자가 심볼릭 링크를 따라갈 수 있도록 허가 Includes SSI(Server Side Include)를 처리하도록 명시 Indexes 기본페이지가 존재하지 않을 때 디렉토리 목록을 보여준다. 컨텐트(Content) 핸들러: 새로운 형식의 파일들을 전송 받을때 사용 내용에 관한 정보(MIME형식) plain/text, text/html.. 프로토콜 핸들러:기존의 프로토콜 이외의 프로토콜을 처리 가능 2019-02-18 #

OPTION Example … <Directory "/usr/local/apache/htdocs"> Options Indexes FollowSymLinks ExecCGI Includes </Directory> 2019-02-18 #

ExecCGI ExecCGI OPTION CGI를 이용 데이터 베이스를 검색하고 통계를 출력하며 웹 인터페이스를 통해 WHOIS나 FINGER에 대한 질의를 처리. 능숙하지 못한 일반 사용자들이 시스템 보안을 약화시킬 수 있는 부주의한 CGI프로그램을 작성할 수 있기 때문이다. 2019-02-18 #

FollowSymLinks OPTION 내부사용자가 우연히(또는 악의적으로) 내부시스템 파일과 링크하게 되면 원격 사용자가 웹 공간과 분리된 파일시스템에 접근할 수 있기 때문이다. 2019-02-18 #

Includes Includes Example <!--#exec 층=“ls –l /”--> (디렉토리 목록출력) 웹 관리자가 CGI프로그램을 작성하지 않고도 HTML문서에 필요한 정보를 삽입할 수 있는 SSI(Server Side Includes)기능지원. Example <!--#exec 층=“ls –l /”--> (디렉토리 목록출력) 공격자들이 HTML소스를 전송 받아서 악의적인 exec명령을 삽입하고, 그 양식을 서버로 전송하면 서버는 exec에 할당된 명령을 수행. 2019-02-18 #

Indexes Example Indexes 요청된 페이지 목록이 빠져 있을때 기본적으로 index.html문서를 찾게 되는데 Index.html문서가 없을 경우 Web Server는 디렉토리 목록을 출력한다. 2019-02-18 #

HTTP 기본 인증방법(htpasswd) 필요조건 : htpasswd와 apache 설정파일 : AllowOverride, .htpasswd, .htaccess, .htgroup .htpasswd – 패스워드 데이터 베이스 . 사용자명과 패스워드를 기록 .htgroup – htpasswd의 그룹파일. 그룹회원 정보를 저장. .htaccess – htpasswd접근 파일. 접근 규칙(allow, deny), 설정파일 위치, 인증방법 저장 2019-02-18 #

HTTP 기본 인증방법(htpasswd) 2019-02-18 #

HTTP 기본 인증방법(htpasswd) 2019-02-18 #

HTTP 기본 인증방법(htpasswd) AuthUserFile .htpasswd데이타베이스 위치 지정.절대경로 AuthGroupFile .htgroup그룹접근파일. /dev/null AuthName 인증상자 나타날때 출력하는 텍스트 문자열 AuthType 인증방법명시. Basic Limit 접근이 허가된 사용자와 접근할 수 있는 종류 2019-02-18 #

HTTP 기본 인증방법(htpasswd) 2019-02-18 #

MD5 다이제스트 인증방법 2019-02-18 #

chroot웹 환경 수행하기 chroot환경 생성하기 웹 디렉토리를 위한 사용자 소유자 생성 그룹생성 웹 디렉토리 생성 시스템과 비슷한 디렉토리 생성 2019-02-18 #