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