대학교 수업/사이버보안개론

2.2 정보보안개론 2단원 (2)

kicdor 2024. 9. 22. 19:18
반응형

4. 접근 제어
1) 접근 제어 (access control)
(1) 정의
: 인가자만 접근하도록 통제. (시스템 보안의 가장 기본적인 수단)
 
(2) 접근 제어 수단

  • IP
  • 서비스 포트

 
+) IP (Internet Protocol)
: PC, 모바일 등 정보통신 매체를 식별할 수 있는 것.
★☆★ (IP는 3계층 = network layer) ★☆★
 
+) 포트 ( port)
:모뎀과 컴퓨터 사이에 데이터를 주고받을 수 있는 통로
★☆★(port는 4계층 = transport layer)★☆★
 
+) 웹서버 포트 번호 80번
★☆★ http어쩌구 443번 ★☆★ >> 이게...뭔디...
 
+) ★접근 권한 통제

  • 임의적 접근 제어 (DAC, discretionary access control, 덱)

        : (주체,객체의 신분과 DAC 규칙에 따라) 객체에 대한 주체의 접근을 제어하는 기능

  • 강제적 접근 제어 (MAC, Mandatory access control, 맥)

        - 권한을 정책과 규칙에 따라 부여. (주체, 객체 모두 등급 매겨짐) 
        - 숫자가 낮을수록 중요 (1등급이 가장 중요)  
         - 예: 주체3급, 객체 2급  >>  주체는 객체의 파일을 쓸 수만 있음. 쓰기는 정보 유출이 안 되기 때문. (rwx = XOX)
         - MAC는 좋은데 사용되기 어려움. 모든 정보의 등급을 매겨야 함. (하나하나 통제)
         - OS 보안 제품 = Secure OS = MAC?

  • RBAC (Rule Based Access Control, 알백)

        - 역할별로 권한을 준다. (이 역할은 이것만 할 수 있어~)
 
 
2) 운영체제 접근 제어
(1) 기본적으로 접근 제어하는 서비스 (OS에 접근하는 기본적인 방법)
- 윈도우 : 터미널 서비스(Terminal service) (윈도우의 GUI)
- 유닉스 : 텔넷 (Telnet), SSH (Secure Shell)
 
+) GUI (Graphic User Interface)
: 사용자 - 컴퓨터 정보 교환 시, 그래픽을 통해 작업할 수 있는 환경.
 
+) 인터페이스 (Interface)
: 사물-사물 / 사물-사람 사이 소통을 위한 물리적 매개체 / 프로토콜
 
(2) 윈도우 OS 인터페이스 (접근 제어되어야 하는 서비스)
- 터미널 서비스   (사용포트 : 3389)  (특징 : 포트 변경 가능)
- GUI 관리용 툴                                 (특징 : VNC, Radmin 등)
 
(3) 유닉스 OS 인터페이스 (접근 제어되어야 하는 서비스)
- 텔넷        (사용포트 : 23)     (특징 : 암호화 안 한 세션  >> 스니핑(도청), 세션 하이재킹(가로채기)에 취약)
- SSH        (사용포트 : 22)      (특징 : SFTP) (사용하기 굳)
- XDMCP   (사용포트 : 6000)  (특징 : 유닉스용 GUI (XManager)) (사용하기 굳)
- FTP          (사용포트 : 21)      (특징 : 파일 전송 서비스) (스니핑(도청)에 취약) (접근 IP/PW 뺐길 수 있음)
 
(4) 접근 제어 정책
- 유닉스는 관련 데몬으로 IP 접근 제어. (TCPWeapper 등)
- 윈도우는 (시스템에 설치된) 방화벽으로 접근 제어. (IP 접근 제어 기능 없음) 
 
+) TCPWapper (Transfer Control Protocol Wapper)  (개념만 알고 있기)
- 유닉스 OS 자체가 가지고 있는 방화벽. (윈도우는 방화벽 자체가 있음)
- 공용 컴퓨터 프로그램. 유닉스 서버에서 침입 차단 서비스를 제공.
- (TCPWrapper를 통해) (유닉스) 텔넷, SSH, FTP  접근 제어 가능
- 동작원리 : TCPWrapper 설치 >> (inetd가) (TCPWrapper의) tcpd 데몬에 연결 넘겨줌 >> (tcpd 데몬이) 인가자 권한 확인 >> 해당 데몬에 연결 넘겨줌 (연결에 대한 로그 실시 가능)
- inetd데몬을 기반으로, TCPWrapper가 추가로 붙는 형식. 
 
