340 likes | 539 Views
6. 보안. 1.0 2001. 02. 22 백 정흠. 개 요. 침입방지 이상의 의미를 내포 잠재적 침입 가능성에 대한 사용자 권리 확인 다른 관리작업과 연관. 목 차. 과거 Unix 보안 문제 보안문제 (what, how) 사용자 인증 ( 패스워드 ) 파일과 파일시스템의 보호 문제 발견. 1. 과거 Unix 보안 문제. Sendmail SUID root 로서 실행 : root 권한 획득가능 Finger 사용자의 정보 누출 Passwd – f. 2. 보안 문제.
E N D
6. 보안 1.0 2001. 02. 22 백 정흠
개 요 • 침입방지 이상의 의미를 내포 • 잠재적 침입 가능성에 대한 사용자 권리 확인 • 다른 관리작업과 연관 보안
목 차 • 과거 Unix 보안 문제 • 보안문제(what, how) • 사용자 인증(패스워드) • 파일과 파일시스템의 보호 • 문제 발견 보안
1. 과거 Unix 보안 문제 • Sendmail • SUID root로서 실행 : root권한 획득가능 • Finger • 사용자의 정보 누출 • Passwd –f 보안
2. 보안 문제 • 훌륭한 보안 시스템이 갖추어야 할 정책 • 확실한 보안을 위해 사용자들과 그룹은 어느 정도 불편을 감수해야만 한다. • 최악의 상황에 대비할 계획과 준비가 필요하다. • Root계정 권한의 터미널을 방치하지 말아라. • 훌륭한 시스템 보안은 시스템 관리 습관에서 비롯되는 경우가 많다. 보안
보안 문제(계속) • 보안 정책과 계획 • 좋은 시스템 보안 계획 • 누구에게 계정을 줄 것인가? • 패스워드의 구성조건, 전화상 언급 금지 • 로컬 컴퓨터의 접근, 사용 허가에 대한 고려 • 계정을 분실한 사용자의 조건 • 컴퓨터 상에서 허가할 작업들 • 시스템 관리자에 의한 계정 감시 • 출력된 결과물의 처리 방침(?) 보안
보안 문제(계속) • UNIX의 방어전선(2가지 방어개념) • 허가 받지 않은 사용자의 접근을 막기위한 패스워드 • 허가 받은 사용자만이 접근할 수 있게 해주는 파일 접근 모드(퍼미션) • 그 외 • 물리적 보안 • 데이터 암호화 • 백업 보안
보안 문제(계속) • 버전별 보안 장치 보안
보안 문제(계속) • audit 작동 : The audit command is the general administrator’s interface to maintaining the audit trail. log auditd audit conf 보안
사용자 인증 • 패스워드 난이도 점검 • 난이도 점검 이유 • 낮은 난이도의 패스워드는 노출되기 쉽다. • 알려진 방법으로 알아 낼 수 있다. • 패스워드 제거대상 • 모든 소문자나 알파벳 패스워드 • 로그인 이름과 동일한 패스워드 • GECOS필드와 동일, 변형 패스워드 • 온라인 사전상에 존재하는 내용 • 키보드상에 추측 가능한 패스워드 보안
사용자 인증(계속) • SCO UNIX 패스워드 문제 점검 • goodpw 유틸리티로 강력한 패스워드 점검 • goodpw가 점검하는 내용 • 패스워드 내부 구조와 문자의 내용 • 패스워드 변환을 점검 • 패스워드 변환은 최초의 패스워드와 불일치 • goodpw의 기본적 작동 : /etc/fefault/paswd • GOODPW, DESCRIBE, SUMMARY, ONETRY, CHECKDIR 보안
사용자 인증(계속) • 패스워드 히스토리 리스트 • 기 사용된 패스워드 재 사용을 방지하기 위해 리스트를 작성 • 추가 로그인 인증 옵션 • 스마트 카드 • 두 번째 인증 프로그램 • 다이얼 업 패스워드 • 다른 로그인 기반의 계정제어 • 계정종료 기간, 로그인 실패 수 제한 보안
Root권한 위험인물 파일 시스템 파일과 파일시스템의 보호 • 개요 • root권한을 획득하려는 위험인물은 직접적으로 그 권한 획득이 어렵기 때문에 파일 시스템을 이용한 간접방법을 이용해 슈퍼유저 상태를 얻기 위해 노력한다. 보안
파일과 파일시스템의 보호(계속) • 이런 간접 우회적인 침입을 피하기 위해 파일시스템은 잘 보호 되어야 한다. • 검색 패스 문제 • ?? • 작은 실수가 큰 구멍을 만든다 • 소유권 설정의 중요성 • 시스템상의 중요한 파일 보호 • 시스템상의 중요한 디렉토리 보호 보안
파일과 파일시스템의 보호(계속) • 효과적인 그룹의 사용 • 그룹은 필요로 하는 공유 파일과 원하지 않는 접근으로부터 파일 보호에 대한 구분에 따라 정의 되어야 한다. • Setuid와 Setgid접근 모드 • # chmod u+s file(s) SUID access • # chmod g+s file(s) SGID access • # ls –lo /bin/passwd • -rws-r-xr-x 1 root 55552 Jan 29 … 보안
파일과 파일시스템의 보호(계속) • 프리웨어 소프트웨어 사용 시 위험 최소화 • 특권을 없는 사용자로 테스트. • 항상 소스코드에서 프로그램을 생성한다. • 압축 해제 시 보안이 되어있는 폴더에 풀어라. • 구성 파일의 파일 형태를 조사하라. • 소스 코드를 조사하라. • … 보안
파일과 파일시스템의 보호(계속) • 접근 제어 목록(AIX) • attributes : SUID와 같은 특별한드 • base permissions 일반 UNIX 파일 모드 • owner(chavez) : rw- 사용자 접근 • group(chem) : rw- 그룹 접근 • others : r—그 외의 접근 • extended permissions 상세화 확장 허가 • enabled • specify r-- u:harvey • deny -w- g:organic • permit rw- u:hill, g:bio 보안
파일과 파일시스템의 보호(계속) • HP-UX의 접근 제어 목록 • 암호화 • 몇몇 형태의 파일을 위한 보호의 다른 방법제공 • 다음과 같은 상황에서의 잠재적 보호제공 • root계정으로 파일을 변경, root와 비슷한 작업수행 • 디스크나 백업 테이프를 훔쳤을때 • 네트워크를 통한 파일 요구 • crypt제공 보안
파일과 파일시스템의 보호(계속) • SCO UNIX 사용자 특권 • 슈퍼유저 접근에서부터 어떠한 접근을 허용하지 않는 사용자 범위를 위한 특권의 여러 가지 계층을 제공하는 기능을 포함하고 있다. • 커널 권한 • chown, chmodsuigid, execsuid • 서브 시스템 권한 • auth, backup, cron, lp,mem, root, terminal 보안
문제 발견(계속) • 패스워드 파일 문제(계정의 정기적 점검) • 패스워드가 없는 계정 • grep ‘^[^:]*::’ /etc/passwd • root::NqI27UZyZoq3.:0:0:SuperUser:/:/bin/csh • demo::7:17:Demo User:/home/demo:bin/sh • ::0:0::: • UID가 0인 root가 아닌 다른 계정 • GID가 0인 root가 아닌 다른 계정 • 알지 못하는 계정의 추가와 삭제 • 파일 고유의 소유권과 허가 • Ex> grep ‘^[^:]*::’ /etc/passwd • Re1> root::NqI27UZyZoq3.:0:0:SuperUser:/:/bin/csh • Re2> demo::7:17:Demo User:/home/demo:bin/sh • Re3> ::0:0::: 보안
문제 발견(계속) • 패스워드 파일의 복사본은 자유로운 위치에 보안에 관계되는 파일에 혼돈을 주는 이름 선택 • 패스워드 파일의 소유권과 퍼미션을 정기적으로 검사 Good : /usr/local/bin/old/opg Bad : /etc/adm/passwd.copy 보안
문제 발견(계속) • Crack를 사용하여 좋지 않은 패스워드 찾기 • 추측 가능한 온라인 사전에 있는 단어를 패스워드로 사용하였는지를 알아보는 패키지 • 파일 시스템 모니터하기 • 파일 내용을 포함해 파일 자체와 저장되어있는 디렉토리 속성을 검사하는 것도 중요 • 중요한 시스템 파일의 소유권과 보호에 대한 감사 • 중요한 디렉토리의 소유권과 보호에 대한 감사 • 중요한 시스템 바이너리 파일의 완결성 증명 • 확실한 파일의 존재 유무의 검사( /.rhosts ) 보안
문제 발견(계속) • SUID와 SGID 파일 검색 • 변경 날짜와 inode수치의 검사 • 시스템 파일에 대한 더 신중한 검사를 위해 • ls -lsid • Checksums의 계산 • 파일의 내용이 변경되었는지를 결정하는 도구 • 테이프로부터 디스크에 쓰여진 파일의 에러 유무 • 때때로 fsck를 수행 • check and repair file systems 보안
문제 발견(계속) • 보안 감시 자동화 • TCB (Trusted computing base)검사 • 정의 : 보안이 확실한 신뢰와 연속적인 무결성을 보장하는 능력을 포함하고 있는 시스템 환경 • Tripwire를 이용한 시스템 무결성 검사 • Cops를 통한 일반적인 시스템 보안 감시 보안
문제 발견(계속) • Tripwire를 이용한 시스템 무결성 검사 • COPS를 통한 일반적인 시스템 보안감시 보안
문제 발견(계속) • 문제를 발견했을 경우 무엇을 해야 하는가? • 모든 악성의 사용자의 프로세스를 제거하기 위해 시스템을 즉시 단일 사용자 모드로 재부팅 • 복구할 수 없는 파일과, 앞으로 생길 문제의 조사를 위해 로그와 계정파일을 백업 • 시스템 활동 감시 • 시스템에서 활성화 된 프로세스를 정기적으로 감시하는 것은 보안 위협의 틈을 줄이는 방법 • ps를 사용 보안
문제 발견 보안
문제 발견(계속) • 실패한 로그인 시도를 모니터하기 • 침입하려는 시도 • /etc/security/user의 unsucessful_login_count조사. • su 로그 파일 • 슈퍼 유저가 되려고 했던 시도를 기록하는 기법 제공 • 문제 발생시 사용자 추적 유용 • 루트 계정의 히스토리 • 루트 자격으로 한 모든 정보를 저장 보안
문제 발견(계속) • BSD 형식의 에러 로깅 구성 • 메시지 저장 구조 시스템 프로세스 참조 /etc/syslog.conf syslogd 목적지 보안
문제 발견(계속) • facility.level destination • facility : 메시지를 보내는 시브 시스템 이름 • level : 메시지의 안전성 단계 • destination : 메시지를 받는 대상 • facility • kern : 커널 • mail : 메일 서브 시스템 • lpr : 프린팅 서브 시스템 • level • emerg : 시스템 패닉(공항 상태??) • alert : 에러경고 • crit : critical error 보안
문제 발견(계속) • 사용자의 활동 상황 추적 유틸리티 보안
문제 발견(계속) 보안
문제 발견(계속) • 이벤트 감사 시스템 • 시스템 활동 상황 추적 • 표준 UNIX 제공 tool보다 유용 • 감사 설정단계 • 추적하고 싶은 이벤트 선택(system call에서 정의) • 모니터 하고 싶은 대상(파일)을 선택한다. • 이벤트와 대상을 클래스화 해라. • 감사대상 사용자 목록과 시스템 디폴트를 지정하라. • 감사 단서 자료 파일들의 위치를 결정하라. • 부팅과 연관하라. 보안
문제 발견(계속) • 크랙커들은 읽을 수 있다. • 침입자 접근 범위 밖으로 검사도구와 자료파일을 가지는 것이 매우 중요하다. • 중요한 유틸리티들의 복사본을 백업. • 정확한 시스템 구성을 기술하는 자료 파일을 온라인 시키는데 주의를 기울여라. • 시스템 로그 파일들은 온라인에 있어서 제한적 퍼미션과 빈번한 백업을 필요로 한다. 보안