2009-11-14 3 views
-1

지능형 방화벽에 대한 작업을 시작하고 있지만 그렇게하기 전에 매우 기본적인 방화벽이 어떻게 작동하는지 명확하게 이해해야합니다. 나와 내 팀이 C에서 가장 편안하기 때문에 우리는 그것을 사용할 것입니다. 기본 HTTP 방화벽

누군가가 올바른 방화벽을 개발 C.

답변

6

로 작성된 매우 기본적인 방화벽의 예를 들어 줄 수 아무런 사소한 일이 아니다. OSI 모델의 모든 계층에서 기본 운영 체제의 네트워크 스택과 다양한 프로토콜을 완전히 이해해야합니다.

The netfilter/iptables project은 리눅스에서 가장 널리 사용되는 패킷 필터링 소프트웨어를 담당하고 있으며 오픈 소스이며 방화벽에 들어가는 것을 잘 보여줍니다. 분명히 "매우 기본적인"범주는 아니지만 "매우 기본적인"방화벽 소프트웨어를 조심해야합니다.

+0

필자는 사소한 것이 아니라 패킷 필터링이 존재 함을 입증하는 가장 기본적인 방화벽을 알고 있습니다. –

+1

@Ankit : 전혀 아닙니다. TCP/IP가 기본이 아니기 때문입니다. – EFraim

2

일반적으로 Linux 용 방화벽은 브리징이 실행 중인지 여부에 따라 iptables 또는 때때로 ebtables 명령으로 보낼 문자열을 구성하는 셸 스크립트의 컴파일입니다. 또한 트래픽 셰이핑을 사용중인 경우 tc 유틸리티와 대화합니다.

Shorewall은 이러한 방화벽의 예이지만 더 많은 작업을 수행합니다. 다양한 유형의 NAT, VPN 주변의 보안 등을 설정할 수 있습니다.

나는 완전히 이것을 C로하고 싶다. 나는 obtaining the source to iptables을 추천하고, 커널의 ioctl 훅을 잘 알고있다. 이 시점에서, 당신은 당신이해야 할 일을 성취하기 위해 자신의 래퍼를 작성하는 프로세스를 시작할 수 있습니다.

NB : 루트는 응용 프로그램을 실행하는 사용자 여야하며, 주위를 (또는 그 주변으로) 디자인해야합니다.