본문 바로가기

Infra/리눅스 서버

[리눅스 보안] 서버 관리 - 최신 보안패치 및 벤더 권고사항 적용

[리눅스 보안] 서버 관리 - 최신 보안패치 및 벤더 권고사항 적용



■ 대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - 주기적인 패치 적용을 통하여 보안성 및 시스템 안정성을 확보하는 것이 시스템 운용의 중요한 요소임

    - 서비스 중인 시스템의 경우 패치 적용에 따르는 문제점(현재 운용중인 응용프로그램의 예기치 않은 중지, 패치 자체의 버그 등)과 재부팅의 어려움 등으로 많은 패치를 적용하는 것이 매우 어렵기 때문에 패치 적용 시 많은 부분을 고려하여야 함


■ 보안대책

    - 양호 : 패치 적용 정책을 수립하여 주기적으로 패치를 관리하고 있는 경우

    - 취약 : 패치 적용 정책을 수립하지 않고 주기적으로 패치관리를 하지 않는 경우


■ 조치방법

    - O/S 관리자, 서비스 개발자가 패치 적용에 따른 서비스 영향 정도를 파악하여 OS 관리자 및 벤더에서 적용함

    ※ OS 패치의 경우 지속적으로 취약점이 발표되고 있기 때문에 O/S 관리자, 서비스 개발자가 패치 적용에 따른 서비스 영향 정도를 정확히 파악하여 주기적인 패치 적용 정책을 수립하여 적용하여야 함


 보안설정 방법

    ◆ OS별 점검 방법

        - SunOS, Linux, AIX, HP-UX

          패치 적용 정책 수립 여부 및 정책에 따른 패치 적용 여부 확인


■ SunOS

    1. "showrev -p" 로 서버에 적용되어 있는 패치 리스트 확인

    2. 아래 2개 패치 사이트 중 하나를 선택 후 접속하여 패치를 찾아 적용

       - OS별, 제품별, 보안 관련 그리고 y2k 패치로 분류되어 패치 파일 제공

          http://access1.sun.com/patch.y2k/

       - OS별로 추천되는 패치 파일 제공

          http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access


<패치 적용의 예 1>

#mkdir /var/spool/patch

위와 같은 디렉토리를 만들어 Patch 파일을 관리하도록 함

(패치 설치 순서 예) : 107403-02: SunOS 5.7 : rlmod & telmod Patch 를 적용하고자 함


#showrev -p | grep 107403

Patch : 107403-01 Obsoletes : Requires : Incompatibles : Packages : SUNWcsu, SUNWcsxu


#ls

107403-02-zip

#unzip 107403-02.zip

#patchadd /var/spool/patch/107403-02

erifying sufficient filesystem capacity (dry run method)...

Installing patch packages...


Patch number 107403-02 has successfully installed.

See /var/sadm/patch/107403-02/log for details


Patch packages installed:

SUNWcsu

SUNWcsxu


#showrev -p | grep 107403

Patch: 107403-01 Obsoletes: Requires: Incompatibles: Packages: SUNWcsu, SUNWcsxu

Patch: 107403-02 Obsoletes: Requires: Incompatibles: Packages: SUNWcsu, SUNWcsxu


※ 설치 시 주의할 점

   1. 패치 적용 후 Rebooting이 필요한 경우가 있으므로 README-Patch-ID 파일 확인 필요

   2. 패치 제거 방법 : #patchrm Patch-ID 실행


<패치 적용의 예 2>

패치 cluster의 이용

패치 cluster란 Sun에서 Recommended 패치와 보안 관련 패치들을 통합하여, 각 시스템 관리자들의 편의를 도모하기 위한 패키지 형태로 제공되는 패치 묶음을 가리킴

이들 패치 cluster는 Sun의 Web 페이지와 ftp 서버에서도 구할 수 있으며, 각각의 패치 cluster들은 아래와 같은 파일명으로 구성됨


[version]_Recommended.tar.Z

[version]_Recommended.README

2.5.1_Recommended.tar.Z

2.5.1_Recommended.README


위와 같이 각 버전에 따라 Recommended.tar.Z와 같은 바이너리 패치 묶음과 해당 패치 cluster에 대한 주석을 담고 있는 README 파일이 제공되므로 각 시스템의 관리자들은 Sun 사이트에 접속하여 패치 cluster와 README 파일 다운로드 하여 시스템에 설치할 수 있음

http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-license&nav=pub-patches


<패치 적용의 예3>

Automate patch management tool를 사용하여 현재 시스템에서 업데이트 패치 및 설치될 패치를 분석하여 웹상에서 자동으로 patch list를 다운받아서 설치함

현재 Automate patch management tool을 사용하여 적용될 수 있는 시스템들은 다음과 같음


#gunzip -dc pproSunOSx865.9jre2.2.tar.gz | tar xvf -

#zcat pproSunOSaparc5.6jre2.2.tar.Z | tar xvf -

#cd pproSunOSsparc5.9jre2.2

