웹방화벽 - 캐슬(CASTLE) 설치



    캐슬(CASTLE)

    캐슬(Castle)이란? 웹 취약점을 악용한 공격을 사전 차단할 수 있는 웹 방화벽 프로그램입니다

    주요 취약점을 공격하는 침입시도 및 공격코드들을 차단할 수 있으며 관리 기능으로 손쉽게 정책이나, 설정을 수정할 수 있습니다


    Castle은 가장 일반적인 웹 개발 환경에서 적용가능하도록 제작되어 있으며 각기관의 웹 개발 환경 및 서비스가 매우 다양하므로, 운용중인 서비스에 지장이 없도록 테스트후 적용하여야 합니다




     

     CASTLE의 주요기능



    1. 보안성 강화


    - OWASP 10대 주요 취약점 해결

    - 소스코드 수준의 웹 어플리케이션 보안성 강화




    2. 사용자 편리성 강화


    - 관리기능으로 편리한 정책 설정 지원

    - 운영 중인 프로그램 소스의 최소 수정으로도 적용 가능


    3. 높은 호환성 지원


    - 다양한 웹 서버 환경과 웹 어플리케이션에서 동작할 수 있는 호환성 지원




    * 기대효과


    - CASTLE 확산으로 국내 웹 어플리케이션의 보안성 향상

    - 개발자들은 개발 단계에서부터 CASTLE을 통합적으로 적용하여 보안성 강화

    - 서버 관리자들은 편리한 사용과정을 통해 기존 웹 어플리케이션 수정 용이




     

     CASTLE 설치 php



    1. CASTLE 설치 준비사항


    설치를 위해 최신버전의 CASTLE 패키지를 CASTLE 배포 공식 사이트에서 다운로드 받는다 CASTLE 패키지는 CASTLE ASP, JSP, PHP, DOTNET, SPING 버전을 모두 포함하고 있으며 적용하고자 하는 웹 사이트의 프로그래밍 언어에 따라 해당 버전을 웹 서버로 업로드 해야 합니다


    CASTLE 배포 공식 사이트

    http://www.krcert.or.kr -> 다운로드 -> 캐슬
    


    2. 설치 과정


    CASTLE 설치 과정은 총 4단계 입니다


    1) 설치 동의 -> 2) 권한 설정 -> 3) 문자셋(CHARSET) 설정 -> 4. 관리자 계정 설정으로 이루어 집니다


    설치 페이지 주소

    http://서버주소/CASTLE설치디렉토리/install.php

    주의 : CASTLE 설치 디렉토리명은 임의로 변경하여 하시기 바랍니다


    CASTLE 설치 초기 페이지는 위와 같이 install.php 파일이며 설치 과정을 통해 압축 해제한 위치를 웹 브라우저를 통하여 연결하시면 됩니다



    설치 1단계 - 설치 동의 단계



    설치를 위해서 웹 브라우저를 이용하여 위의 설치한 경로에 접근하면은 위와 같은 라이선스를 확인하는 화면이 나타납니다 동의후 다음단계로 진행하시면 됩니다.




    설치 2단계 - 권한 설정 단계


    권한 설정 단계는 설치하고자 하는 시스템에 쓰기 권한을 설정하였는지 확인하는 단계이며 웹서비스를 위해 쓰기 권한을 주어야 합니다




    CASTLE를 설치하기 위해서는 'castlephp/'  와 astlephp/log 디렉토리 권한을 707로 설정하여야 합니다 권한 설정을 정확하게 설정하지 않으면 다음단계로 진행할수 없습니다


    권한설정

    [root@server castle]# chmod 707 castle-php/ [root@server castle]# chmod 707 castle-php/log/




    권한 설정을 완료하면 위 그림과 같은 설정이 완료 되었습니다라는 메시지를 확인인할 수 있으며 다음단계로 넘어가시면 됩니다



    설치 3단계 - 관리자 계정 설정 및 로그 파일 이름 설정 단계


    관리자 계정은 Castle 관리자 페이지에 인증을 하기 위한 관리자 계정이며 아이디와 암호는 보안상으로 중요하기 때문에 쉽지 않은 암호로 생성하시기 바랍니다

    아이디와 암호는 찾기 기능이 없으므로 반드시 기억하여야 하며 아이디와 암호를 일어버린 경우에는 재설치 과정을 거치야 되므로 주의하여야 합니다

     



    아이디, 패스워드 생성 규칙

    1. 디폴트아이디(administrator, admin등) 사용금지

    2. 아이디는 최소 4자 이상이며 최대 16자 이하로 사용

    3. 아이디와 동일한 암호는 사용 불가

    4. 암호는 최소 8자 이상이며 영문, 숫자 특수문자를 조합해서 생성






     

     Castle 적용과정



    웹 어플리케이션 Castle을 각 웹 페이지나 프로그램에 적용하기 위해서는 Castle을 적요하고 하는 대상 파일에 4줄로 구성된 코드를 추가합니다

    예로 "test.com"웹 하위 디렉토리에 Castle을 적용하시면 됩니다 castle.php 파일을 첫 줄에 아래와 같은 코드로 추가해야 됩니다


    <?php
    define("__CASTLE_PHP_VERSION_BASE_DIR__", "CASTLE 프로그램 위치 절대 경로");
    include_once(__CASTLE_PHP_VERSION_BASE_DIR__ . "/castle_referee.php");
    ?>


    추가할 소스코드의 내용은 위와 같습니다 위 코드에서 Castle 프로그램 위치 절대 경로 부분을 Castle 프로그램이 설치 경로로 수정해야 됩니다

    예로 "/home/castle"에 설치된 경우면 아래와 같이 추정하시면 됩니다

    <?php
    define("__CASTLE_PHP_VERSION_BASE_DIR__", "/home/castle");
    include_once(__CASTLE_PHP_VERSION_BASE_DIR__ . "/castle_referee.php");
    ?>


    Posted by 서버이야기