개발스토리
Firewall(방화벽) 본문
Firewall(방화벽)
- 조직이나 기관의 내부의 네트워크를 바깥의 인터넷으로 부터 분리해서 보호하는 하드웨어, 소프트웨어
- 지나다니는 packet이나 traffic을 block한다.
Firewall service
1. Traffic monitoring
2. Traffic control
3. NAT - 내부 네트워크 보호
4. VPN - 내부 traffic 노출 차단
Firewalls을 왜 쓸까?
- prevent denial of service attacks
-> DoS의 위험성을 경감시켜준다. 완벽히 막지는 못하는 것 같음.
- prevent illegal modification/access of internal data
-> 내부 데이터 접근 공격을 막기 위해
- allow only authorized access to inside network
Firewall types
- stateless packet filter
- statefull packet filter
- application gateway
stateless packet filter
- 내부 네트워크 망에서 외부 인터넷으로 접속하려 할 때 반드시 방화벽을 통과해야 한다.
- 지나는 packet에 대해 미리 정의된 규칙에 따라서 pass or block 여부를 결정한다.
- 지나는 packet 모두 header 정보를 다 뜯어서 확인해본다.
ex) 음주운전 검사(지나는 모든 차를 검사한다)
- Access Control Lists
-> pass or block을 결정하기 위한 규칙을 담은 list라고 보면 된다. 보통 src address, dest address, protocol, src port, des port, flag bit에 따른 action(allow or block)을 규정해둔다. 모든 statelss packet filter에 하나 씩 들어가 있다.
stateless packet filter 장단점
장점
- 단순하다 : 동작 방식이 직관적이며 간단하다, 구현이 용이하고 빠르다.
단점
- application layer protocol의 취약점 공격에 차단이 불가능하다.
- 사용자/application별 서비스 제공이 불가능하다.
ex) 하나의 컴퓨터에서 구글로는 네이버 접근가능케하고, 익스플로러로는 네이버 접근이 불가능하게 하는 것이 불가능
- 필터링시 사용 정보가 제한되어서 정교한 필터링이 불가능하다.
- IP 주소 위조, 변조 여부 판단이 불가능하다.
statefull packet filter
- 동일한 상태 정보를 가지는 패킷들을 그룹으로 필터링한다. (stateless 방법과는 반대)
-> 그룹의 속하는 하나의 패킷이 이상하다 싶으면 그룹 내의 다른 패킷도 집중해서 조사.
-> 상태 정보는 src IP/port, dst IP/port
장점 : 정교한 필터링 가능, 유연성이 좋음(위험군에 속하는 것을 확실하게)
단점 : 상태 정보 테이블 검사 수행에 따른 성능이 저하
application gateway
- 제일 많이 나온다.
- 패킷단위로 하는 것이 아니라 application 단위이다.
- application 단위로 pass or block을 결정
ex) pc방에서 롤을 막고 배그만 통과하게 하고 싶다. 이럴 때 사용.
application gateway 장단점
장점
- Application layer protocol 공격 차단
- 사용자 인증 가능
- 정교한 Log(패킷 단위가 아닌 사용자 단위로 기록됨), audit(감사) 가능
단점
- 각 application마다 block할 지 pass할 지 규칙이 필요하다.
- 성능이 좋지는 않다.
firewall과 gateway의 한계
- 궁극적인 보안 방법이 되지는 않는다.
- 내부 공격자 방어에 취약하다. 공격자가 내부에 존재한다면 방화벽은 쓸모가 없다.
- 데이터 내용은 미확인. 문서 등 패킷 내부에 심겨진 악성 코드 방어에 취약하다.
'Computer Science > 보안' 카테고리의 다른 글
Kerberos (0) | 2020.11.09 |
---|---|
Dos (0) | 2020.11.09 |
페르마 정리와 오일러 정리 (0) | 2020.10.03 |
모듈러 연산(mod) (1) | 2020.10.03 |
Block cipher (0) | 2020.10.03 |