Download presentation
Presentation is loading. Please wait.
1
LINUX SECURITY - 리눅스와 방화벽 -
네트워크 실험실 김 윤 수 #
2
목 차 방화벽이란 tcpd : TCP Wrappers ipfwadm ipchains 리눅스용 방화벽 상업적인 방화벽 참고목록
목 차 방화벽이란 tcpd : TCP Wrappers ipfwadm ipchains 리눅스용 방화벽 상업적인 방화벽 참고목록 요약 #
3
방화벽(firewall)이란? 외부사용자들이 네트워크에 접근하지 못하도록 하는 장치이다. 일반적으로 라우터나 패킷 필터링(packket filtering), 프록시(proxy)소프트웨어가 수행중인 독립 시스템 또는 전용하드웨어를 뜻한다. 내부로 들어올 수 있는 유일한 지점을 의미하며 choke point라 불린다. 승인된 호스트로 부터의 요구만 처리하고 아닌경우 무시한다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
4
방화벽의 역할 패킷 필터링과 분석 프로토콜이나 특정 내용 막기 사용자 연결, 세션 인증과 암호화
여러프로토콜에서 들어오는 패킷을 분석하고, 상태 평가를 수행하여 특정 패킷이 들어오면특정 작업을 수행할수 있도록 한다. 프로토콜이나 특정 내용 막기 네트워크를 통해서 들어오는 데이터의 내용을 파악하여 특정 내용을 거부할 수 있도록 해준다. 사용자 연결, 세션 인증과 암호화 많은 방화벽은 다양한 알고리즘과 인증체계(DES, Triple DES, SSL, IPSEC, SHA, MD5, BlowFish, IDEA등)을 사용하여 사용자를 식별하고 확인하며, 세션 무결성 검사를 하고 스니퍼 공격으로 부터 전송중인 데이터를 보호한다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
5
두가지 방화벽의 종류 네트워크 수준의 방화벽, 즉 패킷 필터 애플리케이션 게이트 웨이
단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
6
네트워크 수준의 방화벽 : 패킷필터(1) 네트워크 수준의 방화벽은 일반적으로 패킷 필터링을 할 수 있는 라우터.
접근의 허용 및 거부 발신지 주소 프로토콜 포트번호 내용 향상된 라우터 기반의 방화벽은 스푸핑과 DoS공격을 막을수 있고, 네트워크를 숨길수 있다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
7
네트워크 수준의 방화벽 : 패킷필터(2) 라우터 외부네트워크 내부네트워크 #
8
방화벽/애플리케이션 게이트웨이 외부 클라이언트와 내부 네트워크간의 연결을 대신한다. 외부 연결과 내부연결이 이루어지지않으면 IP 패킷을 결코 전달되지 않는다. 대신에, 게이트웨이가 인터프리터처럼 작동하여 패킷 변환이 발생한다. 장점 각각의 서비스에 대하여 포괄적인 제어가 가능하다는 점 단점 각각이 네트워크 서비스(FTP, Telnet, HTTP, mail, news등)를 위한 프록시 애플리케이션을 설정해야만 하기 때문에 상당한 노력이 요구된다. TIS( Trusted Information Systems)의 FWTK(Firewall Tool Kit) 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. #
9
tcpd:TCP Wrappers(1) 애플리케이션 : tcpd 필요조건 : tcpd
설정파일 : hosts.deny, hosts,allow 보안사항 : 1999년 1월 21일 트로이 목마 버전의 tcp_wrappers_7.6.tar.gz을 인터넷에 발표. 트로이 버전 공격자로 하여금 루트 권한을 얻을수 있도록 하였다. #
10
tcpd:TCP Wrappers(2) /etc/inetd.conf의 각 항목
<service_name> <sock_type> <proto> <flags> <user> <server_path> <args> Service_name : 서비스 이름(ex:telnet, ftp) Sock_type : 소켓종류 (ex: stream, dgram) Proto : 프로토콜 종류 (ex: tcp, udp) Flags : 플래그 (ex: wait, nowait) User : 서비스가 누구에 의해 실행되는가 Server_path : 서버 path Args : argument #
11
tcpd:TCP Wrappers(3) inetd를 이용한 접근 방법의 문제점은 각 서비스들에 대해서 기본적으로 접근 제어를 적용할 수 없음.-- 외부의 접속을 선택적으로 수용하고 거부하는것이 쉽지 않다 Inetd가 서버를 호출할때, tcpd가 먼저 요청을 가로채어 연결 요구를 평가하여 정당한 요구일경우 서버를 시작하고 아닌 경우 그 연결의 요구를 무시한다. #
12
tcpd:TCP Wrappers(4) TCP Wrappers TCP Wrappers의 강력한 장점
Wrappers프로그램은 로깅정보를 syslog데몬으로 보내고, 그 정보는 syslog의 설정파일(일반적으로 , /etc/syslog.conf)에 따라서 파일이나 콘솔에 쓰여지거나 전달된다. TCP Wrappers의 강력한 장점 연결 로깅(logging) 네트워크 접근제어 #
13
TCP Wrappers와 네트워크 접근제어
/etc/hosts.allow – 승인된 호스트를 명시 /etc/hosts.deny - 승인되지 않은 호스트 명시 접근 제어 파일의 기본 FORMAT (hosts_option) Demon-list : client-list Example 1) /etc/hosts.allow ALL:.mycompany.net EXCEPT abc.mycompany.net /etc/hosts.deny ALL:ALL Example 2) ALL:.aol.com, .msn.com ALL EXCEPT in.telnetd : abc,teeircompany.net #
14
TCP Wrappers와 네트워크 접근제어
Hosts_options 와일드 카드 와일드 카드 기 능 ALL 모든 호스트와 모든 서비스를 포함하는 광범위한 규칙을 적용할때 사용한다. KNOWN 접근 제어 규칙에 분명히 명시된 사용자외 호스트에만 규칙을 적용할때 사용 LOCAL 호스명에 점(.)이 없는 호스트만 상용 가능 PARANDOID 호스트명과 IP가 일치하지 않는 호스트로 부터의 접근을 거부할때 사용 UNKNWON 접근제어 규칙에 명시되지 안은 호스트나 사용자는 거부된다. #
15
TCP Wrappers 규칙 검사 도구(1) Tcpchk : TCP Wrappers 설정 검사기
Tcpdchk는 TCP Wrappers의 설정파일을 검사하여 잠재적으로 발생할 수 있는 에러를 찾아낸다.이프로그램은 tcpd접근 제어 파일을 검사하여 inetd와 tlid네트워크설정파일에 있은 항목과 비교한다. Tcpchk 잘못된 문법 잘못된 경로명 잘못된 호스트명이다. IP 주소 IP 주소와 일치하지 않는 호스트명(PARANOID 와일드 카드이용) 규칙에는 명시되어 있으나 tcpd 에 의해 보호되지않는 서비스 #
16
TCP Wrappers 규칙 검사 도구(2) Tcpmatch : The TCP Wrappers 오라클
Tcpdmatch는 TCP Wrappers가 서비스에대한 특정 요구를 어떻게 처리하는지를 보여준다. 사용방법 Tcpdmatch in.telnetd techsupports.theircompany.net #
17
ipfwadm Ipfwadm는 IP방화벽과 리눅스 커널에서 어카운팅(accounting) 규칙을 설치하고 유지하며 검사하는데 사용된다. 이러한 규칙들은 IP패킷 어카운팅, IP 입력 방화벽, IP 포워딩 방화벽의 네가지 범주로 분류. 각각의 범주를 위해서 서로 다른 규칙 목록 유지 #
18
Ipfwadm의 기초 기본 문범 Ipfwadm [규칙범주][정택처리][정책][인터페이스][대상]
규칙범주 – 어카운팅, 외부에서 들어오는 패킷, 나가는 패킷, 매스커레이드된 패킷등 규칙의종류명시 정책처리 – 정책의 삽입, 추가, 삭제 정책 – 트래픽에 대한 accept, deny, reject 인터페이스 – 규칙을 적용할 인터페이스 대상 – 규칙을 적용하게 될 IP주소나 포트 #
19
ipfwadm 규칙범주 옵 션 기 능 -A [direction]
옵 션 기 능 -A [direction] IP 어카운트 규칙. directn은 in,out, 또는 둘다 될수 있다. -F IP 포워딩 규칙 -I 입력 필터링 규칙. 호스로 들어오는 것중 어떤 패킷이 필터가 될것인지 명시 -M IP 매스커레이딩(masquerading)규칙. 매스커레이딩이란 ipfwadm을 실행하도고 있는 하나의 시스템을 통하여 다수의 시스템이 인터넷으로 연결되도록 하는 기능 -O 출력필터링 규칙. 호스트로 부터 외부로 나가는 패킷에 대한 필터링 규칙. #
20
ipfwadm 명령어 옵 션 기 능 -a [정책] 정책 추가 -d [정책] 정책 삭제 -f 모든 정책을 flush -h 도움말
옵 션 기 능 -a [정책] 정책 추가 -d [정책] 정책 삭제 -f 모든 정책을 flush -h 도움말 -I [정책] 정책 삽입 -l 모든정책 목록 출력 -p 기본 정책을 변경 #
21
ipfwadm 매개변수 매 개 변 수 기 능 -D 목적지 주소 -P [프로토콜] 프로토콜 명시 -S [주소] 발신지 주소
기 능 -D 목적지 주소 -P [프로토콜] 프로토콜 명시 -S [주소] 발신지 주소 -W [인터페이스] 이정책을 적용할 네트워크 인터페이스 #
22
다른 ipfwadm 옵션 매개변수 기 능 -b 현재의 정책을 외부에서 들어오는 패킷과 외부로 나가는 패킷에 모두 적용 -e
기 능 -b 현재의 정책을 외부에서 들어오는 패킷과 외부로 나가는 패킷에 모두 적용 -e 광법위한 출력 -m 현재의 조건에 맞추어들어오는 패킷들은 마치 로컬 호스에서 들어오는 것처럼 가장 -n 모든 정보를 숫자 형태로 출력(호스명이 아니라 IP주로로) -o 현재 정책을 만족시키는 패킷에 대해서 커널 로깅을 turn on -r [port] 패킷을 로컬 소켓으로 전달 -v 자세한 설명이 있는 결과 출력 #
23
Example 207.171.0.111의 IP를 가지고 인터페이스 ppp0를 통해 들어오는 모든 패킷은 차단하는 정책을 추가
Ipfwadm –I –a deny –W ppp0 –S 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
24
ipfwadm설정 /etc/rc.d에서 시작하고 적요하는 규칙을 rc.local시동 스크립트에 명시 모든 것을 거부하도록 한다
Ipfwadm –I –p deny Ipfwadm –O –p deny Ipfwadm –F –p deny 내부 트래픽이 제한없도록 한다. Ipfwadm –I –a accept –V –S /0 –D /0 Ipfwadm –O –a accept –V –S /0 –D /0 그후 필요한 설정을 추가한다. #
25
ipchains(1) 커널 2.2 패키지부터 사용하가능하며 ipfwadm을 대체 추가 기능 제공 명령어 기 능 -A
기 능 -A 새로운 규칙을 체인에 추가. Ipfwadm –a와 같다. -D 체인으로부터 규칙 삭제. Ipfwadm –d와 같다. -F 체인의 모든 규칙 지움. Ipfwadm –f와 같다 -I 체인의 새로운 규칙 삽입. Ipfwadm –I와 같다 -L 체인안에 있는 모든 규칙 출력 ipfwadm –l과 같다. -P 체인안에 있는 기본 정책을 변경. Ipfwadm –p와 같다. -R 체인에 있는 규칙을 대치한다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
26
ipchains(2) 액 션 기 능 ACCEPT 정책에 맞는 패킷들은 방화벽을 통과하도록 명시 DENY 모든 패킷을 거부
액 션 기 능 ACCEPT 정책에 맞는 패킷들은 방화벽을 통과하도록 명시 DENY 모든 패킷을 거부 MASQ 정책에 맞는 패킷을 받아들여서 내부 네트워크로 포워딩 REDIRECT 정책에 맞는 패킷을 내부 소켁이나 프로세스로 전달 REJECT 패킷을 거부하고 “ICMP Host Unreachanle”메시지전송 매 개 변 수 기 능 -b 특정 규칙을 외부에서 들어오는 패킷과 나가는 패킷 사용 -d! 발신지 주소 명시. Ipfwdm의 –D 매개변수와 같다. -i! 규칙을 적용할 인터페이스 명시. Ipwadm -l과 같다. -p! 프로토콜 명시. Ipfwadm –P와 같다. -s! 발신지 주소를 명시. Ipfwadm –S와 같다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
27
ipchains(3) Ipfwadm Ipchains
ipfwadm –I –a accept –V –S /0 –D /0 Ipchains ipchains –A input –j ACCEPT –i eth0 –S /0 –d /0 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
28
리눅스용 방화벽 Dante - 인퍼노 넷버크 A/S에서 개발되었으며, 리눅스를 위한 회선(circuit)레벨의 방화벽 프록시 서버 Ip_filter – 방화벽에서 사용하기에 알맞은 개선된 TCP/IP패킷 필터. SINUS – 리눅스에서 자유롭게 쓸 수 있는 TCP/IP 패킷 필터로서 상업적인 방화벽에서 제공하나는 거의 모든 기능 제공 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
29
상업적인 방화벽(1) Avertis 방화벽 종류: 방화벽 (firewall)전용 하드웨어
제조업체 : Galea Network Security, Inc. 플랫폼 : N/A 특징 : IPSEC, DES, Triple-DES, MD5, ISAKMP/Oakley 정보 : 특정 하드웨어와 소프트웨어에 기반한다. 실시간 필터링 기능과 네트워크 트래픽 분석, 스푸핑 공격 방어, 하드웨어 프록시 기능을 제공 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
30
상업적인 방화벽(2) CSM Proxy/Enterprise Editon 방화벽 종류: 소프트웨어-애플리케이션 게이트웨이
제조업체 : CSM-USA사 플랫폼 : 리눅스, 솔라리스, 윈도우NT 특징 : SSL, SOCKS, SOCKS5 정보 : ActiveX, 자바, 쿠키(cookies), 뉴스, 메일에 대한 필터링을 포함한 포괄적인 기능을 제공하는 프록시 서버 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
31
상업적인 방화벽(3) GNAT Box firewall 방화벽 종류: 방화벽 (firewall)전용 하드웨어
제조업체 : 글로벌 테크놀러지 사. 플랫폼 : N/A 특징 : PPTP, 명시되지 않은 암호화 정보 : 방화벽 전용 하드웨어로 특정 하드웨어와 소프트웨어를 하나로 묶은 것이다. 명령어행 또는 웹 기반의 인터페이스가 제공되며, IP발신지 주소, 목적지 주소, 포트, 네트워크 인터페이스, 프로토콜에 기반하여 IP를 필터링 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
32
상업적인 방화벽(4) NetScreen 방화벽 종류: 하드웨어 제조업체 : 넷스크린 테크놀러지사. 플랫폼 : N/A
특징 : IPSEC, DES, Triple-DES, MD5, SHA 정보 : 방화벽이면서 암호화, 세션 무결성을 지원하는 익스트라넷으로 사용된다. 그리고 ARP, TCP/IP, UDP, ICMP, DHCP, HTTP, RADIUS, IPSEC같은 프로토콜 지원 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
33
상업적인 방화벽(5) Phoenix Adaptive Firewall 방화벽 종류: 방화벽 장치와 소프트웨어
제조업체 : 프로그래시브 시스템 플랫폼 : 리눅스 특징 : 명시되지 않음 정보 : SuSE 5.3, 칼데라1.3, 레드햇 5.x, 레드햇 4에서 사용 가능 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
34
상업적인 방화벽(6) PIX Firewall 방화벽 종류: 라우터 기반 제조업체 : 시스코 시스템 플랫폼 : N/A
특징 : ASA, IPSEC, TACACS, RADIUS 정보 : PIX는 시스코 IOS에 기반하며 강력하고 지능적인 필터링 기술을 제공한다. HTML 기반의 설정이 가능하며 DoS와 스푸핑 공격을 막아주고, 16,000ro의 호스트와 연결이 가능 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
35
상업적인 방화벽(7) Secure Connect 방화벽 종류: 라우터 기반
제조업체 : Ascend Communiatons Inc. 플랫폼 : N/A 특징 : IPSEC, DES, Triple DES, MD5, SHA1 정보 : Ascend MAX계열의 라우터를 통해서 지원되며 접근 제어 암호화,개선된 필터링을 포함하고, 대부부늬 알려진 프로토콜을 지원하며, RADIUS 다이러업관리가 가능하다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. #
36
참고목록 Internet Firewalls and Network Security(second Edition), Chris Hare and Karanjit Siyan, NewRiders, 1996 Internet Firewalls, Scott Fuller and Kevin Pagan, Ventana Communications Group, Inc, 1997 Building Internet Firewalls, D, Brent Chapman and Elizabeth D, Zwicky, O’Reilly & assciaes, 1995 Firewalls and Internet Security:Repelling the Wily hacker, William R. Cheswick and Steven M, Bellovin, Addison-Wesley Proffessional Computing, 1994 Actually Useful Internet Security Techniques, Larry J. Hughes, Jr., New Riders, 1995. #
37
요약 방화벽은 외부의 공격으로 부터 시스템을 견고하게 보호할수 있는 장치이지만 모든 문제을 해결할 수 있는 것은 아니다. 방화벽을 조심스럽게 선택하고 보다 자세하게 익힌후 전체적인 보안 구조의 중요한 요소로서 바라본다면, 방화벽이 제공하는 최대의 장점을 얻을수 있을것이다. #
Similar presentations