+) inetd 데몬 (개념만 알고 있기)
- 슈퍼데몬
(여러 서비스를 한꺼번에 관리 >> 불필요한 리소스 사용 감소)  (서비스 요청이 적은 애들 모아서 관리하기 좋음)
- 클라이언트  >>  (inetd가 관리하는) OS 인터페이스 연결 요청  >>  해당 데몬 활성화  >> 서비스 수행.
- 포트를 가지고 관리를 한다.
 
+) 데몬 (daemon, resident program, 상주 프로그램) (유닉스) (개념만 알고 있기)
- (시스템 운영 관련 작업을) 백그라운드 상태로 동작/실행하는 프로그램. (백그라운드 프로세스)
- 예약된 시간 / 이벤트 요청이 발생 시, 지정된 서비스 실행
- (여러 프로세스 중에서) 지금 활성화 된 프로세스
- inetd, xinetd, systemctl 등 
 
+) XDMCP
- TCPWrapper의 통제를 받지 않는 데몬. 
- 접근 제어 설정 : 별도의 접근 제어 설정 파일로, 클라이언트 IP를 접근 제어 해야함.
 
+) 내 IP 확인하기
: 윈도우에 CMD 검색 >> 실행 >> ipconfig 명령어 입력

밑줄 친 부분이 ip주소

 
 
3) 데이터베이스 접근 제어
(1) 데이터베이스 (DB, Data Base)
: 조직의 영업, 운영 정보가 있는 핵심 응용 프로그램. 
 
(2) 오라클 데이터베이스 접근 제어
- 일정 수준 이상의 보안 정책 적용 가능 (다른 DB는 적절한 접근 제어 수단을 제공하지는 않을 수 있음.)
- 접근 제어 설정 파일 : $ORACLE_HOME/network/admin/sqlnet.ora
- IP 접근 허용 방법 : tcp.invited_nodes=(IP 주소 1, IP 주소 2, ... ,IP 주소 n)
- IP 접근 차단 방법 : tcp.excluded_nodes = (IP 주소)
 
(3) MySQL 데이터베이스 접근 제어
- (시스템에 설치된) 방화벽으로 접근 제어. (IP 접근 제어 기능 없음) 
- 권한 부여 방법 : GRANT [권한] ON [DB], [Table] TO [ID]@[IP] IDENTIFIED BY [PW]
- 윈도우 인증 모드, 혼합 인증 모드 (윈도우 인증 + SQL 인증) 지원. 
 
 
4) 응용 프로그램 접근 제어
(1) 접근 제어 제공
: IIS (Internet Information Services), NGINX
 
(2) 접근 제어 미제공
: SSL
 
+) SSL (Secure Socket Layer, 보안 소켓 계층)
- 인터넷 통신 규약 프로토콜 (인터넷에서 데이터를 안전하게 전송하기 위한 프로토콜.)
- 인터넷 프로토콜의 단점 (기밀성 유지 못함) 보완.
- 인터넷 상거래 개인정보, 신용카드 (credit card) 정보 보안 유지에 사용. (기밀성 유지 굳)
- 접근 제어 방법 : 클라이언트의 서버 인증서 이용. 
 
 
 
5) 네트워크 장비 접근 제어
: IP 접근 제어 가능.
( 관리 인터페이스 접근 제어, 네트워크 트래픽 접근 제어 (ACL이용) )
 
(1) 관리 인터페이스 접근 제어
: 유닉스의 접근 제어와 유사. (TCPWrapper 등 관련 데몬 이용)
 
+) 데몬 (daemon, president program, 상주 프로그램)
: (유닉스) 정해진 이벤트/시간 발생 시, 미리 저장된 내용을 백그라운드에서 동작/실행.
 
(2) 네트워크 트래픽 접근 제어 (ACL이용)
: 방화벽에서 수행하는 접근 제어와 유사. 
 
