Multisite(network mode)
                                             & Security
                                                               @ssamture
By 임민형                                              ssamture@gmail.com
                                                       http://ssamture.net




               WordCamp Seoul 2012
               Seoul, South Korea - May 26
               Track3 – 15:40
미리보기

• Multisite
• Security
Multisite
• 소개
Multisite

     • 하나의 WordPress 아래에 여러 개의 사이트를 생
       성 하는 기능을 지원한다.
       - 예)WordPress.com




WordCamp Seoul 2012                @ssamture
Multisite

     • WordPress 3.x 미만에서는 별도로 제공
       - WordPress MU
     • WordPress 3.x 이상에서는 손 쉽게 multisite로 전
       환




WordCamp Seoul 2012                       @ssamture
Multisite 구축
• multisite 구축
Multisite 구축 순서

     • WordPress 설치
     • network 모드 활성화




WordCamp Seoul 2012            @ssamture
유의사항

     • 일부 테마나 플러그인은 정상적인 작동을 하지 않
       을 수 있다.
     • Backup
       - 혹시 모를 데이터 손실을 방지 하기 위하여 파일
       과 데이터베이스를 백업




WordCamp Seoul 2012              @ssamture
Multisite 구축

     • wp-config.php 수정




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • 모든 플러그인 비활성화




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • Installing a Network   서브도메인 :
                              {ssamture}.tistory.com




                              서브디렉토리 :
                              blog.naver.com/{ssamture}




WordCamp Seoul 2012                               @ssamture
Multisite 구축

     • Installing a Network




WordCamp Seoul 2012           @ssamture
Multisite 구축

     • blogs.dir 디렉토리 생성
       /ROOT/wp-content/blogs.dir




WordCamp Seoul 2012                 @ssamture
Multisite 구축

     • 생성한 디렉토리 권한 변경




WordCamp Seoul 2012         @ssamture
Multisite 구축




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • wp-config.php 파일에 추가




WordCamp Seoul 2012           @ssamture
Multisite 구축

     • .htaccess 파일 생성




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • 서브도메인 시 아파치 설정 값




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • Installing a Network




WordCamp Seoul 2012           @ssamture
Multisite 구축




WordCamp Seoul 2012         @ssamture
Multisite 구축




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • mod_rewrite 활성화




WordCamp Seoul 2012         @ssamture
Multisite 구축

     • mod_rewrite 활성화
           $sudo a2enmod rewrite (우분투 기준)


     • 아파치 설정 추가




WordCamp Seoul 2012                         @ssamture
Multisite 구축

     • Network Admin Settings




WordCamp Seoul 2012             @ssamture
Multisite 플러그인 맛보기

• update_site_option
• get_site_option
• switch_to_blog
• restore_current_blog
• wp_dashboard_setup
Multisite 플러그인 맛보기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 데이터 저장 및 가져오기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 가입된 블로그 고유번호 가져오기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • Switch blog




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 대시보드에 공지 띄우기
         wp_add_dashboard_widget($widget_id, $widget_name, $callback,
         $control_callback);




WordCamp Seoul 2012                                                @ssamture
Multisite 플러그인 맛보기

     • 대시보드에 공지 띄우기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 메인 사이트에서..




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 서브사이트에서…




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 대시보드에 공지 띄우기




WordCamp Seoul 2012               @ssamture
Multisite 플러그인 맛보기

     • 대시보드에 공지 띄우기




WordCamp Seoul 2012               @ssamture
WordPress Security
보안 사고 사례

      • 지능형 웜(`10.04.08)
            – 특정 글의 링크를 통해 공격대상을 정함
            – 스스로 관리자계정을 만듬
            – 자바스크립트를 이용해 스스로를 숨겨 인지하지
              못하도록 함




WordPress Plugin &         [ 46 ]
Security
보안 사고 사례

      • 대규모 악성코드 유포(`10.04.08)
            –   Siteurl의 값을 변형
            –   악의적인 웹사이트로 연결하는 iFrame 삽입
            –   해당 사이트는 악성코드를 유포
            –   악성코드에 감염되면 또다른 번형 악성코드를 설치
            –   허위백신을 설치하여 금전 결제를 유도




WordPress Plugin &         [ 47 ]
Security
WordPress Security

     • 워드프레스 버전 숨기기




WordCamp Seoul 2012               @ssamture
WordPress Security

     • 워드프레스 버전 숨기기




WordCamp Seoul 2012               @ssamture
WordPress Security

     • 관리자 계정 변경
       - 3.0 미만에서는 admin 으로 관리자 계정 생성
       - admin 계정 대신 다른 계정으로 생성




WordCamp Seoul 2012                     @ssamture
WordPress Security

     • 로그인 강화
       - Limit Login Attempts 플러그인 활용




WordCamp Seoul 2012                     @ssamture
WordPress Security

     • 로그인 강화




WordCamp Seoul 2012               @ssamture
WordPress Security

     • Network Admin Settings




WordCamp Seoul 2012               @ssamture
WordPress Security

     • wp-content 경로 변경




WordCamp Seoul 2012               @ssamture
WordPress Security

     • Secret key 사용




WordCamp Seoul 2012               @ssamture
WordPress Security

     • SSL




WordCamp Seoul 2012               @ssamture
Plugin Security
Plugin Security

     • Nonces




WordCamp Seoul 2012            @ssamture
Plugin Security

     • Nonces




WordCamp Seoul 2012            @ssamture
Plugin Security

     • 검증

                  Check_admin_refer(‘mh_nonce_check’);

                  Check_admin_refer(‘mh_nonce_url_check’);




WordCamp Seoul 2012                                          @ssamture
끝, 감사합니다.^^

WordCamp Seoul 2012 - WordPress Multisite & Security