본문 바로가기

전체 글

(73)
[시스템 취약점] 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 방식: 개별 서비스별로 데몬이 동작하는 방식. 속도가 빠르지만 서버자원을 많이 점유한다.- 슈..
1등을 이기는 힘 얼마전 흑백요리사를 보면서 느낀점이 있다.1등을 이기는 힘은 무엇일까? (스포) 실제로 흑백요리사에서는 나폴리맛피자가 1등을 했다. 하지만 더 기억에 남는 사람은? 대부분이 애드워드 리를 떠올릴 것이다.단순하게 생각하면 1등을 이기는 것은 더 많은 사람의 기억에 남는 것 같다. 그렇다면 기억에 남는 것에 대한 충분조건은 무엇일까?충분조건은 정의할 수 없겠지만 생각해본 필요조건 한가지는 있다.사람의 감정을 울리는 것. 그런 비슷한 게 아닐까 싶다.애드워드리는 나이가 듦에도 식지 않는 그 열정과 요리에 대한 사랑, 무언가에 극도로 몰두하는 그런 모습,그런 것들로 남들과는 다른 창의성을 보여줬다.그래서 그 떡볶이 꼭 한번 먹어보고싶다.
[UNIX/Linux 기본학습] 서버보안1 시스템보안프로세스 실행권한평소에 당신은 주민등록증을 들고다니며 본인을 인증할 것이다.그런데 회사에 들어갈 때는? 출입증이 필요하지 주민등록증은 필요없다. 당신은 출입증으로 본인 부서에만 들어갈 수 있다. 물리 서버가 설치된 서버실이나, CEO가 있는 CEO 방은 들어갈 수 없다. 만약 정말정말 들어가고 싶다면 CEO의 사원증이나 서버관리자, 또는 건물 전체 관리자의 출입증을 빌려야한다.이 출입증의 개념을 컴퓨터에 적용해보자① 유닉스/리눅스 시스템은 프로그램(프로세스)을 실행할 때와 실행 중일 때 권한을 분류한다.② 접근권한을 판단하기 위해 아래와 같은 4가지 ID를 사용한다. - RUID(실행시킨 진짜 사용자 ID, Real User ID) - EUID(실행 중에 부여되는 사용자 ID, Effective..
[UNIX/Linux 기본학습] 시스템 시작과 종료 시스템 런 레벨 런레벨(Run Level) ① 런레벨이란? - 시스템 운영 수준(실행 단계) - 여러 수준(단계)으로 구분되며 관리적 필요에 따라 선택하여 적용 ② 운영 수준 Run Level 시스템 운영수준(리눅스) 0 Halt 시스템 중지(기본값으로 설정 불가) 1 Single User Mode - 단일 사용자 모드- 네트워크 서비스 사용 안함- 시스템 관리목적(root걔정으로 시스템 점검/복구, 초기화 등) 2 Multiuser, without NFS 네트워크를 사용하지 않는 다중 사용자 모드 3 Full multiuser mode ..