Summry
send me email if you have any questions.
1.1 정보보호란
정보보호란 기업 및 개인의 정보 자산을 지키는 것으로 정보 자산이란 고객 정보, 영업 정보, 지적 재산 관련 정보, 인사 정보, 재무 정보 등이 있다.
1.1.1 정보보호의 3대 요소
- 기밀성(Confidentiality)
- 인가된 사람이나 프로그램만이 권한의 범위 내에서 정보에 접근할 수 있도록 하는 것
- 기밀성을 보장하기 위해서는 인증을 통한 접근 권한 설정 등의 방법을 사용한다.(암호화)
- 무결성(Integrity)
- 정보 자산이 손상되지 않았는가?, 일관성, 완전성을 유지하는가? 즉, 데이터의 정확성과 일관성을 유지하고 보증하는 것
- 무결성을 보장하기 위해서는 암호화 도입, 디지털 서명 이용(해시 등)의 방법이 있다.
- 가용성(Availability)
- 사용자가 언제든지 정보 자산에 접근할 수 있는 것
- 가용성을 보장하기 위해서는 다중화 등을 통한 시스템 자원(CPU 처리 능력, 메모리 대역폭)확보 등의 방법이 있다.
1.1.2 보안과 위협
- 인적 위협
- 사회 공학(Social Engineering)
- 타인의 비밀번호를 훔쳐보거나 직원을 속여 기밀 정보를 탈취하는 등 (IT 기법을 사용하지 않고) 아날로그적인 수법을 이용하여 정보 수집 활동을 하는 것
- 사회 공학(Social Engineering)
- 기술적 위협
- 기술을 악용하여 발생하는 위협
- 바이러스 - 프로그램을 감염시켜 정보를 파괴하고, 다른 컴퓨터도 감염시키는 소프트웨어
- 웜 - 독자적으로 자기 증식을 하며, 파괴 활동을 하는 소프트웨어
- 봇 - 제3자가 컴퓨터를 제어하여 좀비 PC를 만들 수 있는 바이러스의 일종
- 트로이 - 목마 일반 프로그램으로 가장하여 컴퓨터에 침입한 뒤, 파괴/정보 수집 활동을 하는 프로그램
- rootkit - 컴퓨터에 침투한 후, 공격자가 특정 권한 획득을 위하여 사용하는 프로그램
- 스파이웨어 - 컴퓨터에 존재하는 정보를 빼내는 악성 프로그램
- 멀웨어 - 바이러스와 웜 등 악성코드를 통칭하는 용어
- 기술을 악용하여 발생하는 위협
- 물리적 위협
- 자연재해와 직접 파괴 등으로 시스템에 물리적 손상을 가하는 것
1.2 리눅스 서버 보안의 기본 개념
1.2.1 물리적 보안
서버 자체를 도난당하거나 저장장치만을 훔쳐가는 등의 사고가 발생할 수 있다.
대응방안
- 출입 통제가 잘 된 서버실에 설치
- 출입 관리 엄격
- 서버 자체에도 물리적인 자물쇠로 잠금
- 이동식 미디어로 부팅하여 저장 매체에 접근하는 것 방지: BIOS에 비밀번호 설정
1.2.2 파티셔닝
디스크 파티션을 어떻게 나눌 것인지 검토가 필요하다.
- 사용자의 파일 시스템: 쿼터를 설정할 수 있도록 별도의 파티션 지정 → 사용자가 디스크 공간을 모두 사용하는 것 방지
- 쿼터 (Quota): 사용자 혹은 그룹별로 디스크 사용량 제한
- 변경해서는 안 되는 데이터가 저장된 파일 시스템: 읽기만 가능하도록 설정 → 파일 변조 및 파괴 행위 억제
- 설정 예: mount 명령이나 /etc/fstab 파일에서 마운트 옵션 “ro” (read only) 지정
1.2.3 설치할 소프트웨어
설치한 업데이트가 많은 경우 잠재적인 취약점이 증가할 수 있고 업데이트 빈도 또한 증가하기 때문에 시스템에 소프트웨어는 필요한 소프트웨어만 최소 설치하는 것이 바람직하다.
1.2.4 부트로더 설정
부트로더에 비밀번호를 설정하여 시스템 부팅 설정을 변경할 수 없도록 하는것이 바람직하다.
예를들어 공격자가 부팅 설정을 변경하여 단일 사용자 모드로 시작하는 경우 비밀번호 없이 root 권한 취득이 가능하다.
1.2.5 소프트웨어 업데이트
배포판을 구성하는 소프트웨어의 경우 수시로 핫픽스와 버그 수정이 이루어지기 때문에 항상 최신 상태를 유지하기 위해 정기적인 업데이트가 필요하다.
1.2.6 파일과 파일 시스템 보안
파일과 디렉터리에 적절한 권한을 설정하여 시스템과 정보의 안전성을 확보하여야 한다.
- 중요한 데이터가 저장된 파일이나 파일 시스템은 암호화를 고려한다.
1.2.7 사용자 보안
root 계정은 복잡한 비밀번호로 설정하고 비밀번호를 아는 사람을 최소화 하도록 한다.
또한 root 계정이 직접 로그인 가능한 상태에서 계정의 패스워드가 노출된 경우 시스템 전체 권한을 뺏긴 것과 같기 때문에 root 사용자로 로그인이 불가능하도록 설정한다.
- root 직접 로그인 대신 sudo 명령을 사용하여 root 권한을 적절히 사용
1.2.8 침입 대비
시스템 침입을 100% 막는 것은 불가능하기 때문에 침해 사고가 발생한 경우의 대책을 마련해 두어야 한다.
1.2.9 시스템 로그 감시
보안뿐만 아니라 시스템 상태를 파악하기 위해 시스템 로그 모니터링 및 분석이 필요하다.
1.2.10 침입 탐지
침입자가 시스템에 무단으로 침입한 경우 시스템 관리자가 즉시 알아채는 것은 매우 어렵다. 이는 침입자 대부분이 흔적을 은폐하기 때문에 바로 이상현상을 알아채기 어렵다.
침입탐지시스템(IDS, Intrusion Detection System)은 시스템 침입이나 파일 조작 등을 자동으로 감지하기 때문에 최대한 빠른 대응 가능하다.
SELinux는 침해사고 발생 시 피해를 최소한으로 막을 수 있는 구조로 사용자와 파일, 프로세스별 권한을 더 세분화하여 관리한다.