개발자모드

접근제어(Access Controll)

rrooooo 2024. 12. 9. 21:18

1. **강제적 접근통제 (MAC, Mandatory Access Controll)**
    - **특징**
        - **시스템 주도적 통제**
            - 사용자나 관리자도 시스템의 접근 권한을 변경할 수 없음
            - 시스템이 정해놓은 규칙에 따라 접근이 제어됨
        - **정해진 보안 정책**
            - 보안 정책에 따라 각 객체(파일, 디렉토리 등)와 주체(사용자, 프로세스) 간의 접근 권한이 정해짐
        - **보안 등급**
            - 각 객체와 사용자는 보안 등급(Security Clearance)을 부여 받고, 이 등급에 맞게 접근이 제어됨
            - 예) 민감한 정보에는 ‘기밀’, ‘비밀’, ‘일반’과 같은 레벨이 있을 수 있음
    - **장점**
        - 높은 보안성, 중요한 시스템에서는 꼭 필요함
        - 정보 유출을 최소화하고, 중요한 데이터의 보호를 강화할 수 있음
    - **단점**
        - 유연성이 부족하며, 관리가 복잡함
        - 사용자가 직접 권한을 변경하거나 설정할 수 없음
    
    ---
    
2. **규칙기반 접근통제 (Rule-based Access Controll)**
    - **특징**
        - **규칙 기반**
            - 접근을 허용하거나 차단하는 규칙을 설정하여, 해당 규칙에 따라 자동으로 접근이 제어됨
        - **정적 규칙 적용**
            - 규칙은 사용자의 권한이나 역할에 관계없이 시스템에 의해 사전에 정의됨
        - **유연성 부족**
            - 주로 네트워크 장비나 방화벽 등에서 사용되며, 특정 IP나 포트, 시간대 등을 기준으로 규칙을 설정함
    - **장점**
        - 간단하고 명확한 규칙으로 빠르게 접근을 제어할 수 있음
        - 주로 외부 네트워크 보안에 유용
    - **단점**
        - 유연성이나 세밀한 제어에는 한계가 있음
        - 규칙 변경 시 전체 시스템에 영향을 미칠 수 있음
    
    ---
    
3. **임의적 접근통제 (DAC, Discretionary Access Controll)**
    - **특징**
        - **사용자 주도적 통제**
            - 파일의 소유자가 다른 사용자에게 해당 파일에 대한 접근 권한을 부여하거나 차단할 수 있음
        - **권한 위임**
            - 사용자는 다른 사용자에게 자신이 가진 권한을 위임할 수 있음
        - **소유자 중심**
            - 자원(파일 등)의 소유자가 자원을 접근을 제어함
    - **장점**
        - 높은 보안성, 중요한 시스템에서는 꼭 필요함
        - 정보 유출을 최소화하고, 중요한 데이터의 보호를 강화할 수 있음
    - **단점**
        - 유연하고 사용자 친화적임
        - 사용자가 자신의 자원을 관리하고 공유할 수 있어 권한 관리가 편리함
    
    ---
    
4. **역할기반 접근통제 (RBAC, Role-based Access Controll)**
    - **특징**
        - **역할 기반**
            - 사용자는 특정 역할(Role)을 부여받고, 그 역할에 따라 권한이 자동으로 부여됨
            - 예) 관리자, 사용자, 게스트와 같은 역할이 있음
        - **권한의 집중 관리**
            - 역할에 기반하여 권한을 집중적으로 관리할 수 있음. 역할별로 필요한 권한만 부여하므로 관리가 용이
        - **역할과 권한의 분리**
            - 사용자에게 역할을 부여하고, 그 역할에 대한 권한을 설정하는 방식임
    - **장점**
        - 역할별로 명확한 권한이 부여되어 보안성이 높음
        - 대규모 시스템에서 효율적으로 관리할 수 있음
        - 유지보수와 권한 관리가 용이함
    - **단점**
        - 초기 설정이 복잡할 수 있으며, 역할과 권한에 대한 명확한 정의가 필요
        - 역할을 너무 세분화하면 관리가 어려워질 수 있음