Today I Learn - 25

이정빈·2021년 3월 16일
0

클라우드 엔지니어

목록 보기
26/53
post-thumbnail

방화벽(Firewall)

네트워크의 외부로부터의 침입을 차단
운영체제에 내장되어 있는 방화벽 기능
Packet Filtering: 전송된 패킷에 대한 허용/차단
송신자/수신자 IP주소
송신자/수신자 Port (TCP/UDP)

공격의 유형

서비스 거부공격
DoS : Denial of Service
DDoS : Distributed DoS => Zombie System
DRDoS : Distributed Reflection DoS

스캐닝

취약한 부분 탐색

네트워크 취약점 사용한 공격

보안솔루션

방화벽
IDS(Intrusion Detection System)
IPS(Intrusion Prevention System)

리눅스 방화벽

리눅의 기본 모듈 중 netfilter 모듈이 방화벽 기능을 담당
CentOS : ipchain → iptables → firewalld
Ubuntu : ipchain → iptables → ufw

firewalld

systemd와 함께 도입
사전에 정의된 영역(Zone)
사전에 정의된 서비스(Service)
주요 파일들
/usr/lib/firewalld : 기본 파일들
/etc/firewalld : 현재 사용중인 설정 파일들

firewalld 설정

설정 분류
Runtime : 실행중 설정(현재 상태의 방화벽 구성)
Permanent : 재시작 시 적용되는 영구 설정
사전에 정의된 영역 (Pre-defined Zones)
네트워크 인터페이스, 송신자(Source) 등의 조건으로 영역에 바인딩
특정 영역에 바인딩되지 않은 패킷 : 기본 영역 (default = public)

ICMP - Internet Control Message Protocol
IP프로토콜의 부족한 기능을 보완
대상호스트의 연결 가능 여부 체크
ping echo request: type 8 code 0
ping echo reply : type 0 code 0
접근 불가능 시 불가능 사유 통보
icmp destination unreachable : t 3 c 0

DMZ(DeMilitarized Zone)
외부에서 접근이 가능한 영역
외부 방화벽 - DMZ - 내부 방화벽 - 내부 사설네트워크

==================================================

firewalld-cmd 명령어

firewall-cmd <설정옵션> <파라미터> : 런타임 설정
firewall-cmd <설정옵션> <파라미터> --permanent : 영구설정
방화벽 설정 상태 조회
--get-default-zone : 현재 기본 영역 표시
--get-active-zones : 현재 활성화 되어 있는 영역 정보
--list-all : 현재 사용중인 영역 설정 확인
--zone= : 특정 영역 지정하여 조회
--list-all-zones : 모든 영역 설정 확인
firewall-cmd --reload : 방화벽의 런타임설정 삭제 및 영구 설정 로드. 다른 옵션과 함께 사용 불가
firewall-cmd --runtime-to-permanent: 현재 런타임 설정을 영구설정으로 저장
설정 옵션
영역 설정 생성
인터페이스 : --add-interface=[인터페이스 이름] --zone=[변경할 영역]
송신자 : --add-source=[송신자네트워크정보] --zone=[변경할 영역]
영역 설정 변경
인터페이스 : --change-interface=[변경할 인터페이스 이름] --zone=[변경할 영역]
송신자 : --change-source=[송신자네트워크정보] --zone=[변경할 영역]
영역 설정 삭제
인터페이스 : --remove-interface=[변경할 인터페이스 이름]
소스 : --remove-source=[송신자 네트워크정보]
서비스 허용
서비스 이름: --add-service=[서비스이름]
--zone=[특정영역] : 특정 영역 설정 추가
서비스 차단
기본적으로 명시되어 있지 않은 항목은 차단
허용된 서비스 차단 : --remove-service=[삭제할서비스]
포트 허용
포트 번호/프로토콜 지정: --add-port=[포트번호]/[프로토콜]
포트 차단
기본적으로 명시되지 않은 포트는 모두 차단
허용된 포트 차단 : --remove-port=[포트번호]/[프로토콜]
포트포워딩
firewall-cmd --add-forward-port=[RULE]
RULE : port=[외부포트번호]:proto=[프로토콜]:toport=[보낼포트번호]
테스트: http://192.168.100.100:800/
제거 : firewall-cmd --remove-forward-port=[RULE]
리치 규칙(Rich Rule): 방화벽 동작을 더 구체적으로 설정할 수 있는 규칙

VPN(Virtual Private Network)

우회(Proxy)
외부에서 내부 네트워크 접속시
Tor Network 관심있는 사람은 검색~

사이트 차단 방식

DNS 차단방식 : DNS 서버에서 차단 사이트 IP정보 요청시 warning의 주소를 전달 → 외부 DNS 사용시 우회 가능 (8.8.8.8)
IP 차단방식 : 사용하기 어려움. → 일부만 적용: 북한
HTTPS 차단방식 : HTTPS는 HTTP + SSL, SSL연결이 수립되고나서 암호화된 통신으로 HTTP 연결, 단 SSL 연결과정에서 SNI(Server Name Indication) 정보는 평문으로 노출되어, 이 정보를 통해 차단 수행

profile
WAS Engineer, Cloud Engineer(지망)

0개의 댓글