제2의 비엔지니어 인생관을 꿈꾸며

Posted
Filed under Study
"사용자

IIS7의 FTP7.5 기능중 가상호스트 기능이 있어서 복수의 FTP사이트를 웹사이트처럼 구성할수 있게 되었습니다. 여러 FTP사이트를 구성할경우 비정규 FTP 사이트를 구성해줘야 하고 패시브 설정을 해줘야 하며 NAT 하위로 구성된 서버라면 중간 프록시 장비에서 FTP 비정규 할당포트를 지원하지 않으면 사용하기 힘든 상황이였습니다. 뭐 복수의 공인IP가 존재한다면 상관이 없겠지만 그에대한 보안설정이나 필터 정책에 많은 부담감이 있는것도 현실입니다. 그래서 필자가 이번에 구성해본 시나리오중 하나가 바로 IIS7의 FTP7.5를 이용한 FTP 통합 게이트웨이를 만들어보자는 상상이였습니다만 정말 생각했던데로 되니까 신기하고 재미있기만 합니다.
일단 FTP서버가 사설단의 서버를 네트워크 드라이브로 붙어야 합니다. 네트워크 드라이브로 붙는거까지는 좋지만 여러가지 보안설정을 해줘야 할 단계가 있습니다.
첫번째가 FTP 메인서버와 네트워크 드라이브로 연결되는 서버의 각 계정이 동일해야 된다는것입니다. A서버의 FTP계정이 B서버의 사용자 계정이 동일하게 맞춰줘야 하는 번거로움이 있습니다.
둘째가 다음그림과 같습니다.
"사용자
네트워크 드라이브로 붙으면서 인증을 받아야 하는 응용APP 풀 ID를 생성해줘야 합니다. 즉 각 계정 전부 접속할수 있는 관리자 계정이거나 그 유저 폴더를 전부 접근할수 있는 계정이라야 하겠죠. 그러면 FTP계정이 APP Pool 인증자격을 타고 해당 서버에 접근이 가능하게 되며 다시 그 폴더의 계정과 맵핑이 되게 됩니다. 그러면 각 계정마다 격리모드로 FTP서버를 구성할수 있게 되죠.
윈도우 서버는 거의 구성이 동일시되서 보안설정만 제대로 잡아주면 구성이 쉽게 됩니다만 리눅스와 연동할려면 참 여러가지 고민거리가 생기더랍니다. 그러나 리눅스도 어려운거 없이 바로 구성이 되었습니다.

"사용자
리눅스는 home 폴더에 각각의 사용자 폴더가 존재합니다. 그리고 삼바서버를 구성하고 각 사용자에게 삼바접근을 위한 설정도 필요하겠죠. 삼바로 접근할때 root 계정으로 지정해줘야 합니다. 다른 방법이 존재하는지는 모르겠지만 리눅스를 잘만지지 못해서 다른 방법을 모르겠습니다. 사용자 격리모드로 구성하기 위해서 가상폴더 이름을 LocalUser 로 만들어 줘야 합니다.

