그렇기 때문에 https 페이지에서 http 페이지로 넘어오게 되면 도메인이 같더라도 세션정보가 보이지
않게됩니다.
일단 해결방법은 다음과 같습니다.
기본적으로 보안 연결(HTTPS) 로의 접속시 세션이 별도의 영역에서 사용되도록 되어 있습니다. 보안
연결(HTTPS) 연결을 사용시에는 일반 연결(HTTP) 과는 별도의 영역으로 분리되어 세션이 서로 다른 사이트처럼 운영이 됩니다. 그렇기때문에
이를 하나의 사이트로 운영하기 위해서는 반드시 보안 연결의 새 ID 를 False
로 설정해야 합니다.
이전에 배포하던 웹쉘 탐지 프로그램(Whistl)[주:물론 사용자동의는 구하지만 검색된 웹쉘로 추측되는 정보를 추후 동의 사용자동의 없이 타서버로 전송된다는것은 그다지 유쾌하지 않은 기억이였습니다.]에 대해서 안좋은 기억이 있었는데,지난 1월 20일에 인터넷침해사고대응센터(http://www.krcert.or.kt) 에서는 홈페이지 보안 강화 도구(CASTLE) 를 보급하기 시작했습니다.
많은 분들이 설치가이드나 FaQ, 등을 참고하여서 포스팅을 하고 있기때문에 많은 분들이 이런게 있다라는 것에 대해서는 보안에 관심이 있는 관련업계분들은 들어보셨으리라 생각합니다.
그래서 설치되는 부분의 소스를 분석해보고 설치후 약간의 악의적인 접근을 시도하면서 몇가지 겪은점에 대해서 이야기를 해보겠습니다.
□ CASTLE의 주요기능 o 보안성 강화 - OWASP 10대 주요 취약점 해결 - 소스코드 수준의 웹 어플리케이션 보안성 강화
o 사용자 편리성 강화 - 관리기능으로 편리한 정책 설정 지원 - 운영 중인 프로그램 소스의 최소 수정으로도 적용 가능 o 높은 호환성 지원
- 다양한 웹 서버 환경과 웹 어플리케이션에서 동작할 수 있는 호환성 지원
□ 기대효과 o CASTLE 확산으로 국내 웹 어플리케이션의 보안성 향상 o 개발자들은 개발 단계에서부터 CASTLE 통합적으로 적용하여 보안성 강화 o 서버 관리자들은 편리한 사용과정을 통해 기존 웹 어플리케이션 수정용이
일단 제가 직접 실행해보고 느낀점은 편하기는 한데, 사용중인 사이트가 개별적인 단일파일로 이루어진 구조라면 사용이 좀 어렵지 번거롭다는 것입니다. 왜냐하면 설치 가이드를 보시면 아시겠지만, CASTLE 소스로 연결(include)를 하는 부분이 있는데, 몇개의 파일을 연결(include) 하는 는 구조일경우에는 정말 편하게 소스몇줄 추가하는 것으로 가능하여서 손쉬운 적용이 가능하지만 그렇지 않은 사이트는 어쩔수 없이 모든 소스를 수정하는 번거로운 작업을 감수해야 하기 때문입니다.
차라리 소스파일들이 각기 다른 파일로 이루어져있다면 그나마 사이트내 모든 asp 파일을 찾은 다음, 최상단에 위의 코드를 추가하는 방법으로 처리할수도 있습니다.
(테스트를 해보니 중복으로 CASTLE에 연결되어 있어도 사용상에는 문제가 없습니다. 2번 중복으로 CASTLE에 연결하는 테스트를하면서 우려했던 로그 2방찍기도 발견되지 않았습니다. 원래 되어야 하는거 아닌가요.? ;; )
<% Set p = LoadPicture("d:\temp\temp.gif") ' 반드시 절대 경로가 들어가야 하며 경로가 정확하지 않을 시 에러를 발생 한다. x = CLng(Cdbl(p.width)*24/635) ' 이미지 가로 크기 y = CLng(Cdbl(p.height)*24/635) ' 이미지 세로 크기 Set p = Nothing %>
다음과 같은 오류가 날수 있습니다.
이미지가 있는 폴더에 IUSR [모든권한]을 주셔야 합니다. ( 적어도 수정권한까지 ) 그래도 해결이 안될경우는%systemroot%\temp 폴더에 users 그룹이 파일을만들수 있는 권한(NTFS)이 설정되어 있어야합니다.
원인은 MS DTC(Microsoft Distributed Transaction Coordinator, 이하 MS DTC)의 서버간 통신불가에 의한 데이터베이스 접속불가현상입니다.
MS DTC는 NetBIOS를 이용하여 컴퓨터 이름을 확인할 수 있어야 합니다. 핑(Ping)과 서버 이름을 사용하여 NetBIOS가 이름을 확인할 수 있는지 테스트할 수 있습니다. 클라이언트 컴퓨터는 서버 이름을 확인할 수 있어야 하며 서버는 클라이언트 이름을 확인할 수 있어야 합니다.
즉 보안상 NetBIOS ( UDP 137 ) 와 SMB ( TCP 445 ) 를 막았기때문에, 데이터베이스서버와 NetBIOS연결이 불가능하여서 발생을 하는 오류입니다.
댓글을 달아 주세요
감사합니다. 많은 도움이 되었습니다.^^
2010.03.23 12:16 [ ADDR : EDIT/ DEL : REPLY ]