세션 관리와 접근제어

slee2·2021년 9월 9일
0

보안

목록 보기
4/8

세션의 의미

  • 사용자와 시스템 사이 또는 두 시스템 사이의 활성화된 접속
  • 세션의 지속적인 이증 문제

쿠키 vs 세션

https://interconnection.tistory.com/74

쿠키와 세션의 차이점

  • 가장 큰 차이점은 사용자의 정보가 저장되는 위치. 때문에 쿠키는 서버의 자원을 전혀 사용하지 않음. 세션은 서버의 자원을 사용함.
  • 보안 - 쿠키 < 세션
  • 요청 속도 - 쿠키 > 세션 (세션은 서버의 처리가 필요하기 때문)

접근 제어

접근 제어의 의미

  • 접근 제어는 적절한 권한을 가진 인가자만 특정 시스템이나 정보에 접근하도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단.
  • 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단 IP서비스 포트.

운영체제의 접근제어

  • 일반적으로 사용되는 관리 인터페이스
운영체제서비스 이름사용 포트특징
유닉스텔넷23암호화되지 않음
유닉스SSH22SFTP 기능
유닉스XDMCP6000유닉스용 GUI
유닉스FTP21파일 전송 서비스
윈도우터미널 서비스3389포트 변경 기능
윈도우GUI 관리용 툴VNC, Radmin 등
  • Inetd 데몬은 클라이언트로부터 ineted가 관리하는 텔넷이나 SSH, FTP 등에 대한 연결 요청을 받은 후 해당 데몬을 활성화하여 실제 서비스를 하는 것으로 데몬과 클라이언트의 요청을 연결시켜주는 역할을 함.
  • TCPWrapper가 설치되면 inetd 데몬은 TCPWrapper의 tcpd 데몬에 연결을 넘겨줌. tcpd 데몬은 접속을 요구한 클라이언트에 적절한 접근 권한이 있는지 확인한 후 해당 데몬에 연결을 넘겨주며 이때 연결에 대한 로그를 실시함.

데이터베이스의 접근제어

  • 오라클은 $ORACLE_HOME/network/admin/sqlnet.ora 파일에서 설정
  • 200.200.200.100 과 200.200.200.200 이라는 두 IP의 접근을 허용하고 싶으면 다음과 같이 추가
    tmp.invited_nodes=(200.200.200.100, 200.200.200.200)
  • MS-SQL은 IP에 대한 접근 제어를 기본으로 제공하지 않으므로 방화벽을 통해 IP 접근제어를 수행

응용 프로그램의 접근 제어

  • 응용 프로그램의 목적과 역할에 따라 접근 제어를 제공하는 경우도 있고 그렇지 않은 경우도 있음.
  • 웹 서비스를 제공하는 IIS와 아파치 역시 IP에 대한 접근 제어를 제공.

네트워크 장비의 접근 제어

  • 네트워크 장비에서 수행하는 IP에 대한 접근 제어로는 관리 인터페이스의 접근 제어와 ACL(Access Control List)을 통한 네트워크 트래픽 접근 제어가 있음.
  • 네트워크 장비의 관리 인터페이스에 대한 접근 제어는 유닉스의 접근 제어와 거의 같음.
  • ACL을 통한 네트워크 트래픽에 대한 접근 제어는 방화벽에서의 접근 제어와 기본적으로 같음.

권한 관리

운영체제의 권한 관리

윈도우의 권한 관리

NTFS 권한의 종류

  • 모든 권한, 수정, 읽기 및 실행, 디렉터리 내용보기, 읽기, 쓰기

유닉스의 권한 관리

drwxr-xr-x 5 slee2 2021_seoul 170 Sep 6 09:25 cpp module 00
파일의 종류와 권한 : rwxr-xr-x
파일의 소유자 : slee2
파일에 대한 그룹 : 2021_seoul

파일의 종류와 권한

파일소유자그룹사용자
drwx-xr-x

chmod 숫자 파일 로 설정가능

데이터베이스의 권한 관리

질의문에 대한 권한 관리

DDL(Data Definition Language)

  • 데이터 구조를 정의하는 질의문. 데이터베이스를 처음 생성하고 개발할 때 주로 사용하고 운영 중에는 거의 사용하지 않음.
  • CREATE: 데이터베이스 객체 생성.
  • DROP: 데이터베이스 객체 삭제.
  • ALTER: 기존의 데이터베이스 객체를 다시 정의.

DML(Data Manipulation Language)

  • 데이터베이스의 운영 및 사용과 관련해 가장 많이 사용하는 질의문으로 데이터의 검색과 수정 등을 처리.
  • SELECT: 사용자가 테이블이나 뷰의 내용을 읽고 선택.
  • INSERT: 데이터베이스 객체에 데이터 입력.
  • UPDATE: 기존 데이터베이스의 객체에 있는 데이터 수정.
  • DELETE: 데이터베이스 객체에 있는 데이터 삭제.

DCL(Data Control Language)

  • 권한 관리를 위한 질의문.
  • GRANT: 데이터베이스 객체에 권한을 부여.
  • DENY: 사용자에게 해당 권한을 금지.
  • REVOKE: 이미 부여된 데이터베이스 객체의 권한을 취소.

-DDL과 DML은 DCL에 의해 허용(grant) 또는 거부(deny)됨.

  • DCL에 의한 권한 부여 또는 회수 과정

뷰에 대한 권한 관리

뷰는 각 사용자에 대해 참조 테이블의 각 열에 대한 권한을 설정하는 것이 불편해서 만든 가상 테이블

[뷰를 사용하지 않은 경우의 테이블에 대한 접근제어]

[뷰를 사용하는 경우의 테이블에 대한 접근제어]

응용프로그램의 권한 관리

  • 응용 프로그램은 응용 프로그램 내의 권한 관리보다 응용 프로그램 자체의 실행 권한이 더 중요함.
  • 응용 프로그램은 자신을 실행한 계정의 권한을 물려받으므로 보안상에 문제가 있는 취약한 응용 프로그램의 경우 해당 프로그램을 실행한 계정의 권한이 악용되는 문제가 발생.
  • 윈도우의 IIS에서는 실행 프로세스 권한을 별도로 만들어 사용.
  • 유닉스에서는 nobody와 같이 제한된 계정 권한을 사용.

0개의 댓글