나도 불과 얼마전만 해도 방화벽 무슨 기술이 있어?
단순히 포트 막는거 아냐?
라고 했던 기억이 있다.
그러나 사실 포트제어가 그리 단순한 것이 아니었으니,
단순히 헤더에서 포트만 딱 띠어다 보는 것이 아니라,
방화벽 설정과 맞추어서, 세션관리라는 중요한 기술이 숨어 있다는 사실!!!
여기서 잠깐!!!
세션이라는 말이 생소할 수 있다. 아마 네트워크에 대해서 조금이라도 공부 했던 사람은
TCP의 3핸드-쉐이킹 에 대해서 들어본적이 있을 것 이다.
TCP가 3핸드-쉐이킹을 맺고 나면 두 host간의 통신이 되기 시작하는데,
바로 이게 세션이다.
좀 더 쉽게 말하면 host-host간의 연결통로가 세션인 것이다.
그런데 방화벽과 세션관리가 무슨 상관관계가 있을까?
일반적으로 방화벽은 내부->외부망을 갈 때 80포트를 열어라 라는 식으로 방화벽 설정을 한다.
그럼 여기서 내부->외부:80 으로 접속 할때는 방화벽 정책에 의해서 패킷이 통과한다고 치자.
그런데 외부:80->내부는 어째서 허용되는 것일까?
여기에 세션 관리에 비밀이 있다.
방화벽은 내부->외부:80 에 나가는 순간 세션테이블을 형성하고,
이에대한 리플라이가 올때까지 이 테이블의 열을 유지한다.
그래서 돌아올때는 이 세션테이블을 검색해서 해당 리플라이에 대한 요청 패킷의
세션테이블이 남아있으면 이에 대한 패킷을 통과시켜 줌으로써 방화벽이 동작하는 것이다.
그런데 생각을 좀 더 해보면 방화벽을 통과하는 패킷들은 엄청나다.
따라서 이를 관리하기 위한 세션테이블의 관리도 쉽지 않다.
다시 말해서 세션테이블을 생성하고, 검색하고, 지우고 하는 방화벽의 동작은 전혀 단순하지 않다.
거기에다가 요즘에는 여기에 더해 일정 조정 기능, 출발지, 목적지에 대한 IP / 대역 주소 지정 등.
포트의 범위를 벗어나서 보다 세밀한 패킷제어를 제공하는 것이 일반적인데,
이에 대한 효율적이고, 안전한 방법을 제공해 나가는 것이
FireWall 엔지니어들이 해 나가는 일이라고 할 수 있는 것 이다.
방화벽의 한계점.
방화벽은 기본적으로 단방향으로 허용된 패킷에 대해 리플라이가 오면
이에 대한 패킷은 무조건 허용한다는 데에 허점이 있다.
더 쉽게 말하면 만약 내부망에 해킹하기 위하여 해커가 외부망에서 다른홈페이지로 위장하여 악성코드를 풀어놓으면,
내부망의 누군가가 해커가 해킹한 서버에 접근하면 이에 대한 방어책이 없다는게 방화벽의 한계점이다.
이를 위해 프록시, IPS, IPSec등 다양한 보안기술이 나날히 발전하고 있는 것이라고 할 수 있다.
'ComputerScience > Security' 카테고리의 다른 글
[dos test tool] http flood tool (0) | 2011.05.31 |
---|---|
좀비PC가 쉽게 추적 가능한 이유. (0) | 2011.04.26 |
무선랜 보안에 관한 참조문서. (0) | 2011.04.20 |
프록시를 통한 방화벽 우회 방법에 관한 레퍼런스. (0) | 2011.04.19 |
스니퍼/스푸핑에 대한 참조 레퍼런스 (0) | 2011.04.19 |