#./setup


<시스템 현황>

SunOS 2.6 - 9, Sun Cluster, Network Storage, and E10Ks and Star Fires


<Patch management tool download>

http://sunsolve.sun.com/patchpro/patchpro.html


■ Linux

    - Linux는 서버에 설치된 패치 리스트의 관리가 불가능하므로 rpm 패키지 별 버그가 Fix된 최신 버전 설치가 필요함

    - Linux는 오픈 되고, 커스터마이징 된 OS이므로 Linux를 구입한 벤더에 따라 rpm 패키지가 다를 수 있으며, 아래의 사이트는 RedHat Linux에 대한 버그 Fix 관련 사이트 임


<RedHat 일 경우>

Step 1. 다음의 사이트에서 해당 버전을 찾음

http://www.redhat.com/security/updates/

https://access.redhat.com/security/updates/eol/

Step 2. 발표된 Update 중 현재 사용 중인 보안 관련 Update 찾아 해당 Update Download

Step 3. Update 설치

#rpm -Uvh <Package-name>


■ AIX

    - "instfix -iv | grep ML"로 서버에 적용되어 있는 패치 리스트 확인

    - 버전 4.3의 경우 아래 사이트에서 다음과 같은 방법으로 패치 버전을 다운받을 수 있고 원하는 레벨의 ML를 찾을 수 있음

※ Current를 현재 버전 Level로 등록하고, update to 를 최신의 대상 패치 버전으로 선택

   http://techsupport.services.ibm.com/server/mlfixes/43


<패치 적용의 예1>

Click on the package name below.

Put the package (a tar.gz file) in /usr/sys/inst.images

Extract the filesets from the package

cd /usr/sys/inst.images

gzip -d -c 4330910.tar.gz | tar -xvf -

Back up your system. 0

Install the package by creating a table of contents for install to use. Then update the install subsystem itself. Run SMIT to complete the installation.

inutoc /usr/sys/inst.images

installp -acgXd /usr/sys/inst.images bos.rte.install

smit update_all

Reboot your system. This maintenance package replaces critical operating system code.


<Security Patch Check 관련 사이트>

http://techsupport.services.ibm.com/server/nav?fetch=pm


■ HP-UX

    - 'swlist -l prodect'로 서버에 적용된 패치 리스트 확인

    - HPUX는 다양한 하드웨어 플랫폼과 O/S로 인해 Genneral 한 Security Patch가 공개되어 있지 않으며, security_patch_check 프로그램(펄 스크립트)을 서버에 설치 실행하여 서버의 취약한 Security Patch 리스트를 얻을 수 있음

security_patch_check는 현재 적용되고 있는 패치 리스트를 분석하는 툴로써, 적용 가능한 패치와 설치되지 않은 패치 정보를 리포트 형식으로 제공하고 보안 패치에 대한 오류 정보를 자동으로 체크하여 알려줌

security_patch_check 프로그램을 사용하기 위해서는 Service Control Manager 도구를 서버에 설치하여야 함(security_patch_check 사용관련 내용은 '비고" 참조)


<Security Patch Check 관련 사이트>

http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=B6834AA


<패치 적용의 예1>

   1. 수작업에 의한 패치 적용

      운영자에 의한 패치 적용은 다음과 같은 단계에 의해 수행됨

       - http://support2.itrc.hp.com/service/patch/mainPage.do 접속

       - HPUX 선택하여 해당 페이지 이동

       - 해당되는 H/W, OS 선택

       - 키워드, Patch-ID, Patch 리스트 옵션을 선택하여 검색

       - 검색 결과 확인

       - 필요한 패치를 선택하여 다운로드 받음

       - 패치 간의 dependency를 고려하여 적용할 패치 결정


   2. Custom Patch Manager에 의한 패치 적용

       - CPM(Custom Patch Manager)은 해당 시스템에 적합한 패치를 선택하고 다운로드 받을 수 있도록 하는 툴이며, CPM을 이용하여 환경에서 설정된 일정 기간 간격별로 패치를 자동 적용할 수 있고 dependency 관계나 conflict 관계에 대해 자동 분석된 결과를 얻어 적용할 패치 정보를 확인할 수 있음


CPM을 이용하는 단계는 다음과 같은 단계에 의해 수행됨

    - ITRC 웹 사이트 http://itrc.hp.com으로 이동하여 로그인

    - maintenance/support 링크를 클릭한 후 customized patch bundles를 선택

    - cpm_collect.sh 스크립트를 다운로드 받아 실행 후 현재 configuration에 대한 정보를 취합

    - cpm_collect.sh 스크립트를 실행 후 configuration에 대한 결과를 ITRC 페이지에 업로드

    - Perform Patch Analysis를 클릭하여 필요한 candidate patch list를 얻음

    - 선택한 패치 간의 conflict가 없는지 점검

    - 선택한 패치를 Package 버튼을 선택하여 다운로드 받은 후 패치 설치




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기