본문 바로가기

정보보안/시스템 보안

(14)
[시스템 취약점] 윈도우 서비스 & 로그 관리 서비스 관리 ① 하드디스크 기본 공유 제거- 윈도우는 프로그램 및 서비스를 네트워크나 컴퓨터 환경에서 관리하기 위해 기본 공유 항목을 자동으로 생성한다.- 하드디스크 기본 공유인 C$,D& 등을 제거하지 않으면 기본 공유 폴더를 통해 비인가자가 하드디스크 내의 폴더나 파일에 접근한거나 바이러스가 침투하는 경로가 될 수 있다. 그러무로 기본 공유는 제거한다.[보안설정](1) 윈도우 하드디스크 공유 파일- 하드디스크 기본 공유 : C$, D$- 원격 관리 및 IPC 기본 공유 : ADMIN$, IPC$- 공유 이름 뒤에 '$' 기호는 숨겨진 기호를 의미(2) 하드디스크 기본 공유 설정 확인 1) (GUI) 제어판 > 관리도구 > 컴퓨터관리 > 공유폴더 > 공유를 선택하여 하드디스크 기본 공유 설정 확인   ..
[시스템 취약점] 파일 및 디렉터리 관리 UNIX/Linux 파일 및 디렉터리 관리 ① root 홈, 패스 디렉터리 권한 및 PATH 설정- root 계정의 PATH 환경변수에 '.'(현재 디렉터리 지칭)이 포함되어 있으면 root 계정으로 접속한 관리자가 의도하지 않은 현재 디렉터리에 있는 관리자 명령어가 실행될 수 있다.- 즉, '.'이 /usr/bin, /bin, /sbin 등 관리자 명령어들이 있는 디렉터리보다 우선하여 PATH 환경변수에 있으면 현재 디렉터리에 변조된 관리자 명령어를 악의적으로 삽입하여 명령어 입력 시 변조된 명령어가 실행될 수 있다.더보기+ [시스템에서 사용자가 명령 실행 시 명령어를 찾는 절차](1) PATH 환경변수에 설정된 경로에 따라 순서대로 명령어를 찾음(2) 명령어가 있으면 실행 권한 확인(3) 실행 권한이..
[시스템 취약점] OS별 계정 관리 UNIX/Linux 계정 관련 취약점 ① root 이외의 UID가 0 금지 - root(uid=0) 계정과 동일한 uid를 가진 계정 존재 시, 일반 사용자 계정도 root 권한으로 시스템 접근이 가능하므로 uid 주기적 점검 필요[문제상황]# useradd -o 옵션을 통해 root 계정과 동일한 Uid=0인 일반사용자 holly 생성useradd -o -u 0 -g 0 -d /home holly # 생성한 일반 사용자 계정 holly 확인id hollyuid=0(root) gid=0(root) groups=0(root)cat /etc/passwd...holly:x:0:0::/root:/bin/bash# 생성한 일반사용자 holly로 원격 터미널 접속# holly 계정으로 telnet 접속 시 root..
[UNIX/Linux 기본학습] 시스템 해킹 버퍼 오버플로우 공격Buffer Over Flow① 개념 : 연속된 메모리 공간을 사용하는 프로그램에 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생- 스택 버퍼 오버플로우 : 스택은 함수 처리를 위해 지역변수 및 매개변수가 위치하는 메모리 영역을 말한다. 스택에 할당된 버퍼들이 문자열 계산 등에 의해 정의된 버퍼의 한계치를 넘는 경우 발생하며, 복귀주소(Return Address)를 변경해 공격자가 원하는 임의 코드를 실행한다.- 힙 버퍼 오버플로우 : 힙은 사용자가 동적으로 할당하는 메모리 영역(malloc()과 같은 메모리 할당 함수)이다. 힙에 할당된 버퍼들에 문자열 등이 저장될 때, 최초 정의된 힙의 메모리 사이즈를 초과하여 문자열 등이 저장되는 경우 버퍼 오버플로우가 발..
[UNIX/Linux 기본학습] 서버보안4 시스템 로그 설정과 관리① 로그저장경로리눅스유닉스/var/log//etc/syslog.conf 파일에서 시스템 로그 파일 위치 정의 /var/admin/ ② 주요로그파일파일명내용리눅스(utmp)유닉스(utmpx)명령어경로명령어경로utmp(x)현재 로그인한사용자의 상태정보- binary 파일"w""who""finger"/var/run/utmp"w""who""finger"/var/admin/utmpxwtmp(x)사용자의 성공한로그인/로그아웃 정보,시스템의 Boot/Shutdown 정보에 대한 히스토리- binary 파일"last [계정명]"/var/log/wtmp"last [계정명]"/var/adm/wtmpxlastlog가장 최근에(마지막으로)성공한 로그인 기록- binary 파일"lastlog -u [계정..
[UNIX/Linux 기본학습] 서버보안3 PAM장착형 인증 모듈(Pluggable Authentication Modules) PAM 이란?① 개념 리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증(Authentication)을 위해 제공되는 다양한 인증용 라이브러리 ② 특징리눅스는 로그인이나 Telnet,FTP 같은 각종 프로그램 사용 시 PAM을 통해 인증을 처리한다. 프로그램 개발 시 인증 모듈을 별도 개발하지 않고 플러그인 방식의 PAM을 사용함으로써 인증 방식 및 정책의 유연성과 중앙 통제가 가능하다는 장점이 있다.리눅스 시스템의 사용자 인증의 핵심각 응용프로그램에 대한 인증 형태, 사용자 권한, 접근 자원 등을 선택할 수 있다.기존 응용프로그램을 수정할 필요 없이 인증 부분을 독립적이고 선택적으로 새롭고 다양한 인증 서비스 모듈을 ..
[UNIX/Linux 기본학습] 서버보안2 네트워크 보안SSH(Secure Shell)보안쉘① 개념 : 암호통신을 이용해 원격으로 명령을 실행하거나 파일을 조작하는 응용 프로그램 또는 프로토콜을 의미- 암호화된 원격 터미널 서비스 제공: TELNET 대체- 암호화된 파일 송수신 서비스 제공: FTP 대체② 특징- 기존의 r계열 송수신 서비스(rsh, rlogin), Telnet, FTP 등의 평문 송수신 서비스의 취약점을 대체하기 위해 설계- 디폴트로 22/tcp 포트 사용 슈퍼 데몬(inetd 데몬)① 개념- 데몬: 클라이언트의 접속 요청이 있을때까지 대기하다가 요청이 들어오면 해당 요청을 처리할 서비스 프로세스를 실행하는 것- Stand-Alone 방식: 개별 서비스별로 데몬이 동작하는 방식. 속도가 빠르지만 서버자원을 많이 점유한다.- 슈..
[UNIX/Linux 기본학습] 서버보안1 시스템보안프로세스 실행권한평소에 당신은 주민등록증을 들고다니며 본인을 인증할 것이다.그런데 회사에 들어갈 때는? 출입증이 필요하지 주민등록증은 필요없다. 당신은 출입증으로 본인 부서에만 들어갈 수 있다. 물리 서버가 설치된 서버실이나, CEO가 있는 CEO 방은 들어갈 수 없다. 만약 정말정말 들어가고 싶다면 CEO의 사원증이나 서버관리자, 또는 건물 전체 관리자의 출입증을 빌려야한다.이 출입증의 개념을 컴퓨터에 적용해보자① 유닉스/리눅스 시스템은 프로그램(프로세스)을 실행할 때와 실행 중일 때 권한을 분류한다.② 접근권한을 판단하기 위해 아래와 같은 4가지 ID를 사용한다. - RUID(실행시킨 진짜 사용자 ID, Real User ID) - EUID(실행 중에 부여되는 사용자 ID, Effective..