본문 바로가기
자격증/리눅스 마스터 1급

리눅스마스터_1급_3과목_대비 및 대처 방안

by 이민우 2021. 2. 13.
728x90
반응형

book.naver.com/bookdb/book_detail.nhn?bid=16317946

 

리눅스마스터 1급 기본서(2020)

떠오르는 신흥 강자! 리눅스마스터 1급 2020년 도서가 드디어 영진닷컴에서 출간되었습니다. 리눅스마스터 1급을 취득하기 위해 필요한 최대한의 것을 전부 제공해 드립니다. 시행처에서 발표한

book.naver.com

*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.

 상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다.

 

방화벽 (침입 차단 시스템)

  • 외부에서 들어오는 악의적인 트래픽을 막고, 허가된 트래픽만 내부 네트워크로 유입될 수 있도록 통제하는 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) 체인 대상

  1. -N : 새로운 정책 생성
  2. -X : 비어있는 정책 체인 제거
  3. -L : 현재 정책 체인 목록 표시
  4. -F : 지정한 체인에 설정된 모든 정책 삭제
  5. -C : 패킷 테스트
  6. -P : 체인의 기본 정책 설정
  7. -Z : 체인 내의 모든 규칙들의 패킷과 바이트 카운트를 0으로 설정

 

2) 체인 내부 대상

  1. -A : 새로운 정책 생성
  2. -I [체인] [라인번호] : 지정한 라인번호에 추가
  3. -D [체인] [라인번호] : 정책 제거
  4. -R [체인] [라인번호] : 정책 수정

 

  • match 항목
  1. -s : 출발지 ip, 도메인
  2. -d : 목적지 ip, 도메인
  3. ! : 뒤의 규칙 제외
  4. -p : 프로토콜 설정
  5. -i : 입력 네트워크 인터페이스 선택
  6. -o : 출력 네트워크 인터페이스 선택
  7. --sport : 소스 포트 선택
  8. --dport : 타깃 포트 선택
  9. --tcp-flags : TCP flag 지정
  10. --syn : TCP flag로 SYN만 가진 것 지정
  11. --icmp-type : ICMP 타입 지정
  12. -m : 특정 모듈, 규칙과 매치
  13. --state : 연결 상태와 매치
  14. --string : 응용 계층의 데이터 바이트 순서와 매치

 

  • -j 타깃
  1. ACCEPT : 패킷 허가
  2. REJECT : 패킷 거부 및 응답 메시지 전송
  3. DROP : 패킷 거부 및 버리기
  4. LOG : 패킷을 syslog에 전달하여 기록
  5. 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

 

728x90
반응형