"사용자
원래 root를 사용하면 보안상 좋지 않습니다만 제가 리눅스를 잘몰라서 어쩔수 없이 테스트 시나리오상 중간 브릿지 역할을 하게되는 인증자격을 root로 만들었습니다. 즉 root 계정도 윈도우 계정에 속해 있어야 됩니다. 뭐 리눅스에서 새로운 계정을 생성하고 home 폴더 전부 액세스 권한을 가지게끔 하면 구지 root를 사용할 필요가 없습니다. 리눅스 잘만지는분 피드백 바랍니다.
"사용자
그리고 접속할때는 가상호스트|아이디 이렇게 접속을 해야 합니다. 그러면 리눅스 서버도 완벽하게 격리모드로 접속이 되며 통제는 윈도우 FTP7.5 서버에서 받게됩니다. 약간 복잡한 구성이긴 하지만 재미있고 신기한 기능일수 있습니다. 비정규 포트를 사용하지 않는 시나리오와 중간 통제를 위한 시나리오이긴 합니다.
"사용자
그림과 같이 격리모드로 들어가면 그 어느곳도 접근할수 없고 자신의 공간에서만 FTP 작업을 할수 있습니다.
그럼 FTP가 여러사이트를 통합시켰다고 하면 웹서버는 어떻게 할것인가?라고 의문이 생길것입니다. 제가 예전에도 잠깐 설명을 했었지만 ISA 서버란게 존재합니다.
"사용자
ISA서버의 기능중 하나가 바로 웹서버 퍼블리시 기능입니다. 도메인 단위로 복수의 웹사이트를 생성하고 통제할수가 있습니다. 하나의 공인IP로 패킷요청이 들어오면 ISA서버에서는 어떠한 도메인을 요청하는지 분별하여 해당 사설 웹서버로 붙여주게 됩니다. 중간 프록시 역할을 하는거죠. 이렇게 되면 윈도우 리눅스 유닉스 솔라리스 복수의 웹사이트를 쉽게 관리가 가능하게 되는것입니다.
사용자 삽입 이미지
그리고 위 FTP 사이트중 장점만 있는게 아니고 단점이 존재합니다. 리눅스에서 FTP로 폴더권한을 지정할수 있는것이 윈도우FTP7.5를 타다보니 그 기능을 사용할수가 없습니다. 처음 계정 생성할때 chmod 기능으로 권한지정을 해줘야 하지 않을까 하는 생각을 해봅니다.
둘째가 위에도 언급했지만 계정을 같이 생성해줘야 한다는것입니다. 윈도우 리눅스가
AD접속된 상태라면 이런 문제가 없겠지만 단일서버였을 경우입니다.
단점은 여러가지 편법이나 기술상으로도 보완이 가능할거 같습니다. 필자가 리눅스를 잘알지 못해서 어쩔수 없다는 생각을 해보지만 vhost의 기능으로 보안이 한층더 강화되기도 하였습니다. 아이피접속만으로 되었던 FTP기능이 사전공격의 타겟이 되었던 지금까지 였습니다. 뭐 중간 방화벽 장비에서 이런 룰을 차단하는게 있긴 하지만 대부분 비정규 포트로 우회하는 기능을 사용하는 사용자도 많습니다. 이젠 FTP접속을 IP접속은 없애버리고 가상호스트 접속으로 만드는게 좋은 방법일것이라는 판단을 해보며 재미있는 포스팅을 마칩니다.
2010/09/18 14:13 2010/09/18 14:13
Posted
Filed under Study
http://www.isaserver.org/articles/2004 ··· ers.html


가끔 이런 시나리오도 많이 필요한 경우도 많습니다.
즉 아웃바운드를 사용하고 있는 External 은 유동 IP로 관리를 하고 서버로 운영할려고 한다면 인바운드 전용 고정 IP를 필요로 하는 구성이 필요로 합니다. 즉 회선을 두가지로 ISA 하나에서 처리를 한다는 솔루션입니다. 다중 게이트웨이를 사용하면 문제가 발생할수 있다고 MS관계자가 말했었습니다. 게이트웨이 메트릭이 자동으로 되어 있기 때문에 수동으로 바꾸어 주지 않으면 되었다 안되었다 하는게 주 문제이기도 합니다. 그래서 그 문제를 게이트웨이 메트릭 값을 아웃바운드 전용 IP를 제일 낮게 잡아주고 인바운드로 사용할 IP를 높게 잡아줘서 문제를 피하는 방법이 있습니다.

ISA 제품은 정말 MS가 내려준 아주 좋은 선물이라고 해야될까요? 정말 좋은 제품인건 확실합니다만 윈도우 시스템 기반에 올라갔기 때문에 보안업데이트나 운영에 많은 위험성을 고려하는게 대부분의 현실입니다. 허나 그런 문제도 여러가지 방법으로 피해가는게 있긴 있더랍니다.

윈도우 기반 방화벽 솔루션은 ISA를 운영하는데는 극히 드물긴 합니다만 방화벽 기반을 이해하는 관리자라면 이만큼 좋은 서버 방화벽은 없다고 자부합니다. 최고의 선물이죠?
그러나 이것도 처음 설계를 제대로 기획하고 들어가야 나중에 탈이 없습니다.
2010/07/24 00:10 2010/07/24 00:10