IT 그리고 정보보안 279

윈도우 계정 및 패스워드 관리

1. 계정 관리에 대한 기본 점검 사항 - 계정과 패스워드 관리는 윈도우 뿐아니라 모든 OS, 웹페이지 등 가장 기본적이지만 가장 우선시되고 중요한 점검 항목이다. 기본적이라는 말은 이 부분에 대하여 쉽게 보안을 하지 않고 놓치기 쉽다는 말과 같다. 꼼꼼하게 점검을 한번 해볼 필요가 있다. 1-A. Administrator 계정 이름 변경 - Administraton 계정은 디폴트 값으로 설정되어 있는 계정명이다. 공격자들은 먼저 Administrator 계정으로 1차 표적을 설정한다. (디폴트 값이니까.) 계정명도 알아내고 패스워드도 알아내야 크랙이 성공하는데, Administrator 계정을 사용한다면 공격자 입장에서 계정 추측에 대한 수고를 덜것이다. 그냥 바꿔라 다른걸로.. 1-B. Guest계정..

윈도우 핵심 프로세스와 서비스

1. 프로세스와 서비스 먼저 프로세스와 서비스 요 두놈의 개념부터 잡고 가자. 프로세스란 사전적인 의미로 과정, 처리 이런 뜻이다. 컴퓨터 분야에서의 프로세스는 "실행중인 프로그램"을 뜻한다. 프로세스에는 여러가지 명령어, 데이터, 카운터, 레지스터, 루틴 인자, 복귀 주소, 저장된 변수 등의 데어터를 포함하는 프로세스 스택 등이 포함된다. 프로세스는 각각 독립적으로 수행된다. (하나가 잘못 되도 다른 프로세스는 정상적으로 작동함. 다음은 서비스. 서비스란 사용자의 요청이 있을 때만 메모리 단에 올라가 실행되는 것이다. 프로세스는 항상 올라가 있다는 거랑 비교할 필요가 있다. 서비스는 전부다 필요한 것은 아니며 어떤 서비스는 운영되는데 필요 없는 서비스도 있다. 2. windows 핵심 프로세스 윈도우의..

윈도우 파일시스템 종류

먼저 윈도우 파일 시스템에 대해 알아보자. 파일 시스템이란 파일의 이름을 정하고 저장, 검색을 위해서 논리적으로 어디에 위치 시켜야 하는지에 대한 방법을 구성한 시스템이다. 파일 시스템은 소프트웨어가 윈도우 파일 시스템은 크게 두가지가 있다. FAT와 NTFS FAT -> NTFS 로 발전하는 것이지만 알아두자. 아직도 FAT을 파일 시스템으로 사용하는 PC가 꽤있다. 1. FAT (File Allocation Table) 가장 먼저 사용된 윈도우 파일 시스템이다. FAT12 --> FAT16 --> VFAT --> FAT32 --> EXFAT 위와 같은 과정으로 발전하였다. FAT12는 1980년대 초에 개발된 플로피디스크용 파일 시스템이다. 지금은 당연히 안쓴다. FAT16은 1980년대 말에 개발된..

xinetd 데몬

기본 개념 같은건 다 안다고 가정하고 하는 방법만 설명하도록 하겠음. 차례대로 한번 살펴봅시다. 1. 서비스 등록할 프로그램 작성 아래와 같이 간단한 프로그램을 하나 만들어라. 그냥 컴파일 하고, 여기서 프로그램의 절대 경로를 pwd 명령으로 알아두면 좋다. 2. Xinetd 설치 여부 확인 및 설치 /etc/init.d 디렉토리에 가서 xinetd가 설치되어 있는지 확인하고 없으면 설치해야 한다. apt-get install xinetd로 설치하면 됩니당. 3. 서비스 등록 설치가 다되었으면 /etc/xinetd.d 디렉토리에 가서 서비스 등록할 이름으로 파일을 하나 만들고 아래와 같이 작성한다. ( cat > 하던지.. vi 쓰던지..) service [서비스 이름] { disable = no fla..

리눅스 환경의 프로세스(Process)

프로세스에 대해 알아보자. 실행 중인 프로그램을 프로세스라는 것을 알고 있을터, 프로세스를 테스크(task)라고 부르는 시스템도 있다. 이 녀석이 어떤식으로 메모리에 올라가고, 어떻게 구성되어 있는지에 대해 알아볼 참이다. 먼저 프로그램이 실행되면, 메모리에 로드가 된다. 메모리에 올라온 모습을 보면, PCB(Process Control Block) 과 프로그램이 올라와 있다. (메모리 로드 과정은 이미 여러번 설명했으니.. 블로그를 뒤져보시길..^.^) PCB란 프로세스에 대한 정보를 담고 있는 테이블이다. task_struct 라는 구조체를 참조하여 커널에 들어있는 프로세스에 대한 정보를 갖고온다. PCB에 들어있는 프로세스 상태에 대한 그림을 함보자. 먼저 프로세스가 생성되고 (new), 프로세스가..

리눅스 파일 시간값

리눅스 파일들이 가지는 시간에 관련된 값들에 대해 알아보자. 3가지의 값들이 있다. st_atime은 보다시피 마지막으로 접근한 시간이다. ls -u 옵션을 주면 접근 시간으로 정렬시킬 수 있다. 안쓰는 파일을 정리할 때 사용하면 편리하다. st_mtime과 st_ctime이 좀 헷갈릴 수 있다. mtime은 마지막으로 파일의 내용이 수정된 시간이고, ctime은 마지막으로 파일의 i-node값이 수정된 시간이다. 즉, 속성

하드 링크 / 심볼릭 링크

하드 링크와 심볼릭 링크는 쉽게 생각하면, 바로가기를 생성하는 것이다. 하지만 두가지는 차이점이 있음.. 먼저 하드 링크는 i-node를 공유해서 사용한다. 그 말은, 그냥 바로가기로써의 기능뿐 아니라 하드링크 파일이 수정되면 원본파일도 변경된다. 항상 같은 상태를 유지하는 것. 하드 링크는 같은 파일시스템에서만 생성가능하다. 그리고 디렉토리에 대한 하드링크는 관리자만이 생성할 수 있음. 또한 원본파일이 삭제되어도 하드링크에는 문제가 없다. 원본 파일의 i-node를 공유하기 때문이다. 동일한 i-node를 가르키고 하드링크를 생성하면 i-node의 link count 필드의 값이 하나 증가한다. 파일을 삭제할 때 실제 데이터 블럭에서 파일을 삭제하고자 하면 link count가 0이 되어야만 한다. (..

리눅스 프로세스의 파일 공유

저번에 리눅스에서의 파일 시스템에 대해 알아보았다. 하드디스크에 존재하는 "​파일"이 실행되면 "프로세스"가 되는 것은 알고 있을 것임. 이번에는 이 프로세스에 관한 얘기를 좀 해볼까 한다. 위 그림을 보면 실행파일과 일반 파일이 실행되고 open/read 작업에 의해 메모리에 올라가있는 상태를 볼 수 있다. 응? FCB, PCB는 뭐지. FCB는 File Control Block, PCB는 Process Control Block 이다. 이 녀석들은 메타데이터(meta data)라고 하는데, 메타데이터란, 실제 파일들을 관리하기 위해 가공된 정보이다. 얘내들은 커널 공간에 존재한다. 파일을 관리하기 위해서 이것저것 많은 내용을 내포하고 있음. 아래는 FCB에 들어 있는 내용이다. 프로세스는 하드디스크에 ..

아이노드 ( i-node )

아이노드에 대해 한번 알아보자. 리눅스에서 파일 시스템을 관리하기 위해 사용되는 개체의 일종이라고 보면된다. 아이노드는 파일의 정보를 갖고있다. 파일은 기본적으로 실제 파일의 데이터와 파일의 속성으로 이루어져 있다. 여기서 파일 속성을 가르키는 값을 아이노드(i-node) 라고 한다. 모든 파일들은 각자 1개의 아이노드를 갖고있다. 디렉토리도 물론 아이노드를 갖고있다. 아이노드가 가르키는 파일 속성에는 파일 크기, 접근 모드, 아이노드 넘버, 소유자 그룹 등의 정보가 들어있다. 이런 정보들을 담고있다. 다음은 아이노드 구조를 함 보자. 그림을 보면 알 수 있듯이, 아이노드는 아이노드 넘버 즉, 인덱스와 파일 속성으로 이루어져 있다. 인덱싱하는 건 아래에서 다시 자세히 얘기하겠다. 아래 그림은 하드디스크에..

strace, ltrace

strace (SystemCall Trace) 시스템 콜을 추적하는 명령어이다. 리눅스 상에서 작동하는 모든 프로그램은 시스템콜을 이용한다.(당연한;;) [succubus@localhost succubus]$ strace ./nightmara execve("./nightmara", ["./nightmara"], [/* 20 vars */]) = 0 brk(0) = 0x8049938 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0 x40014000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.s..

반응형