먼저 요약 말씀 드리자면요. 방화벽에서 접근을 허가해 주지 않는한
접근 방법은 거의 불가능 합니다.
대부분의 방화벽은 모든 통신에 관련된 모든 부분을 제어 할 수가 있기때문이죠.
일단 외부에서 방화벽으로 접속을 시도하면 접속 하려는 자가 허가된 IP인지를 확인 합니다. 더러는 모든 경우를 막아 놓는 경우도 있죠.
만약에 트로이 목마 같이 안쪽에서 열어 주지 않으면 않되겠죠.
시스템이 구동되면서 몰래 귓구멍을 하나 열어 주도록 하는 프로그램을 방화벽 안쪽에 심어 넣고나서 안쪽에서 외부로 접속을 시도한후 새션을 유지 합니다. 방화벽 시스템을 운영하는 경우 보통 바깥쪽에서의 접속은 대부분을 막지만 안쪽에서 바깥쪽으로의 접속은 아주 특이한 보안을 유지해야 하는 경우를 제외하고는 가능 하도록 운영하거든요.
그러면 유지된 새션으로 통신을 하면 되죠.
이런경우 허가 없이 몰래 심어 놓으면 당연히 범죄 행위가 되겠죠.
특정한 목적으로 허가를 받고서 설치 해야 하는 경우에 이런 방법을 사용 하기도 한다고 하는데요..
사실 저도 잘 모릅니다. 그저 전 그렇게 생각을 하기에 몇자 적었습니다.
그런, 필요에 따라서는 제한된 사용자에 한해서 특정 포트를 열어서 내부
에서 외부로 나갈 수도 있고, 외부에서 내부로 들어오게 할 수도 있습니다.
어떤 특정한 회사나 조직에서 이미 구축된 경우에는 그 기본적 정책하에서
보안 담당자나 시스템 관리자의 재량 여하에 따라 이 포트를 열어줄 수도 있고
꽉 막아놓을 수도 있겠죠. 일반적 형태는 방화벽을 설치한 후 proxy 서버를
통해서만 인터넷을 사용하게 할 수도 있고, NAT 등을 통해서 내부에서 외부
로, 외부에서 내부로 통하게 할 수 있습니다.
이런 것을 공부하기에 가장 좋은 것은 상용 하드웨어나 소프트웨어보다
리눅스 2.0.xx나 2.2.xx 커널에서 지원하는 Firewall, IP Masquerading,
port forwarding 등을 보시면 되고, 이보다는 더 복잡하지만, 정교한 설정을
할 수 있는 것은 2.4.x 커널에서 지원하는 netfilter(iptables)입니다.
이에 관한 문서는 HOWTO 문서(http://kldp.org/>나
<http://www.linuxdoc.org/HOWTO/>에서 볼 수 있습니다), 혹은 거기에 명
기된 사이트를 찾아서 읽으시면 됩니다.
프로그래머의 시각에서 본다면 커널 소스, ipchains, iptables 패키지의 소스
를 직접 연구하는 것도 도움이 되겠죠.
--> 인터넷 자료 인용