book.naver.com/bookdb/book_detail.nhn?bid=16317946
*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.
상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다.
방화벽 (침입 차단 시스템)
- 외부에서 들어오는 악의적인 트래픽을 막고, 허가된 트래픽만 내부 네트워크로 유입될 수 있도록 통제하는 HW와 SW
- 내부에서 외부로 나가는 패킷도 룰에 따라 통제가 가능하다.
- 방화벽은 접근제어, 로깅, 감사 추적, 사용자 및 호스트 인증 기능을 제공한다.
방화벽의 종류
1) 스크리닝 라우터
내부 네트워크 | - | 라우터 | - | 외부 네트워크 |
- 내부 네트워크와 외부 네트워크를 방화벽 기능을 탑재한 라우터로 연결한다.
- 필터링 속도가 빠르고, 네트워크 전체를 방어할 수 있다.
- 하지만 패킷 필터링 규칙을 구성하고 검증하는 것과 로그 관리가 어렵다.
2) 베스천 호스트
내부 네트워크 | - | 호스트 | - | 외부 네트워크 |
- 방화벽 기능을 탑재한 호스트를 이용해 내부 네트워크와 외부 네트워크를 연결한다.
- 호스트 기반의 SW로 지능적인 정보 분석을 지원한다.
- 베스천 호스트 자체에 보안 취약점이 존재할 가능성이 있다.
3) 듀얼 홈 게이트웨이
내부 네트워크 | - | 호스트(네트워크 카드 2개) | - | 외부 네트워크 |
- 2개의 네트워크 카드를 내장한 베스천을 이용해 외부 네트워크와 내부 네트워크를 각각 연결한다.
- 네트워크가 분리되어 내부 IP 주소가 노출되지 않아 높은 보안성을 제공한다.
- 하지만 마찬가지로 베스천 호스트 자체에 보안 취약점이 존재할 가능성이 있다.
4) 스크린드 호스트 게이트웨이
내부 네트워크 | - | 듀얼 홈 게이트웨이 | - | 스크리닝 라우터 | - | 외부 네트워크 |
- 듀얼 홈 게이트웨이를 내부 네트워크에 연결하고, 스크리닝 라우터를 외부 네트워크에 연결하여 두개를 연결한다.
- 네트워크와 응용계층에서 함께 방어하므로 높은 보안성을 제공한다.
- 시스템 구축 비용이 높으며 스크리닝 라우터의 라우팅 테이블 변조 공격에 취약하다.
5) 스크린드 서브넷 게이트웨이
내부 | - | 라우터 | - | 듀얼 홈 | - | 라우터 | - | 외부 |
- 듀얼 홈 게이트웨이를 중심으로 양쪽에 스크리닝 라우터를 설치한다.
- 프록시 서버를 이용해 명확하지 않은 모든 트래픽을 거부한다.
- 다단계로 방어하기에 높은 보안성을 제공한다.
- 구축 비용이 높으며 서비스 응답성이 낮아질 수 있다.
침입 탐지 시스템 (Intrusion Detection System, IDS)
- 네트워크 및 서비스에 대한 공격을 실시간으로 탐지하는 시스템
- 데이터를 수집, 분석하여 침임을 탐지하고 추적 및 보고 기능을 제공한다.
- 데이터 소스를 중심으로 호스트 기반과 네트워크 기반으로 나눌 수 있다.
- 호스트 기반 : 서버에 직접 설치되어 다양한 정보를 이용한 침입 탐지 수행
- 네트워크 기반 : 네트워크 세그먼트별로 탐지 장비를 설치하여 수행
- 침입 탐지 방식을 기준으로 오용 탐지와 이상 탐지로 구분할 수 있다.
- 오용 탐지 : 알려진 공격 패턴을 등록한 후 비교하여 탐지
- 이상 탐지 : 정상적인 패턴 대비 이상한 패턴일 경우 공격으로 판단
*탐지만 할 뿐 차단은 하지 않음을 주의.
침입 방지 시스템 (Intrusion Prevention System, IPS)
- 침입 탐지의 수동적인 방어 시스템에서 발전해 능동적인 방어와 차단 등 사전 공격대응을 중심으로 한 보안 시스템
- 침입 경고 이전에 공격을 차단하는 것을 주 목적으로 한다.
Snort
- 리눅스에서 사용할 수 있는 공개형 IDS
- 크게 스니퍼, 프리 프로세서, 탐지 엔진, 로깅으로 구성된다.
- 탐지 룰을 이요하여 네트워크 트래픽을 분석하고 침입을 탐지할 수 있다.
- 패킷 스니퍼, 패킷 로거, 네트워크 IDS 기능을 제공한다.
Snort의 Rule 설정
- 헤더와 룰 옵션으로 구분된다.
헤더 | action : 동작 방식 protocol : 점검 대상 프로토콜 source IP/Port : 소스 IP 및 포트 derection : 패킷의 흐름 방향 destination IP/Port : 목표 IP 및 포트 |
룰 옵션 | General, Payload, non-payload, post-detection 방식으로 분류 |
*룰 옵션은 페이로드 방식을 주로 사용한다.
iptable를 이용한 대비 및 대처
- iptable은 리눅스의 방화벽으로, 패킷 필터링 정책으로 특정 패킷을 분석하고 허용 혹은 차단한다.
- NAT에도 사용이 가능하다.
- 커널의 넷필터 모듈을 이용해 네트워크 패킷을 필터링한다.
iptables 테이블 구조
- filter 테이블 : iptables의 기본 테이블로, 패킷 필터링 기능 담당
- nat 테이블 : network address Translation으로 하나의 공인 IP를 여러 호스트가 사용하고자 할 때 사용
- mangle 테이블 : 패킷 데이터를 변경하는 특수 규칙 적용
- raw 테이블 : 연결추적을 위한 세부 기능 제공
*TOS 키워드 나오면 무조건 mangle
1) filter 테이블 체인
- INPUT : 목적지로 유입되는 패킷을 필터링
- OUTPUT : 호스트를 출발지로 하여 나가는 패킷을 필터링
- FORWARD : 라우터로 사용되는 호스트를 통과하는 패킷 관리
2) nat 테이블 체인
- PREROUTING : 패킷의 도착지 주소 변경
- POSTROUTING : 패킷의 출발지 주소를 변경
- OUTPUT : 호스트에서 밖으로 흐르는 패킷의 도착지 주소 변경
- INPUT : 호스트 밖에서 안으로 흐르는 패킷의 주소 변경
iptables 사용법
- iptables -t [테이블이름] [action] [체인이름] [match 규칙] [-j 타깃]
*-t 테이블 이름 : filter, nat, mangle, raw 중 하나를 테이블 이름으로 지정
*action : 체인을 대상으로 수행할 명령 지정
*체인이름 : -t 테이블 이름으로 지정한 테이블의 체인 지정
*match 규칙 : 패킷을 처리하기 위해 점검할 조건
*-j 타깃 : 규칙을 만족할 경우 처리하는 방식
- action 항목
1) 체인 대상
- -N : 새로운 정책 생성
- -X : 비어있는 정책 체인 제거
- -L : 현재 정책 체인 목록 표시
- -F : 지정한 체인에 설정된 모든 정책 삭제
- -C : 패킷 테스트
- -P : 체인의 기본 정책 설정
- -Z : 체인 내의 모든 규칙들의 패킷과 바이트 카운트를 0으로 설정
2) 체인 내부 대상
- -A : 새로운 정책 생성
- -I [체인] [라인번호] : 지정한 라인번호에 추가
- -D [체인] [라인번호] : 정책 제거
- -R [체인] [라인번호] : 정책 수정
- match 항목
- -s : 출발지 ip, 도메인
- -d : 목적지 ip, 도메인
- ! : 뒤의 규칙 제외
- -p : 프로토콜 설정
- -i : 입력 네트워크 인터페이스 선택
- -o : 출력 네트워크 인터페이스 선택
- --sport : 소스 포트 선택
- --dport : 타깃 포트 선택
- --tcp-flags : TCP flag 지정
- --syn : TCP flag로 SYN만 가진 것 지정
- --icmp-type : ICMP 타입 지정
- -m : 특정 모듈, 규칙과 매치
- --state : 연결 상태와 매치
- --string : 응용 계층의 데이터 바이트 순서와 매치
- -j 타깃
- ACCEPT : 패킷 허가
- REJECT : 패킷 거부 및 응답 메시지 전송
- DROP : 패킷 거부 및 버리기
- LOG : 패킷을 syslog에 전달하여 기록
- RETURN : 호출 체인 내에서 패킷 처리를 계속 진행
iptables를 이용한 NAT 구성
- NAT은 네트워크 주소를 변환하는 기능 수행
- NAT을 이용하면 하나의 공인 IP를 다수의 호스트가 공유해서 사용할 수 있다.
- NAT은 운영방식에 따라 여러가지 종류로 구분된다.
Network 구분 | Normal NAT : 사설 IP를 공인 IP로변환 Reverse NAT : 공인 IP를 사설 IP로 변환 Exclude NAT : NAT을 적용하지 않는 호스트/네트워크 지정 Redirect NAT : 특정 시스템으로 지정한 곳으로 포워딩 |
IP 개수, 고정 여부 | Dynamic NAT : 다수의 사설 IP와 다수의 공인 IP를 동적으로 매핑 Static NAT : 사설 IP와 공인 IP를 1:1로 고정하여 매핑 |
주소 변경 여부 | SNAT : 소스 IP 주소를 변경 DNAT : 목적지 IP 주소를 변경 |
iptables의 NAT 지원 방식
- SNAT과 DNAT을 지원한다.
- SNAT을 이용하면 하나의 공인 IP 주소를 다수의 호스트가 공유할 수 있다.
- DNAT을 이용하면 하나의 공인 IP로 여러 개의 서버에 접속하도록 구성할 수 있다.
iptables를 이용한 SNAT 구성
- SNAT은 소스 IP 주소를 변경하는 것으로, 외부 서비스에 연결하여 통신할 때 사설 IP를 공인 IP로 변경한다.
- SNAT은 NAT 테이블의 POSTROUTING 체인 정책을 설정한다.
iptables를 이용한 DNAT 구성
- DNAT은 목적지 IP 주소를 변경하는 것
- NAT 테이블의 PREROUTING 체인에 정책을 설정한다.
1. 다음에 해당하는 iptables의 테이블은?
넷필터의 연결 추적 시스템과 독립적으로 동작해야 하는 규칙을 설정한다.
1) raw
2) nat
3) filter
4) mangle
1
2. 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
/etc/rc.d/init.d/iptables 스크립트는 iptables-save 명령을 사용하여 관련 정책을 저장한다. 해당 스크립트를 사용하여 저장 명령 수행 시 ( )라는 파일에 관련 정책이 저장되며 재부팅 시에도 자동으로 적용된다.
1) /etc/rc.d/rc.local
2) /etc/sysconfig/iptables
3) /var/log/secure
4) /usr/sbin/iptables
2
3. 다음에서 설명하는 방화벽의 종류로 알맞은 것은?
스크리닝 라우터와 단일 홈 게이트웨이를 조합한 형태로, 스크리닝 라우터에서 패킷 필터링을 1차로 수행하고, 프록시와 같은 서비스를 활용해 2차 방어를 수행한다.
1) 단일 홈 게이트웨이
2) 스크린 라우터
3) 스크린 서브넷 게이트웨이
4) 스크린 호스트 게이트웨이
4
'자격증 > 리눅스 마스터 1급' 카테고리의 다른 글
리눅스마스터_1급_3과목_네트워크 침해 유형 및 특징 (0) | 2021.02.13 |
---|---|
리눅스마스터_1급_3과목_기타 서비스 (0) | 2021.02.13 |
리눅스마스터_1급_3과목_가상화 관련 서비스 (0) | 2021.02.12 |
리눅스마스터_1급_3과목_DNS 관련 서비스 (0) | 2021.02.12 |
리눅스마스터_1급_3과목_메일 관련 서비스 (0) | 2021.02.12 |