2. AIX V6 보안 기능

Download Report

Transcript 2. AIX V6 보안 기능

AIX & PowerVM Security
김무현, IBM Korea
2009 상반기 SWMA 고객 세미나
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
2/77
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
3/77
© 2009 IBM Corporation
1.1 보안이란?
1. 보안개요
 신원확인 및 인증 (Identification, Authentication)
IT 자원에 접근 및 사용하기 위해서는 사용자의 신원을 확인하고, 그 사용자에 대한 인증을 통해야함
 가용성(Availability)
IT 자원 및 이를 지원하는 인프라들은 사용자의 요청에 대해서 적시에 서비스를 제공해야 함
 기밀성(Confidentiality)
IT 자원, 서비스들은 인증되지 않는 접근을 방지해야 함
 무결성(Integrity)
정보는 인증되지 않는 변조로 부터 보호되어야 함. 이는 저장된 자료뿐만 아니라, 데이터 통신에도 적용
됨
 부인방지(Non-repudiation)
모든 이벤트는 이를 행한 인증된 사용자와 연관을 지을 수 있어야 함
4/77
© 2009 IBM Corporation
1.2 적정한 보안 수준
1. 보안개요
Too Secure
9
8
7
6
10
1
5
2
3
4
Secure
8
9
Insecure
7
6
10
9
10
8
6
7
1
5
2
3
4
1
5
2
5/77
3
4
© 2009 IBM Corporation
1.3 용어 설명
1. 보안개요
 위험(Risk)
 위협(Threat)
 취약점(Vulnerability)
 위험관리(Risk Management)
 위험감수(Risk Acceptance)
 위험회피(Risk Avoidance)
 최소권한원칙(Least Privilege Principle)
 접근제어(Access Control)
 Single Point Of Failure
 Local Vulnerability
 Remote Vulnerability
 Local Exploit
 Remote Exploit
6/77
© 2009 IBM Corporation
1.4 서버 보안 정책
1. 보안개요
 서버 보안 정책의 필요성



업무의 중요성에 따른 적절한 수준의 보안 유지
보안의 일관된 적용
Baseline 보안 수준 정의
 서버 보안 정책의 주요 구성 요소







계정 및 패스워드 정책: 계정 및 패스워드 생성/삭제/변경 규칙, 패스워드의 복잡도에 대한 규정
root 계정 정책: root 접근 통로 제한
로그인 정책: 불법적인 로그인에 대한 경고 문구
네트워크 서비스 정책: 불필요한 서비스 제거, 네트워크 접근제어, 최소 권한
SUID, SGID, Stickybit 관리 정책
시스템 로그 관리 정책: 로그 생성, 보관 기한, 정기적인 모니터링을 통한 침임 탐지에 대한 규정
보안 패치 정책: 정기적 또는 비정기적 보안 패치 적용에 대한 규정
 서버 보안 인증 및 인가

서버가 운영 환경으로 이전되기 이전에 조직의 보안 정책을 준하는지를 확인
 가상 환경에서의 보안 정책
7/77
© 2009 IBM Corporation
1.5 보안 패치 관리 (1/3)
1. 보안개요
 보안 패치 정보 수집