+) ACL (Access Control List, 접근 제어 목록)
: 보안 객체, 리소스, 요소와 관련된 권한이 있는 사용자 / 시스템 프로세스 목록. 시스템 관리자가 관리.
 


5. 권한 관리
1) 권한 관리
: OS 파일 / 디렉터리 접근 권한 관리, DB 정보 접근 권한 관리
 
2) 운영체제 권한 관리
(1) 윈도우 권한 관리
- NTFS (New Technology File System) 사용. (윈도우의 기본 파일 시스템)
- 파일은 기본 권한 설정 사용. (아마?)
- 그룹/사용자의 6가지 디렉터리 권한 설정 가능
(① 모든 권한, ② 수정, ③읽기 및 실행, ④ 디렉터리 내용 보기, ⑤ 읽기, ⑥ 쓰기) 
- 6가지 권한에 적용되는 규칙
( ① 접근 권한 누적, ② 파일 접근 권한이 디렉터리 접근 권한보다 우선, ③ '거부'가 '허용'보다 우선) 
 
(2) 유닉스 권한 관리
- 파일 권한 설정 방법 = 디렉터리 권한 설정 방법
- 열람 권한 : 임의의 디렉터리에서 ls-al 명령
 
+) ls-al (list)
: 윈도우의 dir 명령과 동일.
 
+) 유닉스 etc 항목 예시
( drw-r-xr-x 117 root root 12288 Jul 28 06:42 etc)
drw-r-xr-x  : 파일 종류, 권한
② root            : 파일 소유자
③ root            : 파일에 대한 그룹
 
+) drw-r-xr-x  (- rw- r-- r--)
( r = read = 4,  w = write = 2,  x = execute = 1 = 실행)
① -      : 파일, 디렉터리 종류. ( - = 일반 파일,  d = 디렉터리,  i = 링크(link) )
② rw-  : 파일, 디렉터리 소유자 권한 
③ r--  : 파일, 디렉터리 그룹 권한 
④ r-- : 파일, 디렉터리 제3의 사용자 권한 
(drw 디렉터리 읽고 쓰기,  r 소유자 read,  xr 그룹 execute and read,  x 제3자 execute) (아마...)
 
+) rwx rwx rwx
    111 010 000  >> (7 나는 모두 가능,  2 그룹은 쓰기만 가능,  0 제3자는 불가능)
 
 
3) 데이터베이스 권한 관리 (이런게 있다~하고 보기. 그냥 넘어감)
(1) 질의문 (query) 권한 관리
① DDL (Date definition Language, 데이터 구조 정의 질의문)
     : CREATE (DB 객체 생성),  DROP (삭제),  ALTER (기존 DB 재정의)
 
② DML (Data Manipulation Language, DB 운영 / 사용 질의문)
     : SELECT (Table, View 선택),  INSERT (데이터 입력),  UPDATE (데이터 수정),  DELETE (데이터 삭제)
 
③ DCL (Data Control Language, 권한 관리 질의문)
     : GRANT (DB 객체에 권한 부여),  DENY (사용자 해당 권한 금지),  REVOKE (DB 객체 권한 취소) 
 
+) DCL에 의한 권한 부여 구조 
(DCL에 의해 DDL, DML grant, deny 가능)

출처 - ≪정보 보안 개론≫ - 한빛 아카데미

 
+) ★데이터베이스

  • black list = accept 기반
  • white list = deny 기반

 
(2) 뷰 권한 관리
+) 뷰 (view)
: 가상 테이블. (참조 테이블 각 열에 대해 사용자 권한 설정이 불편해서 개발)
(예시 : 테이블에 이름, 주소, 번호 있음. 근데 주소 권한 제한 필요 >> 한명 한명 설정 필요 >> 뷰에는 이름, 번호만 뜸)
 
 
4) 응용 프로그램 권한 관리
- 응용 프로그램 마다 조금씩 다름. (공통적으로 관리자 계정, 일반 사용자 계정으로 나뉨)
- 응용 프로그램 자체의 실행 권한이 더 중요하기도 함. (계정 권한 관리보다)
- 공격자가 취약점을 통해 해당 프로세스 권한 얻을 수 있음
>> 실행 프로세스 권한 별도로 만듦 (윈도우IIS), 제한된 계정 권한 사용 (유닉스) (nobody 등)

반응형