8/77
IBM e-Server Support > Subscription Service
(http://www14.software.ibm.com/webapp/set2/subscriptions/pqvcmjd)
SecurityFocus (http://www.securityfocus.com) > Vulnerabilities
Nessus (http://www.nessus.org) > PLUGINS > ALL PLUGINS > AIX Local Security Checks
© 2009 IBM Corporation
1.5 보안 패치 관리 (2/3)
9/77
1. 보안개요
© 2009 IBM Corporation
1.5 보안 패치 관리 (3/3)
1. 보안개요
 SUMA
(Service Update Management Assistant)
 AIX 5L V5.2부터 지원하는 패치 관리 시스템
 인터넷에 직접 연결 또는 인터넷에 연결된 HTTP, HTTPS, FTP Proxy
를 이용하여 패치 정보 수집
 프로토콜: HTTP, HTTPS, FTP
 사용
방법
 보안 패치 상태를 점검하고자 하는 시스템에서, 설치된 Fileset 정보 파일 생
성
# lslpp -Lc > /tmp/suma-filtersysfile

10/77
인터넷에 연결이 가능한 AIX 시스템에서 아래 명령을 실행
# suma -x -a Action=Preview -a
RqType=Security -a FilterML=5200-04 -a
FilterSysFile=/tmp/suma-filtersysfile
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
11/77
© 2009 IBM Corporation
2.1 Overview
2. AIX V6 보안 기능
 향상된 AIX Security Expert: 보안 정책 적용 및 점검을 위한 도구
 Secure by Default (SbD): 최소 OS 설치
 File Permission manager (FPM): setuid, setgid 프로그램 관리 도구
 Role Based Access Control (RBAC)
 Encrypted File Systems (EFS): JFS2 파일시스템에 암호화 적용 기능
 Workload Partitions (WPAR): 독립된 어플리케이션 수행 환경
 Trusted Execution (TE): 중요 파일들에 대한 무결성 관리
 Trusted AIX: Multi Level Security 기능
 Secure FTP: TLS를 이용한 FTP, FTPD
 Long Password Support: 255자 패스워드 지원
12/77
© 2009 IBM Corporation
2.2 AIX Security Expert
2. AIX V6 보안 기능
 AIX 5L V5.3 TL5 부터 제공되는 보안 설정 도구
 High, Medium, Low 보안 정책 템플릿 제공
 강화된 undo 기능

SMIT, CLI 사용시 전체 undo

GUI 사용시 선택적으로 undo 가능
 사용자 정의 보안 정책 지원
 강화된 취약한 패스워드 점검 기능
 Stack Execution Disable (SED) 활성화
 SUID 프로그램 관리를 위한 File Permission Manager (fpm) 연동
 SOX-COBIT Best Practice
 정의된 보안 정책을 준수하는지 점검하는 기능
 LDAP을 통한 보안 정책 배포
13/77
© 2009 IBM Corporation
3.2 AIX Security Expert
2. AIX V6 보안 기능
 CLI (aixpert)
 SMIT – smitty aixpert
 wsm - AIX Security Expert
14/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책
2. AIX V6 보안 기능
 보안 정책 템플릿: /etc/security/aixpert/core/aixpertall.xml (약 300여개 보안 설정 내용 포함)
 보안 정책 적용 script: /etc/security/aixpert/bin
aixpertall.xml 내용
Rule Type
• DLS: Default Level
• LLS: Low Level
• MLS: Medium Level
• HLS: High Level
• Prereq: Analysis Rules
• SCBPS: SOX-COBIT
보안 적용 script 목록
15/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책
2. AIX V6 보안 기능
aixpertall.xml 내용
16/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책
2. AIX V6 보안 기능
Analysis Rule 예제
17/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책 HIGH
2. AIX V6 보안 기능
 보안을 가장 중요시하는 설정
 Local 네트워크가 안전하지 않다는 가정
 Port scanning 차단
 대부분 port 차단
 모든 외부로 부터의 접근을 차단
 Strong password 규칙 적용
18/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책 MEDIUM2. AIX V6 보안 기능
 일반적인 보안 강화 설정
 telnet, ftp, rlogin 등 암호화되지 않은 접속 허용
 Port scanning 차단
 password 규칙 적용
19/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책 LOW
2. AIX V6 보안 기능
 기본 보안 설정 보다는 안전하게 구성
 시스템의 개방성을 침해하지 않는 수준에서 일반 보안 설정 적용
20/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 정책 적용
2. AIX V6 보안 기능
 HIGH 레벨 보안 정책 적용하는 방법
# aixpert –l high
# smitty aixpert > High Level Security 메뉴 선택
wsm > AIX Security Expert > High Level Security 메뉴 선택
 AIX Security Expert에 의해서 시스템에 적용된 정책은 다음 파일에 저장됨
/etc/security/aixpert/core/appliedaixpert.xml
 aixpert 수행 log 파일: /etc/security/aixpert/log/aixpert.log
 NIM post install script 를 통해서 적용
- % aixpert –f <my_security_policy.xml>
21/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 사용자 보안 정책
2. AIX V6 보안 기능
 AIX Security Expert에서 제공되는 보안 정책을 customizing 할 수 있음
 Customizing 방법
22/77

GUI의 Advanced Security 를 통해서 선별적으로 보안 설정 적용

사용자 정의 보안 정책 XML 파일을 생성하여 /etc/security/aixpert/custom 디렉터리에 저장

XML DTD 보는 방법: aixpert -d
© 2009 IBM Corporation
2.2 AIX Security Expert – 사용자 보안 정책
2. AIX V6 보안 기능
 GUI 를 이용한 보안 정책 customizing
wsm > AIX Security Expert > Advanced Security
23/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 사용자 보안 정책
2. AIX V6 보안 기능
 사용자가 정의한 보안 정책 파일 적용 방법 (CLI)
# aixpert –f <보안 정책 XML 파일 이름>
# aixpert –l LEVEL –f <보안 정책 XML 파일 이름>
# aixpert –f <보안 정책 XML 파일 이름> -p
 사용자가 정의한 보안 정책 파일 적용 방법 (GUI)
wsm > AIX Security Expert > Customized Options 에서 정책 파일 선택 및 적용
24/77
© 2009 IBM Corporation
2.2 AIX Security Expert – 보안 점검
2. AIX V6 보안 기능
 현재 시스템의 보안 설정이 정의된 보안 정책을 준수하는지 점검할 수 있음


점검 기준 보안 정책은 /etc/security/aixpert/core/appliedaixpert.xml 파일에 저장된 내용이 사용됨
점검 결과는 /etc/security/aixpert/check_report.txt 에 저장됨
 점검 방법
 # aixpert –c
 # aixpert –c –l high

25/77
wsm > AIX Security Expert > Check Security
© 2009 IBM Corporation
2.3 File Permission Manger (fpm)
2. AIX V6 보안 기능
 Privileged user가 소유한 프로그램의 setuid, setgid 권한을 제거하는 기능
 AIX 5L 5.3 TL6 이후 및 AIX V6 6.1
 HIGH, MEDIUM, LOW, DEFAULT 단계별 권한 제거 가능
HIGH 단계: /usr/lib/security/fpm/data/high_fpm_list
 MEDIUM 단계: /usr/lib/security/fpm/data/med_fpm_list
 LOW 단계: MEDIUM 단계 제거 대상 중에서 SETGID만 제거

 사용자 정의 정책을 만들어서 적용할 수 있음
HIGH 단계: /usr/lib/security/fpm/custom/high/*.*
 MEDIUM 단계: /usr/lib/security/fpm/custom/med/*.*

26/77
LEVEL
대상 파일 개수
제거 권한
영향을 받지 않는 파
일
LOW
약 233개
SETGID
약 100개
MEDIUM
약 233개
SETUID,
SETGID
약 100개
HIGH
약 274개
SETUID,
SETGID
약 60개
DEFAULT
AIX 기본 설치 상태로 복구
© 2009 IBM Corporation
2.3 File Permission Manger (fpm)
2. AIX V6 보안 기능
 현재 시스템의 파일들이 특정 정책에 부합하는지 점검하는 방법
# fpm -c -l LEVEL
 AIX default 설정으로 원상 복구하는 방법
# fpm -l default
 실제로 적용하지 않고 적용될 내용만 보는 방법
# fpm -p -l LEVEL
 수준별 setuid, setgid 제거 방법
# fpm –l LEVEL
27/77
© 2009 IBM Corporation
2.4 Trusted Execution - 개요
2. AIX V6 보안 기능
 AIX 파일들 및 사용자가 정의한 파일들에 대한 무결성 보장 (trustchk)
 Trusted Signature Database (TSD)
 /etc/security/tsd/tsd.dat
 AIX 파일들에 대한 signature
 Kernel, Kernel extension
 setuid root 프로그램, setgid root 프로그램
 root에 의해서만 수행되는 프로그램
 중요한 설정 파일 및 이를 수정할 수 있는 프로그램들
 사용자가 지정한 파일들에 대한 signature
 주요 기능
 AIX 파일들의 변조 여부 점검. 가능한 경우, 변조 내용 복구
 실행 파일 및 kernel extension을 load할 때, 변조 여부를 점검함. 만약 실패할 경우, 정책에 따라서 수행을 중지시
킬 수 있음
 적용 가능한 정책
 수행되는 프로그램 점검
 로딩되는 Kernel extension 점검
 로딩되는 shared library 점검
 TSD Lock
 Trusted 파일에 쓰기 금지
28/77
© 2009 IBM Corporation
2.4 Trusted Execution – 사전 요구 사항
2. AIX V6 보안 기능
 Trusted Exceution을 사용하기 위해서는 아래 fileset이 설치되어 있어야 함 (AIX Expansion Pack에
있음)


CryptoLite for C library (CLiC)
 clic.rte.includes
 clic.rte.lib
CryptoLite for C Kernel extension
 clic.rte.kernext
 CLiC 설치 여부 확인 방법
# lslpp –l “clic*”
# genkex|grep clic
 CLiC 설치 후 CLiC kernel extension을 load 해야 함
# /usr/lib/methods/loadkclic
29/77
© 2009 IBM Corporation
2.4 Trusted Execution – TSD 구성
2. AIX V6 보안 기능
 TSD에는 각 파일에 대한 권한, signature 등이 저장되어 있음
30/77
© 2009 IBM Corporation
2.4 Trusted Execution – 예제
2. AIX V6 보안 기능
 TSD에 부합되지 않는 파일을 수행할 경우, 수행을 중시시킬 수 있음
31/77
© 2009 IBM Corporation
2.4 Trusted Execution – 사용 방법
2. AIX V6 보안 기능
 TSD를 더 이상 수정하지 못하도록 설정하는 방법
# trustchk –p TSD_LOCK=ON
# trustchk –p TE=ON
 파일들의 integrity 점검 방법
# trustchk –n ALL
 TSD 등록된 파일 수행시 integrity 점검 정책
# trustchk –p CHKEXEC=ON TE=ON
 integrity 점검 및 변조 발견 시 수행 중지 정책
# trustchk –p CHKEXEC=ON STOP_ON_CHKFAIL=ON TE=ON
 TE 정책 설정 현황 보는 방법
# trustchk -p
 LOCK_KERN_POLICIES가 ON으로 설정되어 있는 경우,
활성화되어 있는 TE 정책을 비활성화하기 위해서는 reboot이 필요
32/77
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
33/77
© 2009 IBM Corporation
3.1 Overview
3. 서버 가상화
보안
 서버 가상화는 Hypervisor 또는 Virtual Machine Monitor (VMM)에 의해서 구현됨
VM들간의 isolation
 서버 자원의 공유

 Type 1 (Native) Hypervisor: Power Hypervisor (PHYP), System z Hypervisor (PR/SM)
 Type 2 (Hosted) Hypervisor: VMware Server, VirtualBox
34/77
© 2009 IBM Corporation
3.2 가상화 전후의 서버 보안
3. 서버 가상화
보안
 가상화는 물리적인 경계를 모호하게 함으로서, 기존의 보안 통제 수단이 적용되지 않을 수 있음
 가상화는 시스템 이동을 자유롭고 유연하게 하기 때문에, VM 및 시스템 이미지를 관리하는 어려움이 생
길 수 있음
 가상화는 새로운 기술적 및 운영상의 위험 요소를 만들고, 기존의 위험의 형태를 변화 또는 심화시킬 수
있음
35/77
© 2009 IBM Corporation
3.3 새로운 취약 요소들
36/77
3. 서버 가상화
보안
© 2009 IBM Corporation
3.4 가상화 환경의 운영 관리 이슈
가상화
•
•
•
•
37/77
3. 서버 가상화
보안
환경의 소유자는?…
네트워크 관리자?
서버 관리자?
어플리케이션 소유자?
데이터 사용자?
© 2009 IBM Corporation
3.5 VM 운영 관리 이슈
3. 서버 가상화
보안
 패치 적용
 VM을 “suspend” 하고 “activate” 할 수 있는 기능이 패치 관리 주기에 영향을 미침
App
OS
 Virtual Sprawl 및 Identification

VM들을 추적하기 어려움; unmanaged, rogue VMs
Virtual
Machine
Mgmt
VMM or Hypervisor
Hardware
 Dynamic Relocation (Live Migration)

VM들이 보안 수준이 낮은 서버, 네트워크, 또는 데이터센터로 이동될 수 있는가?
 Static security policiy로는 부족함

Replay Attacks and Data Retention
 VM replay 기능을 이용한 advanced cryptographic 공격의 가능성
 Virtual Machine Stealing

38/77
38
VM이 파일로 존재하는 경우, 전체 시스템이 유출될 수 있음
© 2009 IBM Corporation
3.6 가상화 보안의 현재
3. 서버 가상화
보안
Physical Resources Physical Resources Physical Resources
MEMORY: ~128M MEMORY: ~128M MEMORY: ~128M
CPU: 5-25%
CPU: 5-25%
CPU: 5-25%
First-Generation Virtualization
Security:
각 VM 단에서의 보안
defense-in-depth 적용
Lock-down management
VLAN을 통한 네트워크 분리
stand-alone security appliances
한계점:
Mgmt.
VM
App
OS
Guest Physical Resources
Guest
VM MEMORY: ~512M
VM
CPU: 25-30%
Stand-alone
VMM or Hypervisor
Security
Appliance
Hardware
새로운 VM security provisioning 필요
중복적인 보안 = 더 많은 자원요구
관리의 복잡성
VM 간의 네트워크 트래픽 분석이 어려움
VMM에 대한 Implicit trust
Integrate security into the virtual infrastructure – don’t bolt it on.
39/77
39
© 2009 IBM Corporation
3.7 가상화 보안의 미래
3. 서버 가상화
보안
Next-Generation Virtualization Security:
Apply defense-in-depth
Shrink the management stack
Install security VM on each machine
Integrate security VM with VMM
Finance
App
Integrated
Security
Mgmt
VM
OS
Guest
VM
Engineering
Guest
VM
NAC, Assessment & Control
Security VM Features:
Security
APIs
VMM or Hypervisor
Policy-Based MAC
Host Protection (AV/HIPS)
Centralized network protection
Agent-less host protection
Policy-based MAC and isolation
VM NAC, assessment, and control
Additional Security:
Network Protection (IPS/FW)
Hardware
TPM
vTPM
Hypervisor attestation (Trusted Platform
Module, or TPM)
VM attestation (vTPM)
40/77
40
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
41/77
© 2009 IBM Corporation
4.1 PowerVM 구성 요소
4. PowerVM 보안
 PowerVM Virtualization 이란?
 Power Hypervisor (PHPY)
 공유 자원 (CPU, Memory, Virtual I/O)에 대한 Discrete Access Control을 통한 보안 통제
 VLAN 기능을 제공하는 Virtual Ethernet Switch 구현
 VIO Server
 Virtual I/O를 일반 LPAR에 제공하는 기능
 Virtual Ethernet
 물리적인 adapter 없이 LPAR 간의 통신을 가능하게 함
 IEEE 호환 Ethernet
 Inter-partition in-memory 통신 방식으로 구현됨
 WPAR Mobility
42/77
© 2009 IBM Corporation
4.2 Certifications
4. PowerVM 보안
 LSPP, RBACPP, CAPP/EAL4+ for AIX 6100-00-02 with Workload Partitions and the Virtual I/O
Server
 Common Access Protection Profile (CAPP)
 Labeled Security Protection Profile (LSPP)
 Role Based Access Control Protection Profile (RBACPP) for the Common Criteria for
Information Security Evaluation (CC) at Evaluation Assurance Level 4+
 CAPP/EAL4+ for AIX 5L 5300-05-02 with Virtual I/O Server

43/77
Controlled Access Protection Profile (CAPP) for The Common Criteria for Information
Security Evaluation (CC) at Evaluation Assurance Level 4+
© 2009 IBM Corporation
4.3 Power Hypervisor (PHPY)
4. PowerVM 보안
 Power Hypervisor (PHPY)
 LPAR, Virtual processor, IEEE 802.1Q 기반의 virtual switch, virtual SCSI adapter, virtual console 구현
 자원에 대한 Discrete Access Control 적용
 Platform Licensed Internal Code (PLIC)
 Hardware page table entry에 대한 LPAR 접근 제어
 Translation Control Entry (TCE) table: IO에 대한 LPAR 접근 제어
 Dispatchable
 HMC와 Service Processor로 부터의 메시지 처리
 DLPAR
44/77
© 2009 IBM Corporation
4.4 Virtual I/O Server
4. PowerVM 보안
 VIO 클라이언트들이 VIOS 서버의 서비스에 의존하기 때문에, Single Point of Failure가 될 수 있음
 SEA를 통한 네트워크 트래픽이 모니터링 될 수 있기 때문에, 특별한 관리가 필요함
 신뢰관계에 있는 HMC의 보안 관리의 중요성
45/77
© 2009 IBM Corporation
4.4 Virtual Ethernet (1/2)
4. PowerVM 보안
 Virtual Ethernet
 물리적 아답터 없이 LPAR 간의 통신을 가능하게 함
 IEEE-compliant ethernet programming model
 inter-partition in-memory communication 방식으로 구현됨
 VLAN을 이용해서 논리적으로 네트워크를 구분할 수 있음
 여러 개의 VLAN 구성을 지원하는 Virtual switch
 각 LPAR는 하나 이상의 아답터를 통해서 여러 네트워크에 연결될 수 있음
 VIO server를 통해서 ethernet frame에 VLAN ID tag를 추가할 수 있음

Virtual network 는 “routing” partition을 통해서 물리적 네트워크에 연결될 수 있음

46/77
ipforwarding, routing at IP layer; not Virtual Ethernet switch
© 2009 IBM Corporation
4.4 Virtual Ethernet (2/2)
47/77
4. PowerVM 보안
© 2009 IBM Corporation
4.5 보안 고려 사항
4. PowerVM 보안
 서버의 보안 수준에 따른 네트워크 분리 및 접근 통제를 고려하고 있는가?
 물리적 보안 수단 (방화벽, IDS, IPS 등)이 bypass 되는 곳이 있는가?
 VIOS Hardening을 하고 있는가?
 VIOS가 Single Point of Failure가 되고 있지 않은가?
 HMC 접근 통제가 이뤄지고 있는가?
 WPAR mobility를 사용하는 경우, 보안 수준이 동일한 곳으로 이동하도록 제한하는가?
48/77
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
49/77
© 2009 IBM Corporation
5.1 개요
5. VIOS 보안
 VIOS는 Virtual IO를 제공하기 위한 별도의 LPAR에서 운영되는 AIX 기반의 appliance
 VIOS 초기 설치는 보안 강화 설정이 되어 있지 않기 때문에, 안전한 VIOS 운영을 위해서는 별도의 보안
설정 필요
 padmin 계정
 VIOS 운영 및 관리를 위한 계정
 VIOS 운영 및 관리에 필요한 명령만 수행 가능한 restricted shell 적용
 root 계정
 root 계정으로 원격 로그인 접근 불가
 oem_setup_env 명령으로 root 계정을 얻을 수 있음
 HMC와의 신뢰 관계
 HMC의 viosvrcmd 명령을 이용해서 VIOS 명령 원격 수행 가능 (TCP/657 RMC 서비스 이용)
 viosecure 명령 수행이 가능하기 때문에, HMC 계정에 대한 관리가 필요함
 SEA를 통해서 전송되는 네트워크 패킷들은 capture될 수 있기 때문에, VIOS 보안 관리가 중요함
 VIOS 보안 설정을 위한 명령어
 viosecure
 cfgassist
50/77
© 2009 IBM Corporation
5.2 VIOS 계정 관리
5. VIOS 보안
 Prime administrator (padmin)
 root 와 동일한 수준으로 관리가 필요함
 System administrator
 생성 방법: mkuser <id>
 padmin과 동일하지만 아래 명령은 수행하지 못함
 cleargcl
 lsfailedlogin
 lsgcl
 mirrorios
 mkuser
 oem_setup_env
 rmuser
 shutdown
 unmirrorios
 Service representative
 생성 방법: mkuser –sr <id>
 시스템에 대한 서비스를 수행하는 작업들 수행 가능
 Diagnostics 수행 (hot plug, certify, format 등)
 system 그룹으로 수행 가능한 명령들
 사용중이지 않은 device들에 대한 configure, unconfigure
 System microcode 업데이트를 위한 service aid 사용
 시스템 shutdown, reboot
51/77
© 2009 IBM Corporation
5.3 VIOS Hardening – DoS 공격 방어
5. VIOS 보안
 VIOS에 IP를 할당해서 사용하는 경우, 네트워크 서비스를 대상으로 한 DoS 공격에 노출될 위험이 존재
함
 기본으로 활성화되어 있는 Network Service
Port number
Service
용도
21
FTP
파일 전송 (암호화 되지 않
음)
22
SSH
암호화된 shell 및 파일 전
송
23
telnet
원격 접속 (암호화 되지 않
음)
111
rpcbind
NFS 접속
657
RMC
RMC 접속 (LDPAR)
 TCP Traffic Regulation 기능을 통해서 DoS 공격 방어 가능
 TCP Traffic Regulation 설정 방법
TCP Traffic Regulation 활성화
# no –p –o tcptr_enable=1
 보호할 서비스 등록
# tcptr –add <start port> <end port> <max> <div>
예) TELNET 동시 접속을 1000개로 제한
# tcptr –add 23 23 1000

52/77
© 2009 IBM Corporation
5.3 VIOS Hardening – 네트워크 서비스 비활성화
5. VIOS 보안
 원격 접속 및 파일 전송은 SSH 서비스를 이용해서 수행하는 것을 권장함
 네트워크 서비스 비활성화를 위한 명령어
$ stopnetsvc [telnet|ftp|xntpd|ssh|snmp|cimserver|ldap|ALL]
 TELNET 및 FTP 서비스 비활성화
53/77
© 2009 IBM Corporation
5.3 VIOS Hardening – SSH root 접속 제한
5. VIOS 보안
 기본적으로 root 계정으로 원격 로그인이 제한되어 있으나, SSH 서비스로는 직접 접속이 가능함
 root 접속을 제한 하는 방법

54/77
/etc/ssh/sshd_config 파일에 DenyUsers 추가
DenyUsers root
© 2009 IBM Corporation
5.3 VIOS Hardening – 보안 정책 적용
5. VIOS 보안
 보안 정책 적용은 viosecure 명령어를 통해서 가능함
 VIOS 보안 정책 설정: AIX Security Expert 기반
$ viosecure -level LEVEL
$ viosecure -view
 VIOS 방화벽 설정: AIX IP security 기반
$ viosecure -firewall on -reload
$ viosecure -firewall view
$ viosecure -firewall allow -port number [-address IP] [-timeout Timeout] [-remote]
55/77
© 2009 IBM Corporation
5.3 VIOS Hardening - 보안 정책 적용
5. VIOS 보안
 AIX Security Expert 기반의 VIOS Hardening
 low, medium, high, default 4개의 기본 보안 정책 제공
 보안 정책 내용의 선별적 적용 가능
 적용된 정책에 대한 undo 기능
 보안 정책 파일을 생성한 후, AIX Security Expert를 통해 다른 VIOS에 적용 가능
/etc/security/aixpert/core/appliedaixpert.xml
# aixpert –f /etc/security/aixpert/core/appliedaixpert.xml
56/77
© 2009 IBM Corporation
5.3 VIOS Hardening - 방화벽 설정 (1/3)
5. VIOS 보안
 AIX IP security 기반으로, VIOS에 할당된 IP에 적용됨 (SEA is a L2 bridging switch)
 기본으로 제공되는 방화벽 정책(/home/ios/security/viosecure.ctl)을 적용하는 방법
$ viosecure -firewall on -reload
기본 방화벽 정책에 있는 rule 이외에는 모두 deny 됨
 이 후, 방화벽 rule을 추가할 수 있음
 -reload 옵션이 없을 경우, ODM에 저장된 rule을 적용함

 VIOS root 권한으로 접속한 후,
기본 방화벽 정책 파일을 수정해서 관리하는 것을 권장함
 방화벽 설정 문제로 VIOS 로그인이 불가능 할 수 있으니,
HMC를 통한 virtual terminal로 접속한 상태에서
설정하는 것을 권장함
57/77
© 2009 IBM Corporation
5.3 VIOS Hardening - 방화벽 설정 (2/3)
5. VIOS 보안
 방화벽 rule 추가 방법
$ viosecure -firewall allow -port number [-address IP] [-timeout Timeout] [-remote]
 적용된 방화벽 rule 보는 방법
$ viosecure -firewall view
58/77
© 2009 IBM Corporation
5.3 VIOS Hardening - 방화벽 설정 (3/3)
5. VIOS 보안
 방화벽 정책 예시



HMC와 RMC 통신 허용
NIM 서버 또는 VIOS 관리자로 부터의 SSH 통신 허용
다른 모든 서비스는 접속 차단
 방화벽 정책 파일 수정 (/home/ios/security/viosecure.ctl)
22
22
657
<관리자 IP>
<NIM 서버 IP>
<HMC IP>
ssh
ssh
rmc
 방화벽 정책 적용
$ viosecure –firewall on -reload
 SEA failover 또는 EtherChanneld에서 ping을 시용할 경우 아래와 같이 ICMP 통신을 허용시켜야 함
59/77
© 2009 IBM Corporation
5.4 접근 및 수행 기록 관리
5. VIOS 보안
 Remote login 실패 기록
$ lsfailedlogin
 oem_setup_env 를 통한 root 계정 접근 기록
lsgcl 명령 수행 결과에서 padmin으로 oem_setup_env 수행된 내용 확인
 HMC 를 통한 VIO 명령 수행 기록
lsgcl 명령 수행 결과에서 root 계정으로 수행된 내용 확인
60/77
© 2009 IBM Corporation
차례
1.
보안 개요
2.
AIX V6 보안 기능
3.
서버 가상화 보안
4.
PowerVM 보안
5.
VIOS 보안
6.
참고자료
(첨부) AIX 보안 TIPS
61/77
© 2009 IBM Corporation
6. 참고자료
 UNIX 보안 정책 Best Practices
DoD Security Technical Implementation Guides (iase.disa.mil/stigs)
 AUSCERT Unix Security Checklist v2.0 (www.auscert.org)
 SANS Unix Checklist 1.0 (www.sans.org)

 AIX 보안 자료







IBM AIX Version 6.1 Differences Guide (Redbook)
AIX V6 Advanced Security Features Introduction and Configuration (Redbook)
IBM Security Portal (www-03.ibm.com/servers/eserver/pseries/security)
AIX 5.3 Security Manual / AIX 5.2 Security Manual (AIX Security Portal)
IBM eServer Security Planner (AIX Security Portal)
Additional Security Tools for AIX Systems (Redbook)
Implementing and Maintaining AIX Security Policies
 PowerVM Virtualization
PowerVM Virtualization on IBM System p:Introduction and Configuration Fourth Edition
 IBM System p Advanced POWER Virtualization Best Practices (Redbook)
 IBM PowerVM Virtualization Managing and Monitoring (Redbook)
 IBM Research, Retrofitting the IBM POWER Hypervisor to Support Mandatory Access
Control

62/77
© 2009 IBM Corporation
Q&A
is not a Product, but a
63/77
© 2009 IBM Corporation
1 UNIX 보안
첨부. AIX 보안 TIPS
 접근 권한







1. File Security
aaa bbb ccc (aaa: 파일소유자 권한, bbb: 파일그룹에 속한 사용자의 권한, ccc: 그외 계정의2. 권한)
UMASK
읽기 권한: r = 01002
3. SUID, SGID, Sticky bit
쓰기 권한: w = 00102
4. Superuser (ROOT)
실행 권한: x = 00012
5. r-Services
SUID: 4000 또는 소유자의 실행권한 위치에 s
GUID: 2000 또는 그룹 실행 권한 위치에 s
Stickybit: 1000 또는 Other 실행 권한 위치의 t
 중요 파일에는 최소권한의 원칙을 적용하여야 함
 최근 변경 시간 조회 방법: ls -l
 최근 접근 시간 조회 방법: ls -lu
 최근 inode 변경 시간: ls -lc
64/77
© 2009 IBM Corporation
1 UNIX 보안
 새로 생성되는 파일 또는 디렉토리에 할당될 권한을 정하는데 사용됨
첨부. AIX 보안 TIPS
1. File Security
2. UMASK
 권한 할당 규칙
 새로 생성된 일반 파일의 권한 = 666 – UMASK
 새로 생성된 프로그램 파일의 권한 = 677 – UMASK
 새로 생성된 디렉토리의 권한 = 777 – UMASK
3. SUID, SGID, Sticky bit
4. Superuser (ROOT)
5. r-Services
 계정 별로 설정이 가능하며, 현재 로그인된 계정의 umask은 umask 명령어로 조회 가능
65/77
© 2009 IBM Corporation
1 UNIX 보안
 SUID: 프로그램이 실행될 때, 파일 소유자의 권한으로 실행됨
 SGID: 프로그램이 실행될 때, 파일 소유그룹의 권한으로 실행됨
첨부. AIX 보안 TIPS
1. File Security
2. UMASK
 Stickybit: 디렉토리에 설정이 되며, root 또는 파일 소유자만이 디렉토리안의 파일 삭제
가능SGID, Sticky bit
3. SUID,
4. Superuser (ROOT)
 단, SUID 및 SGID는 shell script 에는 권한은 설정이 되지만, 실제로 적용되지 않음 5. r-Services
66/77
© 2009 IBM Corporation
1 UNIX 보안
 root 계정의 UID 0
첨부. AIX 보안 TIPS
1. File Security
 원격지에서 telnet, ftp, ssh 등을 통한 직접 로그인 금지
2. UMASK
 su로 root로 접근할 수 있는 그룹을 제한
3. SUID, SGID, Sticky bit
 root 소유의 SUID, SGID 실행 파일 최소화
4. Superuser (ROOT)
5. r-Services
67/77
© 2009 IBM Corporation
1 UNIX 보안
첨부. AIX 보안 TIPS
 r-서비스 종류


1. File Security
rsh, rcp, rlogin, lpd, srcmstr (System resource controller)
rexec (.netrc 사용)
2. UMASK
3. SUID, SGID, Sticky bit
4. Superuser (ROOT)
 r-서비스 접근제어(0)


5. r-Services
r-서비스 요청이 들어오면, 해당 서비스 데몬은 (1) /etc/hosts.equiv를 확인하고, (2) 요청한 서버 및 사용자에 대
한 규칙이 없을 경우 ~/.rhosts 파일을 참조함
단, root에 의한 서비스 요청일 경우는 ~/.rhosts 파일만을 참조함
 r-서비스 접근제어(1), .rhosts




68/77
다른 서버의 특정 사용자로 부터의 r-서비스 접근에 대한 규칙을 정의
각 사용자 별로 Home directory에 .rhosts를 생성하여 적용함
허용규칙: 원격지 서버 이름 또는 IP [원격지 서버의 사용자 계정]
+ 는 모든을 의미 함. 따라서, root 계정의 .rhosts에 + + 를 추가하는 것을 금지
설정
의미
springfield
springfield 서버에 동일한 계정으로부터만 접근 허가
springfield bart
springfield 서버의 bart 계정로부터만 접근 허가
springfield +
springfield 서버의 모든 사용자로부터의 접근 허가
+ bart
모든 서버의 bart 계정으로부터의 접근 허가
++
모든 서버의 모든 사용자로부터의 접근 허가
© 2009 IBM Corporation
1 UNIX 보안
첨부. AIX 보안 TIPS
 r-서비스 접근제어(2), /etc/host.equiv



1. File Security
원격 서버의 사용자로 부터 로컬 서버의 임의의 계정(root 제외)으로의 r-명령어 실행 권한을
정의함
2. UMASK
허용규칙: 원격서버이름 [원격서버의 사용자이름]
3. SUID, SGID, Sticky bit
거부규칙: - 원격서버이름 또는 원격서버이름 -원격서버의사용자이름
4. Superuser (ROOT)
5. r-Services
 r-서비스 접근제어(3), .netrc


rexec, ftp의 자동 로그인을 위한 정보(서버IP, ID, PASSWORD)를 정의함
예: machine host1.austin.century.com login fred password bluebonnet
 r-서비스가 필요할 경우,
(1) /etc/hosts,equiv, .rhosts 를 사용하여 최소 접근 권한만을 정의하고,
(2) 해당 파일의 권한을 올바르게 설정(600)하고,
(3) 정기적으로 위 파일 내용을 점검하는 것이 필요함
69/77
© 2009 IBM Corporation
3 명령 수행 기록 관리
첨부. AIX 보안 TIPS
 사용자가 수행한 명령에 대한 감사 기록을 생성 및 조회하는 기능을 제공함
 감사기능 활성화
/usr/sbin/acct/startup을 /etc/rc에 등록
 감사 증적 파일: /var/adm/pacct

 실행 명령어 조회 방법
# lastcomm  모든 내용 조회
# lastcomm root  root가 실행한 명령어 조회
# lastcomm shutdown root  root가 shutdown 명령어를 실행한 기록 조회
70/77
© 2009 IBM Corporation
4 Security Health Check
 su 사용 현황 점검
–
–
–
첨부. AIX 보안 TIPS
1. 시스템 로그 점검
대상파일: /var/adm/sulog
형식: SU
날짜
시간
결과
터미널이름
사용자-새로운사용자 2. root 계정의 SUID, SGID 점검
파일 점검
SU 02/22 22:55 + pts/7 galois-root 3.취약한
galois
사용자가
root로 변환을 성공함
4. cron, at 점검
SU 02/23 05:25  pts/2 galois-root  galois
사용자가
5. 사용자 계정
점검 root
로 변환을 실패함
6. 네트워크 접근제어 점검
root로 su 시도가 실패한 내용 조회 방법:
# cat /var/adm/sulog|grep '\-root'|grep ' \- '
 로그인/로그아웃 현황 점검
–
–
–
–
71/77
대상파일: /var/adm/wtmp
점검방법: last 명령 사용
형식: 계정
터미널이름
접근IP
로그인날짜시간
로그아웃날짜및시간
galois
pts/7
localhost
Feb 22 22:55
still logged in.
점검방법
 root 로그인 현황 조회: last root
 특정시간에 로그인되어 있는 계정 조회: last MMDDhhmm (예, last 03141023)
© 2009 IBM Corporation
4 Security Health Check
첨부. AIX 보안 TIPS
 로그인 실패 현황 점검
–
–
–
대상파일: /etc/security/failedlogin
형식: 로그인시도계정
터미널이름
로그인시도날짜
로그인시도IP
root
pts/5
Feb 19 20:50
(9.187.217.134)
점검방법: who /etc/security/failedlogin | more
1. 시스템 로그 점검
2. root 계정의 SUID, SGID 점검
3. 취약한 파일 점검
4. cron, at 점검
5. 사용자 계정 점검
6. 네트워크 접근제어 점검
 현재 로그인 사용자 점검
–
–
–
대상파일: /etc/utmp
점검방법: who i
예: galois
pts/1
Feb 23 05:56
.
21224 (9.187.245.195)
* 만약 특정 사용자를 강제 로그아웃 시키고 싶으면 위에 있는 PID에 kill -9 실행
72/77
© 2009 IBM Corporation
4 Security Health Check
 root 소유의 SUID 파일 검사
–
–
–
첨부. AIX 보안 TIPS
1. 시스템 로그 점검
검사명령: find / -perm -4000 user 0 ls
2. root 계정의 SUID, SGID 점검
OS를 설치한 후,
3. 취약한 파일 점검
# find / -perm -4000 user 0 ls > /tmp/security/rootsuid-baseline
4. cron, at 점검
# chmod 600 /tmp/security/root-suid-baseline
5. 사용자 계정 점검
정기적으로,
6. 네트워크 접근제어 점검
# find / -perm -4000 user 0 ls > /tmp/security/rootsuid-current
# chmod 600 /tmp/security/root-suid-current
# diff /tmp/security/root-suid-baseline
/tmp/security/root-suid-current
를 실행해서 새로 추가된 root 소유의 SUID 점검
 root 소유의 SGID 파일 검사
–
–
73/77
검사명령: find / -perm -2000 user 0 ls
위와 같은 방법으로 정기적으로 점검함
© 2009 IBM Corporation
4 Security Health Check
첨부. AIX 보안 TIPS
 소유자가 없는 파일 점검
#
find
/
-nouser
1. 시스템 로그 점검
ls
2. root 계정의 SUID, SGID 점검
3. 취약한 파일 점검
 /etc/hosts.equiv 점검
#
grep
+
4. cron, at 점검
/etc/hosts.equiv
5. 사용자 계정 점검
 .rhosts 점검
6. 네트워크 접근제어 점검
#
find
/
-name
.rhosts
ls
#
find
/
-name
.rhosts
exec
.netrc
ls
grep
q
+

\;
-print
 .netrc 점검
#
find
/
-name
 world-writable 디렉토리 점검
#
find
/
-perm
-0007
type
d
ls
 world-writable 파일 점검
#
*
위
74/77
find
내용도
/
앞의
-perm
SUID
-2
점검과
type
같은
f
ls
방법으로,
baseline을
만든
후 정기적으로
변경사항을
점검하는
것을
권고함
© 2009 IBM Corporation
4 Security Health Check
첨부. AIX 보안 TIPS
 cron 점검
#
cronadm
cron
l
|
grep
v
1. 시스템 로그 점검
^#
2. root 계정의 SUID, SGID 점검
3. 취약한 파일 점검
 at 점검
#
cronadm
at
l
|grep
v
4. cron, at 점검
^#
5. 사용자 계정 점검
6. 네트워크 접근제어 점검
*
위
75/77
내용도
앞의
SUID
점검과
같은
방법으로,
baseline을
만든
후
정기적으로
변경사항을
점검하는
것을
권고함
© 2009 IBM Corporation
4 Security Health Check
 root이외의 UID 0
첨부. AIX 보안 TIPS
계정 점검
# awk -F: 'if ($3==0) print $1'
/etc/passwd|grep -v root
1. 시스템 로그 점검
2. root 계정의 SUID, SGID 점검
3. 취약한 파일 점검
4. cron, at 점검
 패스워드가 설정되어 있지 않은 계정 점검
#
awk F: if ($2 == )
5. 사용자 계정 점검
6. 네트워크 접근제어 점검
print $1 /etc/passwd
 계정, 패스워드, 그룹 파일이 정확한지 점검 및 교정
#
usrck y ALL
#
grpck y ALL
#
pwdck y ALL
76/77
© 2009 IBM Corporation
4 Security Health Check
 r-서비스 접근제어 점검
–
–
첨부. AIX 보안 TIPS
1. 시스템 로그 점검
root 및 각 사용자의의 home directory에 .rhosts 존재 여부 또는 + + 또는 + 등
록 여부 점검
2. root 계정의 SUID, SGID 점검
/etc/hosts.equiv 파일에 + 또는 + + 등록 여부 점검
3. 취약한 파일 점검
4. cron, at 점검
 FTP 서비스 접근제어 점검
–
/etc/ftpusers 파일에 root 및 시스템 관리 계정 (UID 0 ~
는지 점검
5. 사용자 계정 점검
6. 네트워크
접근제어
점검있
99)이
모두
등록되어
 root계정 telnet 금지 점검
–
77/77
/etc/security/user의 root stanza에 rlogin이 false로 설정되어 있는지 점검
© 2009 IBM Corporation