'운영체제'에 해당되는 글 604건

  1. 2008.10.20 서버 보안 일반적인 기본 체크 리스트
  2. 2008.10.10 리눅스 시스템의 소프트레벨 커널 튜닝
  3. 2008.10.10 사용자 계정 암호 분실로 로그인 불능 시의 대책 (7)
2008.10.20 10:11

서버 보안 일반적인 기본 체크 리스트

1. 일반적인 서버 보안 체크 리스트

 

. 서버 보안 정책의 기초 수립

 

l 보안정책의 목표

- 정보자산의 전산망을 통한 무단유출, 파괴, 불법변경으로부터 안전하게 보호함.

 

l 보안 요구 조건

- 보안정책 일련의 보안 활동은 정보자산에 대하여 다음의 요구조건을 만족시켜야 한다.

  . 무결성(Integrity)

  . 기밀성(Confidentiality0

  . 식별 인증(Identification & Authentication)

  . 접근제어(Access Control)

  . 부인봉쇄(Non-Repudiation)

  . 감사 책임 체계(Audibility & Accountability)

  . 신뢰성 가용성(Reliability & Availability )

 

l 보안정책의 기본 방침

 

- 보안관리는 일관성 기밀성 유지를 위해 전산 중앙 관리를 원칙으로 한다.

 

- 모든 자원(인적자원/정보자원) 보안등급에 따라 분류하여 관리한다.

 

- 외부에서 내부로의 접근은 제한함을 원칙으로 한다.

 

- 프로세스 제어시스템 부분에 대해서는 별도로 보안을 강화한다.

 

- 사용자가 있는 모든 시스템은 반드시 다음의 요소를 포함하는 로그 관리를 한다. ( 언제 / 누가 / 어디로부터 / 내부의 어느 시스템으로 와서 / 무엇을 했는가)

 

- 내부에서 외부로의 정보조회는 제한 없이 허용하되 정보의 유출은 통제한다.

- User ID 개인별로 유지함을 원칙으로 한다.

 

- 보안정책을 유지하기 위해 필요한 제도 절차는 규정화하여 시행한다.

 

- 1 시스템을 대상으로 위험분석을 실시하여 보안 취약성을 보안하는 보안대책을 강구한다.

 

 

. 서버 보안 운영관리 지침

 

l 계정은 일련의 절차에 따라 생명주기를 가지며 서버 관리자에 의해 통합관리 된다.

 

l 계정에 대한 패스워드는 사용자 계정관리 지침에 준한다.

 

l 서버 불필요한 네트워크 프로토콜은 삭제한다.

 

l 서버 보안 관리자는 어플리케이션 기본계획 단계에서 보안정책에 근거한 어플리케이션 개발을 권장하고 이를 위반 개발을 중지시킬 있다.

 

l 서버는 물리적인 보안문제를 선결한 가동을 원칙으로 한다.

 

l 보안점검계획 수립 , , 단위로 보안점검을 시행한다.

 

l 슈퍼유저의 권한은 보안 관리자/서버운영자로 제한되며 ID 패스워드는 극히 제한된 사용자에 의해 관리된다.

 

l 장애복구나 점검을 이해 타인에 루트권한을 위임 작업종료 백도어 체크 리스트에 따라 점검한 루트 ID 패스워드를 변경한다.

 

- 백도어 : 차후 불법침입을 위해 서버보안 관리자가 모르는 로그인           경로를 만들거나 일반 사용자의 계정으로 루트의 권한을           소유케 하는 불법 프로그램 등을 설치해 두는 .

 

- 보안점검 리스트에는 반드시 다음의 내용을 포함해야 한다.

    . Cron table, 서비스 데몬 상태, 수상한 ID, 네트웍 서비스 파일,     현재 가동중인 프로세스, 패스워드 파일, 쉐도우 파일

. 사용자 계정관리 지침

 

l 개요

- 시스템에 LOGIN 있도록 허가된 모든 사용자들에 대한 관리규정 절차를 정한다.

 

l 사용자 계정분류

 

- 서버 관리자       

    : SUPER USER 서버의 모든 권한을 갖고 1개만 존재한다.         

- SYSTEM APPLICATION 관리자       

    . SYSTEM 관리자로서 권한을 갖고, SUPER USER 일부      권한을 허용한다. SYBASESEQLNK

 

- APPLICATION 관리자       

    : APPLICATION 개발을 위한 사용자로서 개발 종료 사용자      등록절차에 따라 폐기한다. 

      

- APPLICATION 이용자       

    : APPLICATION 운영용으로서 APPLICATION 사용자 ID 체계      따라 운영한다.  

 

- 일반 사용자       

    : NFS, FTP 사용자로서 인가된 서버 자원만 접근을 허용한다.        

l 관리 범위

- 신규 사용자 계정 부여에서부터 변경, 폐기까지 일련의 과정을 사용자 등록절차에 따라 관리, 운영한다.

 

l 관리 지침

 

- 사용자별 또는 그룹별로 접근 권한을 부여한다.

- 사용자 ID 유효기간을 설정한다.

- PASSWORD 관련 기준을 준수한다.

- PASSWORD HISTORY 관리하여 PASSWORD 재사용을 금지한다.

- 일정횟수 Login 시도 실패 사용자 사용을 금지한다.

- 요일 시간대별 Login 제한한다.

- 슈퍼유저는 Console 특정 단말에서만 Login 가능하게 한다.

 

l 사용자 등록 폐기 절차

 

- 슈퍼유저 권한은 서버관리자에게 부여되고 슈퍼유저 권한을 위임 보안관 절차에 따른다.

 

- 사용자 등록 변경 폐기는 사용자 등록 양식에 준하여 서버 관리자가 수행한다.

 

l 사용자 계정별 권한기준

 

- 슈퍼유저는 서버의 모든 자원의 접근을 허용한다.

 

- 시스템 Application 관리자는 슈퍼유저 권한을 일부 통제하고, 시스템 자원 일부만 접근을 허용한다.

 

- Application 개발자 일반 사용자는 슈퍼유저 권한을 통제하고 시스템 자원 접근을 통제한다.

 

l Password 부여 기준

 

- 사용자의 이름 또는 이름을 변형시키거나 반복 사용하는 것을 금지한다.

 

- 간단한 문자의 연속을 금지한다.

 

- 배우자, 자녀, 유명인사 이름 등을 제한한다.

 

- 동물, 장소, 장비 이름 등을 피한다.

 

- 간단한 영어 단어 사용을 금지한다.

 

- 영문으로 하면 대소문자를 사용하여 설정한다.

 

- 특수문자, 기호를 포함한다.

 

- 8자리를 모두 사용한다.

. 보안관리 절차

 

l 개요

- 정보보안 관리상 필요 대상에 대해 업무처리 절차를 규정하여 체계적이고 일관된 보안정책 구현을 위함.

 

l 대상

- 사용자 계정절차 (등록, 변경, 삭제)

- 보안 점검절차

- 시스템 사용 신청절차

- File System 사용 신청절차

 

l 방법

 

- 사용자 계정절차

 사용자 계정은 사용자등록 신청서를 작성 해당업무팀장의 결재를 얻은 서버 관리자에게 통보한다.

서버관리자는 내용 검토 해당 팀장의 결재를 득하고 작업을 실시하며 작업종료 유선으로 통보한다.

 

- 보안점검 절차

  . 보안 관리자는 보안점검 Check List 의거하여 , , 단위로 점검내용을 Check 하며 해당 팀장의 결재를 득하고 보안점검 관리철에 기록 관리한다.

 

- 시스템 사용 신청절차

 시스템 작업(장해복구 점검) 위해 Root 권한을 위임 시에는 시스템 작업 계획서를 작성 해당 팀장의 결재를 득하고, 서버관리자 입회 하에 작업을 실시한다.

작업종료 서버관리자는 백도어 체크 리스트에 준하여 시스템 점검 사용자 계정 절차에 의해 Password 변경한다.

 

- File System 사용(허가) 신청절차

 해당 업무 담당자는 File Directory 사용권한 허가를 위해 File System 사용 신청에 내용을 상세히 작성 해당 팀장의 결재를 득하고 서버 관리자에게 통보한다.

서버 관리자는 해당 팀장의 결재를 득하고 File Directory Permission 해당 사용자에게 부여한다.

. 보안관리 활동

 

l 사용자 계정 정립     

         

- 사용자 ID 대한 유효기간 설정

      

- 사용자 ID PASSWORD 관리규정 점검

  (최소길이, 변경주기, 반복 글자수 )       

 

- 사용종료 ID 삭제 작업 (개발완료 퇴직자 )  

    

- CONSOLE 대한 LOCK 기능부여    

  

- 미사용 ID 추출 정리      

 

- PASSWORD FILE 대신 HIDDEN FILE 사용으로 ACCOUNT 관련정보 유출 방지

 

l FILE SYSTEM 관리강화

 

- FILE DIRECTORY 대한 CODE 표준화 여부 점검

 

- USER FILE DIRECTORY OWNERSHIP PERMISSION 점검

 

- FILE DIRECTORY 올바른 ATTRIBUTE 제시하고 PERMISSION 변경여부 점검

 

- STARTUP FILE CRONTAB FILE 보안상태 점검

 

l 보안점검 기록관리

 

- 시스템 접근시도 실패 기록에 대한 기록보관 추적

 

- ROOT 활동내역 추적

 

- 사용자 진입내용 기록관리 분석(LOGIN, LOGOFF, FILE ACCESS ) 

 

. 보안점검 계획서

 

l 서버보안 점검 대상 사소별 서버의 중요보안 대상 항목에 대해서 점검한다.

 

l 보안 점검자 활동

 

- 보안 관리자가 보안점검 리스트를 중심으로 , , 단위로 보안 점검을 실시한다.

 

- SECURITY 관련 패치를 주기적으로 실시한다.

 

l 서버보안 점검 유의 사항

 

- 슈퍼유저 패스워드를 아는 사람이 많지는 않는가?

 

- 패스워드 정책이 적절한가?

 

- 쉐도우 파일 패스워드 파일의 PERMISSION 적절한가, 변경 사항이 없는가? (체크, /etc/passwd, /etc/shadow)

 

- SETUID 없애거나 READ-ONLY 파일을 외부로 마운트 했는가?

 

- 보안 TOOL 설치하여 실행하는가?

 

- ‘r’ 시리즈 명령어들을 금지하였는가?

 

- /etc/hosts.equiv, $HOME/.rhosts 파일을 없애는가?

 

- /etc/inetd.conf, /etc/services 권한 모드가 644이며 소유주가 root인가?

 

- UUCP 계정을 없앴는가?

 

- 서비스 데몬들(ftpd, fingerd ) 최신 버전인가?

 

l SERVER 보안 점검 리스트

 

- USER

 

  . 시스템의 물리적 보안을 유지하는가?

  . LOGIN ACCESS CONTROL 유지하는가?

  . PASSWORD PASSWORD 룰에 맞게 부여했는가?

  . LOGIN ID PASSWORD 주기적으로 바꾸는가?

  . CRONTABLE 점검하는가?       

    

- SYSTEM  

  

    . 시스템 파일 점검을 통제하는가?

  . setuid, setgid program 감시하는가?

  . startup file 관리하는가?

  . 백업된 OS파일과 가동중인 OS 파일을 점검하는가?

  . Device파일(/dev/kmem,/dev/drum,/dem/mem) 점검하는가?

  . 서비스 데몬 상태가 정상인가?

  . 가동중인 프로세스가 이상은 없는가?       

 

- NETWORK  

 

    . 인가 받지 않은 사용자에 대한 Network 접근을 통제하는가?

  . 서비스 port 대한 통제가 이루어지는가?

  . NFS/NIS 보안관리가 유지되는가?  

  . 가장 최신버전으로 교체하였는가?                  

 

 

. 서버 보안관리 TOOL 적용

 

l 도입배경

 

- 복잡하지 않고 효율적으로 운영할 있는 S/W(GUI환경) 요구되고 완전하고 종합적인 정책에 의한 SYSTEM 보안관리 요구

 

- 무결성 강화측면

  . 주요업무처리를 지속적으로 수행하기 위해 요구되는 확신을     공해주고, 장애발생 데이터 복구 기능을 강화(USER          FRIENDLY)해야 한다.

 

- 생산성 증대측면

  . 반복되는 작업의 단순화와 자동화, 작업 과정의 관리와 표준화,    오류방지를 통해 문제점 조기발견하고 사용자가 원하는 정보를    정확하게 공급해야 한다.

 

l 기존 SYSTEM 보안 문제점

 

- 보안취약

  . Open Architecture 형태로 인해 중앙집중의 보안관리 미약하고    정책적 관리 어려움

 

- 보안규칙 위반사항, 추적, 감시기능 미약

 

- Backup 관리 Backup Data 보호의 어려움

  . Backup Tape Protect 기능미비

  . Remote Backup 불편

 

- Schedule 기능 미약

  . CRON : 작업의 연관관계 인식 불량 / 단위별 Control 기능 취약

 

- Console 운영 자동화 기능 부재 / Event 제어하지 못함

 

- Spool Report 관리 불편

 

- Help desk 기능의 부재로 인한 장애관리기능 빈약

 

- 장애 발생 자동감지 관리기능 빈약

 

- System 이원화(NT, UNIX)

 

  . /etc/passwd file

    Login id, Uid, Passwd, Group id, Accounting information,     Login directory, Default shell

 

  . /etc/shadow file(password information)

 

  . /etc/group file

 

  . Access Control Security

    : File base 기본으로 Owner, Group, Other 대한 Read,       Write, Execute Permission 설정

 

  . Superuser 무제한 Access or Control

 

  . 한계점

    - 자동적인 LOGIN 거부 불가

    - 제한된 password control 관리

    - 감시를 위한 정책적인 기능 부재

 

l UNIX/NT SECURITY 보완

 

- LOGIN CONTROL 관련

 

  . 지정된 시간만 허용

  . 일시적 권한 허용

  . 일시적 사용자 불가 필요

  . PASSWORD 위반 자동으로 USER ID 제한

  . 단말에 따라 권한 부여(IP DEVICE NAME구분)

 

 

- 자원에 대한 제어관련

 

  . 누가 어떤 자원을 어떻게 사용할 있어야 하는가를 정의

  . 자원에 대한 구분 정의

    (FILES, COMMANDS, ADMINISTRATION FUNCTION )

  . 해당 자원에 대한 ACCESS LEVEL, TIME AND DATE,        TEMPORARY ACCESSS, SUSPENSION ON EXCESSIVE     ACCESS VIOLATIONS 정의

 

- 감시 모니터링 관련

 

  . 특정한 EVENT 발생 감시 가능토록

  . 지정된 업무 외의 행위를 감시할 있어야

  . LOGIN USER 경로를 모두 감시할 있어야

  . SYSTEM ADMIN 감시할 있어야

 

- DEFAULT 지정된 자원 관련

  . 정의되지 않은 자원의 사용불가(FILE CREATE)

 

- 정책에 근거한 보안관리 측면

  . 자원에 부여한 허용범위 외에 특정한 사용자에 대한 권한 혹은  ACCESS 범위를 지정

 

- 보안감시를 위한 기능

  . REAL TIME MONITORING 사후 REPORTING

 

l 적용계획

 

- 지역의 보안 담당자는 위에서 기술한 요구조건을 반영하는 보안 TOOL 적용

 

-  TOOL 적용 검토사항

 

  . 각종 TOOL SYSTEM과의 호환성, 안정성이 보장되는가.

  . 각종 TOOL 위의 요구조건을 만족하는가.

  . 가격대비 성능비교

  . 여러 SERVER 통합관리가 가능한가.

  . 기타 유용한 기능을 위한 소요인력 산정

 

- 적용절차

 

  . 사용자 정의

    : 사용자별 기존 SYSTEM 허용범위를 적용하되 이를     TOOL에서 재적용 하되 사용자별 허용시간, 허용단말을     부여(사용자 계정관리 지침 참조)

   

     PASSWORD 5 위반 자동으로 해당 LOGIN ID 일시    사용 중단조치

 

  . 사용자 GROUP 정의

 

  . 자산 GROUP 정의

    : 사용자 GROUP 기준으로 해당자원의 ACCESS LEVEL    정의(최소 권한 부여를 원칙으로 )

 

  . 개발자산 허용정의

    : GROUP에서 정의된 자산에 대한 PERMISSION 외에 특정한    자산에 대한 별도의 PERMISSION 적용

 

  . 통합관리 SYSTEM 구현(RECOVERY 기능 추가)

    : SERVER 하나의 중앙 집중식 SERVER 체계로 운영할     있도록 구축하여 보안 담당자의 감시 MONITORING      위반사항 REPORTING 가능토록 구현

 

 

. 서버보안 관리 운영계획

 

l 배경

- 서버보안 관리를 통해 인증되지 않는 불법사용자로부터 서버사용을 방지하고 인가된 사용자의 정보자원을 보호하여 효율적인 서버보안 관리를 시행하기 위함.

 

l 활동방향

 

- 전산적인 측면에서의 보안관리 활동 대책수립

 

- 용이한 정보관리 포괄적 정보보안 유지

 

- 정의된 보안정책에 대한 시행결과 분석 효과적인 보안활동 추진

 

l 보안관리 활동내역

 

- 사용자 계정점검

 

  . Super user 계정 점검

  . USER Shell 점검

  . Home Directory 점검

  . UID 공유한 계정 점검

  . 최근 추가 삭제된 계정 점검

 

- LOGINPARAMETER 점검

 

  . 실패한 Login시도 사례 점검

  . 일정기간동안 미사용 계정 점검

  . Password 없는 사용자 점검

  . 폐기된 Password 가진 사용자

 

 

- 사용자 FILE

 

  . World Writable File Check

  . User File & Directory Ownership Permission 점검

 

- 시스템 FILE

 

  . File Directory 올바른 Attribute 제시하고 발생된 변화를 점검

  . Startup File Crontab File

 

- 서버보안점검리스트

  . Server 점검리스트에 따른 보안관리 활동수행

 

. 인터넷 보안관리 지침

 

l 담당자

 

l 인터넷 구성요소별 보안관리 지침

 

A. 구성요소 정의

 

- 차폐 라우터(SCREENED ROUTER)

  . 방화벽으로의 IP REDIRECTION 기능과 PACKET               FILTERING 기능을 가지며 내부 망과 외부 망의 유일한 경로     위치하는 라우터

 

- 공개 정보망(INFORMATION SUBNET)

 

  . 인터넷을 통해 외부에 제공되는 정보가 위치하는 네트웍으로     다음 두개의 네트웍으로 구성된다.

 

  . DMZ(Public segment) : 패스워드 check 기본적인 인증이나    인증의 절차를 거치지 않는 서버들이 위치하는 정보망

 

  . Secured Zone : 사외의 인가된 사용자(해외사무소 )들에게     내의 정보 시스템을 제공하는 서버들이 위치하는 정보망

 

B. 관리지침

 

- N/W

 

  . 인터넷을 이용한 모든 사외에서 사내로의 접속 시도는 방화벽    통해서만 접근이 가능하고 별도의 BACK DOOR 두지     는다.

 

  . 인터넷 접속 통신장치는 부가통신 사업부에서 관리하며 장치에    위협사항 인지 즉시 사내 망을 분리시킨다.

 

  . 인터넷을 통한 외부에서 내부망으로의 접속은 목적지가 공개     정보망일 경우에만 허용한다.

 

  . XXXX 전산망을 통하여 인터넷과 연결되는 모든 계열사, 관계    사들은 독립적으로 인터넷 외부망과 연결될 없다.

 

  . 인터넷 접속 라우팅 프로토콜은 사내망과 접속된 네트웍의     우팅 프로토콜과 상이하게 관리한다.

 

  . 사내망에서 사외로의 파일송신은 불허한다.

 

- SERVER (MAIL, WWW, DNS)

 

  . XXXX DNS 서버는 사내 이용자들의 인터넷 이용 시에만 사용    하고 사외로부터의 주소응답 서비스는 하지 않는다.

 

  . 서버의 슈퍼유저의 PASSWD 1 변경하며 슈퍼유저의     즉시 변경한다.

 

  . MAIL, WWW등은 외부에 바로 연결되고 시스템 장애 시에도     FILE 등의 회복은 없다.

 

  . 서버의 사용자 PASSWD 6~8자로 하며 한자 이상의 특수문    알파벳을 포함한다,

 

- 방화벽

 

  . 모든 사외로부터의 접속은 방화벽 시스템에서의 인증 절차를     거쳐 인가자만이 사용 가능하게 한다.(사용자는 인식하지 못한다.)

   

  . 모든 사외의 사내시스템 사용 인가자들은 1 확인되며     용권한 사항의 변경 (직무변경, 퇴직)에는 현업 팀장의 승인    득한 변경한다.

 

  . 방화벽 위협 인지시 내·외부 N/W 연결은 라우터에서 근원적    으로 차단한다.

 

  . 방화벽 시스템의 복구는 원칙적으로 디스크 FORMAT부터 다시 시작한다.

 

  . 방화벽 시스템에는 서비스 응용 프로토콜 PROXY 서버, OS     외의 어떠한 시스템도 두지 않는다.

 

  . 방화벽 시스템에는 슈퍼유저 이외의 어떤 계정도 두지 않는다.

 

  . 사외에서 내부로의 모든 접속 시도는 LOG 관리되며 인증시     이상의 PASSWD 입력 오류시 해당 사용자로부터 접속시도    서비스되지 않으며 별도의 관리를 거쳐 매일 보고된다.

 

  . 외부 인가되지 않는 사용자들의 PATTERN RULE화하여       RULE 해당하는 접속시도가 있을 바로 보고된다.

 

- APPLICATION 시스템

 

  . 모든 사외 인가된 사용자들에게 제공하는 사내 시스템들은       SECURED ZONE 두고 사용자들은 암호화된 문서를 주고받    는다.

 

  . 모든 인터넷을 경우한 정보 시스템 자원은 사전에 승인(    안사무팀, 홍보팀) 득한 제공 OPEN한다.

 

 

 

2. NT 체크 리스트

 

. 사용하지 않는 IP 대역/비정상적인 행위의 로그 점검

 

l 이벤트 표시기(시작 ->프로그램 ->관리도구(공용) ->이벤트 표시기) 실행하여 시스템, 보안, 애플리케이션 로그를 점검한다.

 

l 시스템 로그 점검

 

  매개변수 '/gjgjgjgjgjh' 가진 URL ‘/scripts/.../.../winnt/ system32/cmd.exe에서시작한 스크립트가 구성된 시간 초과 기간 내에 응답하지 않았습니다. HTTP 서버가 스크립트를 종료하고 있습니다.

 

  매개변수 '/c+del+"'() 가진 URL '/scripts/../../winnt/ system32/ cmd.exe'에서 시작한 스크립트가 구성된 시간 초과 기간 내에 응답하지 않았습니다. HTTP 서버가 스크립트를 종료하고 있습니다.

 

l 보안 로그 점검

 

로그온 실패:

원인: 없는 사용자 이름 또는 잘못된 암호

사용자 이름: CHIEF

도메인: CERT

로그온 유형: 3

로그온 프로세스: KSecDD

인증 패키지: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

워크스테이션 이름: \\CHIEF

 

l 응용프로그램 로그 점검 예제

 

Microsoft FrontPage Server Extensions:

Error #20015 Message: Cannot open "C:\InetPub\wwwroot\trojanhorse.htm": no such file or directory.

 

l 침입탐지시스템(Firewall), 웹서버(IIS), 라우터를 운영하고 있다면 관련로그도 점검하여야 한다.

 

. 사용자 계정과 그룹 점검

 

l 도메인 사용자 관리자(시작 ->프로그램 ->관리도구(공용) ->도메인 사용자 관리자) 실행하여 불법적인 계정이나 그룹의 생성 여부를 점검한다.

 

l 사용자 계정 점검

 

C:\>net user

\\TESTNT 대한 사용자 계정

----------------------------------------------------

Administrator chief FuckU

Guest IUSR_TESTNT IWAM_TESTNT

명령이 실행되었습니다.

 

l FuckU 해커 계정이 생성되어 있음을 있다.

 

l 글로벌 그룹 계정점검 예제

 

C:\>net group

\\TESTNT 대한 그룹 계정

--------------------------------------------------------

*Domain Admins *Domain Guests *Domain Users

*FuckYou

명령이 실행되었습니다.

 

l FuckYou 불법 글로벌 그룹이 생성되어 있음을 있다.

 

l 로컬그룹 계정 점검 예제

 

C:\>net localgroup

\\TESTNT 대한 별명

-------------------------------------------------------*

*Account Operators *Administrators *Backup Operators

*FuckYouAll *Guests *MTS Trusted Impersonators

*Print Operators *Replicator *Server Operators

*Users

명령이 실행되었습니다.

 

l FuckYouAll이란 불법 로컬그룹이 생성되어 있음을 있다.

 

l 내장된 guest 계정이 사용 안함으로 되어 있는지 점검한다.

 

. 모든 그룹에서 불법사용자 점검

 

l 디폴트 그룹에서 그룹에 속한 사용자들에게 특별한 권한을 준다.

 

l 예를 들면 Administrator 그룹에 속한 사용자는 로컬 시스템에서 무엇이든지 있고, Backup operators 그룹에 속한 사용자는 시스템상의 어떤 파일이든지 읽을 있고, PowerUsers 그룹에 속한 사용자는 공유를 생성할 있다.

 

l 물론 이외에 다른 권한도 있다.

 

. 사용자권한 점검

 

l 사용자와 그룹에 할당 있는 권한은 27가지가 있다.

 

. 비인가된 응용프로그램의 실행 여부 점검

 

l 공격자가 백도어 프로그램을 심을 있는 방법은 여러 가지가 있으며 다음 사항들을 점검한다.

 

l 시작폴더를 점검한다.

 

c:\winnt\profiles\(Administrator, All Users, Default User 선택)

 

l 시작 메뉴\프로그램\시작프로그램 폴더를 점검한다.

   혹은 시작-> 프로그램-> 시작프로그램을 클릭하여 간단히 확인할 수도 있다.

 

l 레지스트리를 점검한다.

- 레지스트리를 통한 일반적인 애플리케이션의 위치정보

 

 

l 레지스트리 리스트 점검

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\KnownDLLs

HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager\KnownDLLs

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnce

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnceEx

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows ("run=" line)

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnceEx

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows ("run=" value)

 

l 실행중인 불법서비스를 점검한다.

 

- 어떤 백도어 프로그램은 시스템 부팅시 시작되는 서비스로 설치된다.

 

- 백도어 서비스는서비스로 로그온 권한" 가진 사용자에 의해 실행된다.

 

- 자동으로 실행되는 서비스를 점검하고, 트로이목마나 백도어 프로그램인지 점검한다.

 

- 다음은 레지스트리로부터 실행중인 서비스 정보를 수집할 있는 간단한 배치 화일이다.

 

- 실행하면 서비스키, 시작 값과 실행파일을 있다. 배치파일은 리소스킷에 있는 reg.exe 사용한다.

 

l 배치파일을 이용한 점검

 

@echo off

 

REM The 'delims' parameter of PULLINFO1 and PULLINFO2 should be a single TAB.

 

 

for /f "tokens=1 delims=[]" %%I in ('reg queryHKLM\SYSTEM\CurrentControlSet

 

\Services') do call :PULLINFO1 %%I

 

set START_TYPE=

 

goto :EOF

 

 

:PULLINFO1

 

for /f "tokens=3 delims= " %%I in ('reg query HKLM\SYSTEM\CurrentControlSet

 

\Services\%1 ^| findstr "Start" ') do call :PULLINFO2 %1 %%I

 

goto :EOF

 

 

:PULLINFO2

 

for /f "tokens=3,4 delims= " %%I in ('reg query HKLM\SYSTEM\CurrentControlSet

 

\Services\%1 ^| findstr "ImagePath" ') do call :SHOWINFO %1 %2 %%I %%J

 

goto :EOF

 

 

:SHOWINFO

 

if /i {%2}=={0} set START_TYPE=Boot

 

if /i {%2}=={1} set START_TYPE=System

 

if /i {%2}=={2} set START_TYPE=Automatic

 

if /i {%2}=={3} set START_TYPE=Disabled

 

 

if not "%4" == "" (echo %1 -%START_TYPE%- %3\%4) else (echo %1 -%START_TYPE%- %3)

 

goto :EOF

 

l reg 명령어를 이용한 점검

 

C:\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services

 

 

! REG.EXE VERSION 2.0

 

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Abiosdsk

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\abp480n5

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPIEC

 

-----------------------중간생략-----------------------------

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinMgmt

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinTrust

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wmi

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{C898773A-5CF1-4AAD-B822-4D0EEA86B27}

 

. 변경된 시스템 바이너리 파일의 점검

 

l CD-ROM이나 기타 설치매체에서 설치된 초기 시스템 바이너리 정보를 복사한 주기적으로 비교한다.

 

l 또한 백업 트로이쟌호스나 백도어 파일이 있는지 미리 점검한다.

 

l 트로이쟌호스 프로그램을 정상 프로그램과 같은 파일 사이즈, timestamp 조작이 가능하다.

 

l 이런 경우는 MD5, Tripwire 기타 무결성 점검도구를 이용하여 트로이쟌호스 프로그램을 탐지할 있다.

l 이런 무결성 점검도구는 공격자에 의해 조작되지 않도록 안전하게 보관하여야 한다.

 

l 또는 백신프로그램을 이용하여 바이러스, 백도어, 트로이쟌호스 프로그램을 점검 있다.

 

l 하지만 변종 프로그램이 지속적으로 나오기 때문에 백신 프로그램은 최신버전으로 업데이트해야 한다.

 

. 시스템과 네트웍 환경설정의 점검

 

l WINS, DNS, IP 포워딩 같은 환경설정 변경을 점검한다. 네트웍 환경설정 등록정보를 이용하거나 ipconfig /all 명령어를 이용하여 점검한다.

 

l ipconfig 명령어를 이용한 점검

 

C:\Administrator>ipconfig /all

 

Windows 2000 IP Configuration

 

Host Name . . . . . . . . . . . . : chiefw2k

Primary DNS Suffix . . . . . . . : kisa.or.kr

Node Type . . . . . . . . . . . . : Hybrid

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

DNS Suffix Search List. . . . . . : kisa.or.kr

or.kr

Ethernet adapter 로컬 영역 연결:

Connection-specific DNS Suffix . :

Description . . . . . . . . : FE574B-3Com 10/100 LAN PCCard-Fast Ethernet

Physical Address. . . . . . . . . : 00-50-DA-D4-11-A4

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 172.16.2.202

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 172.16.2.1

DNS Servers . . . . . . . . . . . : 211.252.150.xxx

211.252.150.xxx

l 불필요한 네트웍 서비스가 실행중인지 점검한다. “netstat -an" 명령어를 이용하여 의심스러운 호스트의 접근이나 연결 대기중인 의심스러운 포트를 점검한다.

 

l netstat 명령어를 이용한 점검

 

C:\>netstat -na

 

Active Connections

 

Proto Local Address Foreign Address State

 

TCP 0.0.0.0:21 0.0.0.0:0 LISTENING

 

---------------------- 중간생략 ------------------------

 

TCP 0.0.0.0:31337 0.0.0.0:0 LISTENING

 

TCP 127.0.0.1:1026 0.0.0.0:0 LISTENING

 

TCP 172.16.2.168:31337 172.16.2.154:1652 ESTABLISHED

 

UDP 0.0.0.0:135 *:*

 

UDP 172.16.2.168:137 *:*

 

UDP 172.16.2.168:138 *:*

 

- 백오리피스2000 설치되었고, 연결되어 있음을 있다.

 

l 배치파일을 이용한 점검

 

@echo off

 

for /f "tokens=1,2 delims=:" %%I in ( 'netstat -an ^| findstr "0.0.0.0:[1-9]"' ) do call : CLEAN %%I %%J

 

goto :EOF

 

 

:CLEAN

 

set X=0

 

for /f "tokens=1,2,3 delims=TAB " %%A in ( 'findstr /I "\<%3/%1\>" port-numbers.txt' ) do call :SETUP %%A %%C %3 %1

 

if %X% == 0 echo %3/%1 ***UNKNOWN***

 

goto :EOF

 

 

:SETUP

 

echo %3/%4 %1 %2

 

set X=1;

 

goto :EOF

 

l port-numbers.txt 라는 파일이 필요하다. 파일에는 점검하고자 하는 포트를 정리한다. 첨부1. 참고

 

. 비인가된 파일공유를 점검한다.

 

l 명령프롬프트에서 net share 명령어를 이용하여 점검하거나 서버관리자를 이용하여 점검한다. 공유폴더의 끝에 “$" 표시가 있으면 이는 hidden share이다.

 

l 불법 공유폴더와 NT 디폴트나 공유폴더에 비인가된 사용자가 연결되어 있는지 점검한다.

 

l net share 명령어를 이용한 점검

 

C:\>net share

 

공유 이름 리소스 설명

 

----------------------------------------------------------

print$ C:\WINNT\system32\spool\drivers 프린터 드라이버

 

IPC$ Remote IPC

 

C$ C:\ Default share

ADMIN$ C:\WINNT Remote Admin

I386 C:\I386

QLaserSF LPT1: 스풀됨 QLaser SF710

명령이 실행되었습니다.

 

l net use, net session 명령어를 이용하여 점검

 

l 서버관리자(시작->프로그램->관리도구(공용)->서버관리자) 이용한 점검

 

 

 그림 7-1 서버 관리자를 이용한 점검 화면

 

- FuckU 이름의 해커가 C 드라이버에 공유연결을 사용하고 있음을 있다.

 

. 실행중인 스케줄러의 점검

 

l “at" 명령어나 리소스 킷에 있는 WINAT 도구를 사용하여 점검한다.

 

l at 명령어를 이용한 점검

 

C:\>at

상태 ID 날짜 시간 명령줄

-------------------------------------------------------------

1 다음 29 오후 3:00 cmd.exe

 

. 불법프로세스 점검

 

l 작업관리자나 리소스 킷에 있는 pulist.exe tlist.exe 이용하여 실행중인 프로세스를 점검한다.

 

l pulist 명령어를 이용하면 누가 프로세스를 실행시켰는지 있다.

l tlist 명령어를 이용한 점검

 

C:\Administrator>tlist -t

System Process (0)

System (8)

smss.exe (200)

csrss.exe (228)

winlogon.exe (252) NetDDE Agent

services.exe (280)

mstask.exe (1188) SYSTEM AGENT COM WINDOW

svchost.exe (2204) ModemDeviceChange

dns.exe (1812)

------------------- 중간 생략 ------------------------

explorer.exe (1836) Program Manager

cmd.exe (2080) C:\WINNT.0\System32\cmd.exe - tlist -t

tlist.exe (2352)

IEXPLORE.EXE (2064) Microsoft Internet Explorer

regedt32.exe (1360) 레지스트리 편집기

mmc.exe (1988) 컴퓨터 관리

spade.exe (440) Spade - [Scan 172.16.2.200-172.16.2.202, finished]

tp4mon.exe (2420) Zoom Window

internat.exe (864)

conime.exe (2020)

 

- spade.exe 프로그램으로 스캔이 완료되었음을 있다.

 

. 이상한 파일이나 숨겨진 파일의 탐색

 

l 패스워드 크래킹 프로그램이나 다른 시스템의 패스워드 파일이 있는지 점검한다.

 

l 탐색기(보기 ->폴더 옵션 ->보기 ->모든 파일 표시) 이용하여 숨겨진 파일을 찾거나, “dir /ah" 명령어를 이용하여 점검한다.

 

. 파일 퍼미션 변경이나 레지스트리 키값의 변경을 점검

 

l 리소스 킷의 xcacls.exe 프로그램을 이용하여 디렉토리별 파일들을 점검한다.

 

. 사용자나 컴퓨터의 정책변화 점검

 

l 정책편집기(poledit.exe)에서 구성된 현재 정책의 복사본을 정리하여 주기적으로 변경되었는지 점검한다.

 

. 시스템이 다른 도메인으로 변경되었는지 점검

 

A. 시스템이 해킹을 당한 경우 로컬 네트웍 내의 모든 시스템을 점검



Trackback 0 Comment 0
2008.10.10 19:20

리눅스 시스템의 소프트레벨 커널 튜닝

################################################################################

  리눅스에서 syn flooding 등 각종 공격에 대응하기 위하여 시스템의 kernel 튜닝을
  하는 것이 좋다.
  다음의 기능이 작동하도록 커널 튜닝을 하여라.

   * ping 요청에 반응하지 않도록 설정한다.
   * 소스 라우팅을 차단한다.
   * synflooding 에 대응하기 위해 syncookie를 설정한다.
   * ICMP Redirect를 차단한다.
   * 스푸핑, 소스 라우팅 및 리다이렉트된 패킷은 로그에 남긴다.
   * 패킷 포워딩을 차단한다.

################################################################################
---]]]
syncookies 기능을 켠다

Syncookies('신쿠키'라고 발음한다)는 'Three-way handshake'진행과정을 다소 변경 하는 것으로 Alex Yuriev와 Avi Freedman에 의해 제안되었는데, TCP 헤더의 특정한 부분을 뽑아내어 암호화 알고리즘을 이용하는 방식으로 Three-way Handshake가 성공적으로 이루어지지 않으면 더 이상 소스 경로를 거슬러 올라가지 않는다. 따라서 적절한 연경 요청에 대해서만 연결을 맺기 위해 리소스를 소비하게 되는 것이다.

syncookies 기능은 TCP_Syn_Flooding 공격을 차단하기 위한 가장 확실한 방법으로 이 기능을 이용하려면 일단 커널 컴파일 옵션에서 CONFIF_SYN_COOKIES이 Y로 선택되어 있어야 한다. 자신의 커널 옵션에 이 기능이 설정되어 있는지 /usr/src/linux 디렉토리로 이동 후 make menuconfig 후 다음과 같이 확인하면 된다.

Networking options ---> [*] IP: TCP syncookies support (disabled per default)

만약 설정이 되어 있지 않다면 선택 후 커널 컴파일을 다시 하여야 하지만 대부분 배포본은 기본적으로 이 옵션이 선택되어 있으므로 걱정할 필요는 없다. 그러나 위와 같이 커널 옵션에 설정되어 있다 하더라도 실제 syncookies 적용은 꺼져 있으므로 이 값을 다음과 같은 방법으로 활성화해야 한다.

[root@control src]# sysctl -a | grep syncookienet.ipv4.tcp_syncookies = 0

0으로 설정되어 있으므로 현재 syncookies는 적용되지 않는다. 따라서 다음과 같이 1을 설정하여 syncookies 기능을 활성화도록 한다.

[root@control src]# sysctl -w net.ipv4.tcp_syncookies=1

syncookies는 백로그큐가 가득 찼을 경우에도 정상적인 접속요구를 계속 받아들일수 있도록 해주므로 SYN_Flooding 공격에 대비한 가장 효과적인 방법중 하나다. 만약 공격을 당해 syncookies가 작동할 때에는 /var/log/message 파일에 아래와 같이 SynFlooding 공격이 진행중이라는 메시지가 출력된다.

Jun 11 18:54:08 net kernel: possible SYN flooding on port 80. Sending cookies.

SYN_Flooding 공격이 지속적으로 매우 심하게 진행중일 때에는 syncookies 기능이 작동한다 하더라도 네트워크가 다운되는 현상이 가끔 확인되었다. 따라서 syncookies 기능 외에 몇 가지 설정도 함께 적용하는 것이 시스템의 안정성을 위해 권장하는 방법이다. 아울러 네트워크가 다운되었을 경우에는 /etc/rc.d/init.d/network restart로 네트워크를 재설정해 보거나 리부트해야 한다.

----------------------------------------------------------------------
기타 시스템의 네트워크 설정을 최적화한다

다음 설정은 비단 TCP Syn_Flooding 공격뿐만 아니라 다른 여타 DoS공격에도 효과적으로 방어하므로 적절히 설정할 것을 권장한다.

sysctl -w net.ipv4.icmp_destunereach_rate=1
# 1/100초 동안 받아들일 수 있는 "dest unreach (type 3) icmp"의 개수

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
# Broadcast로부터 오는 핑을 차단함(Smurt 공격을 차단함).

sysctl -w net.ipv4.icmp_echoreply_rate=1
# 1/100초에 반응하는 핑의 최대 숫자

sysctl -w net.ipv4.icmp_echo_ignore_all=1
# 모든 핑을 차단함

sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
# IP 나 TCP 헤더가 깨진 bad icmp packet을 무시한다.

sysctl -w net.ipv4.icmp_paramprob_rate=1
# 1/100 초에 받아들이는 param probe packet의 수

sysctl -w net.ipv4.icmp_timeexceed_rate=1
# 1/100 초에 받아들이는 timeexceed 패킷의 수(traceroute와 관련)

sysctl -w net.ipv4.igmp_max_memberships=1
# 1/100초에 받아들이는 igmp "memberships"의 수

sysctl -w net.ipv4.ip_default_ttl=64
# 매우 복잡한 사이트에서는 이 값을 늘리는 것도 가능하지만 64로 두는
  것이 적당하며 더 늘렸을 경우에는 큰 문제가 발생할 수도 있다.

sysctl -w net.ipv4.ip_forward=0
# 게이트웨이 서버가 아닌 이상 패킷을 포워딩 할 필요는 없다.

sysctl -w net.ipv4.ipfrag_time=15
# fragmented packet이 메모리에 존재하는 시간을 15초로 설정한다.

sysctl -w net.ipv4.tcp_syn_retries=3
# 일정한 시간과 IP별로 보내고 받는 SYN 재시도 횟수를 3회로 제한한다.
  이 옵션은 스푸핑된(위조된) 주소로 오는 SYN 연결의 양을 줄여준다.
  기본 값은 5이며 255를 넘지 않아야 한다.

sysctl -w net.ipv4.tcp_retries1=3
# 무언가 문제가 있을 때 연결을 위해 재시도 할 횟수,
  최소 값과 기본 값은 3이다.

sysctl -w net.ipv4.tpc_retries2=7
# TCP 연결을 끊기 전에 재시도할 횟수.

sysctl -w net.ipv4.conf.eth0.rp_filter=2
sysctl -w net.ipv4.conf.lo.rp_filter=2
sysctl -w net.ipv4.conf.default.rp_filter=2
sysctl -w net.ipv4.conf.all.rp_filter=2
# 이 설정은 자신의 네트워크가 스푸핑된 공격지의 소스로 쓰이는 것을
  차단한다. 모든 인터페이스에서 들어오는 패킷에 대해 reply를 하여
  들어오는 인터페이스로 나가지 못하는 패킷을 거부한다.

sysctl -w net.ipv4.conf.eth0.accept_redirect=0
sysctl -w net.ipv4.conf.lo.accept_redirect=0
sysctl -w net.ipv4.conf.default.accept_redirect=0
sysctl -w net.ipv4.conf.all.accept_redirect=0
# icmp redirects를 허용하지 않는다.
  만약 ICMP Redirect를 허용할 경우에는 공격자가 임의의 라우팅 테이블을
  변경할 수 있게 되어 자신이 의도하지 않는 경로, 즉 공격자가 의도한
  경로로 트래픽이 전달될 수 있는 위험이 있다.

sysctl -w net.ipv4.conf.eth0.accept_source_route=0
sysctl -w net.ipv4.conf.lo.accept_source_route=0
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.conf.all.accept_source_route=0
# 스푸핑을 막기 위해 source route 패킷을 허용하지 않는다.
  소스 라우팅을 허용할 경우 악의적인 공격자가 IP 소스 라우팅을
  사용해서 목적지의 경로를 지정할 수도 있고, 원래 위치로 돌아오는
  경로도 지정할 수 있다. 이러한 소스 라우팅이 가능한 것을 이용해 공격
  자가 마치 신뢰받는 호스트나 클라이언트인 것처럼 위장할수 있는것이다.
sysctl -w net.ipv4.conf.eth0.bootp_relay=0
sysctl -w net.ipv4.conf.lo.bootp_relay=0
sysctl -w net.ipv4.conf.default.bootp_relay=0
sysctl -w net.ipv4.conf.all.bootp_relay=0
# bootp 패킷을 허용하지 않는다.

sysctl -w net.ipv4.conf.eth0.log_martians=0
sysctl -w net.ipv4.conf.lo.log_martians=0
sysctl -w net.ipv4.conf.default.log_martians=0
sysctl -w net.ipv4.conf.all.log_martians=0
# 스푸핑된 패킷이나 소스라우팅, Redirect 패킷에 대해 로그파일에 정보를 남긴다.

sysctl -w net.ipv4.conf.eth0.secure_redirects=0
sysctl -w net.ipv4.conf.lo.secure_redirects=0
sysctl -w net.ipv4.conf.default.secure_redirects=0
sysctl -w net.ipv4.conf.all.secure_redirects=0
# 게이트웨이로부터의 redirect를 허용하지 않음으로써 스푸핑을 막기 위해 설정한다.

sysctl -w net.ipv4.conf.eth0.send_redirects=0
sysctl -w net.ipv4.conf.lo.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
# icmp redirects를 보내지 않는다.

sysctl -w net.ipv4.conf.eth0.proxy_arp=0
sysctl -w net.ipv4.conf.lo.proxy_arp=0
sysctl -w net.ipv4.conf.default.proxy_arp=0
sysctl -w net.ipv4.conf.all.proxy_arp=0
# proxy arp를 설정하지 않는다. 이 값이 1로 설정되었을 경우
  proxy_arp가 설정된 인터페이스에 대해 arp 질의가 들어왔을 때
  모든 인터페이스가 반응하게 된다.

sysctl -w net.ipv4.tcp_keealive_time=30
# 이미 프로세스가 종료되어 불필요하게 남아 있는 연결을 끊는 시간을 줄이도록 한다.

sysctl -w net.ipv4.tcp_fin_timeout=30
# 연결을 종료시 소요되는 시간을 줄여준다(기본 설정값: 60).

sysctl -w net.ipv4.tcp_tw_buckets=720000
# 동시에 유지 가능한 timewait 소켓의 수이다. 만약 지정된 숫자를 초과하였을 경우에는 timewait 소켓이 없어지며 경고 메시지가 출력된다. 이 제한은 단순한 DoS 공격을 차단하기 위해 존재하는데, 임의로 이 값을 줄여서는 안되며 메모리가 충분하다면 적절하게 늘려주는 것이 좋은데, 64M 마다 180000으로 설정하면 된다. 따라서 256M일 경우에는 256/4=4 4*180000=720000

sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_max_ka_probes=100
# 간단한 DoS 공격을 막아준다.

위의 모든 설정은 재부팅 후에 원래의 값으로 다시 초기화되므로 /etc/rc.d/rc.local 에 두어 부팅시마다 실행하도록 하여야 한다. 그리고 리눅스의 버전이 낮아 sysctl 명령어가 없는 경우에는 echo 0 or 1 > /proc/sys/net/*와 같이 직접 /proc 이하의 값을 직접 설정해 주어도 된다. echo 명령어 역시 재부팅되면 초기화되므로 /etc/rc.d/rc.local 에 설정해 두어야 재부팅후에도 적용이 된다. 아울러 레드헷 6.2 이상일 경우에는 /etc/sysctl.conf 파일에 net.ipv4.tcp_syncookies=1과 같이 설정한 후 네트워크를 재시작하는 방법도 있다.


[[[---G
net.ipv4.conf.all.rp_filter=1
net.ipv4.ip_always_defrag = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_max_syn_backlog=1280
net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.accept_source_route=0
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.accept_redirect=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.log_martians=1
net.ipv4.ip_forward=0


Trackback 0 Comment 0
2008.10.10 17:34

사용자 계정 암호 분실로 로그인 불능 시의 대책


시작하기

아래에 설명하는 방법은 Windows Vista의 모든 에디션에 적용됩니다.

아래에 설명하는 방법은 OEM 메이커의 Recovery DVD 또는 일반 Vista 설치 DVD로 부팅하여 Windows RE의 [시동 복구]에서 복구하는 방법을 중심으로 설명하고 있습니다.

그러나, 결론적으로 Vista는 정히 원한다면 FAT32에서도 설치 가능하지만 일반적으로 NTFS의 파일 시스템에서 설치하여 사용하기에, 좌우지간에 NTFS를 인식하는 부팅 매체로 부팅하여 'Copy' 명령어를 사용할 수 있는 환경이라면 목적으로 하는 이 작업이 가능합니다.

아래 링크는 참고 사항입니다.

예를 들면, Windows 98 SE의 부팅 디스켓을 변형하여 NTFS를 인식하도록 만든 디스켓이나 시디로 부팅하여 이 작업을 하여도 된다는 뜻입니다.


2. 주의 사항

Windows Vista에도 XP와 마찬가지로 암호 관련 레지스트 파일인 SAM 파일이 존재합니다.

VIsta의 경우엔 이 SAM 파일이 XP와는 달리 아래 폴더 안에 있음이 이 작업의 주안점입니다.

  • C:\windows\system32\config\regback

사용자 계정 암호가 저장 되어 있는 SAM 파일을 초기화하는 방법(삭제로는 안 됨)으로 이 문제를 해결할 수 있습니다.

CD롬으로 우선 부팅되도록 CMOS Setup에서 설정합니다.

'CD롬 우선 부팅 순서 설정'에 대한 방법은 웹 검색하여 그 방법을 숙지토록 합니다.


3. 작업의 실제

시스템의 전원을 인가한 후 제공받은 비스타 복구 DVD(OEM 메이커의 Recovery DVD 또는 Windows Vista 설치 DVD)를 ODD에 넣습니다.

복구 DVD는 제품 사양에 따라 다를 수 있습니다.

아래와 같은 메세지가 나오면 CD롬로 부팅하기 위하여 키보드의 아무 키나 누릅니다.


잠시 기다린 후 [백업 및 복원 센터]를 선택합니다.

OEM 메이커에서 제공한 'Recovery CD'가 아닌 일반 Windows Vista 설치 매체(보통 DVD)로 이 작업을 시작하는 경우는 아래 그림 바로 밑의 그림이 화면에 나타납니다.


[시스템 복구 옵션]에서 한국어를 선택 후 [다음] 버튼을 누릅니다.


'윈도우 설치 검색 중'이라는 메세지가 나오면 잠시 기다립니다.


[시스템 복구 옵션]에서 설치된 비스타를 선택 후, [다음] 버튼을 클릭합니다.


[시스템 복구 옵션] 대화 상자의 [명령 프롬프트] 링크를 클릭합니다.


명령 프롬프트 창이 나오면 하드디스크의 루트로 디렉토리를 옮기기 위하여 'c:'을 타자 후 엔터키를 누릅니다.


아래를 타자 후 엔터키를 누릅니다.

  • copy C:\windows\system32\config\regback\sam C:\windows\system32\config /y

단 이 위 명령어는 사용자의 Vista가 C 하드 디스크에 설치된 경우의 명령줄이므로 멀티 부팅 환경 등에서는 하드 디스크의 드라이브 문자가 다르기에 명령줄의 적절한 편집이 필요함에 유의합니다.


'1개의 파일이 복사되었습니다'라는 메시지를 확인할 수 있습니다.


명령 프롬프트에서 'EXIT'를 입력 후 엔터키를 눌러 명령 프롬프트 창을 닫습니다.


[시스템 복구 옵션] 상자의 하단에 위치한 [다시 시작] 버튼을 클릭하여 시스템을 재부팅합니다.


컴퓨터가 재시작되면, 사용자 계정 암호가 초기화되었음을 확인할 수 있습니다.

사용자가 원하는 암호로 재설정할 수도 있습니다.  


Trackback 1 Comment 7
  1. 박재하 2009.02.20 21:35 address edit & del reply

    친절하고 유용한 답변 감사합니다. 그런데 님이 말씀하신대로 하면, 암호 입력란과 하단에 암호초기화라 나오는데, 암호초기화는 비번을 잊어버렸을 경우를 대비하여, 이동식 디스크에 저장했을경우에만 사용할수 있는게 아닌지요. 님이 얘기한데로 해 봤지만, 안됩니다. 해결책을 알려주시면 감사하겟습니다. jaehap@hanmail.net

    • 윈도우 2009.02.23 14:29 address edit & del

      기본적으로 암호 초기화 하는 파일은 위에서 제시한 폴더에 존재합니다. 참고로 XP의 경우 C:₩windows₩repair 폴더에 있지만, VIsta의 경우엔 C:₩windows₩system32₩config₩regback 폴더에 있습니다. 실제 사용중인 config 폴더 아래의 sam 파일을 초기화 파일로 덮어씌워주면 비밀번호가 초기화 되어서 재부팅 하시면 비밀번호 없이 로그인이 가능합니다.

  2. 김현주 2009.05.23 13:51 address edit & del reply

    이대로 해봤는데 계속 로그인 창 뜨면서 하기전이랑 똑같아요.. 어떻게 방법 없을까요?ㅜ
    저 오늘 하루 종일 이것때문에 너무 힘듭니다 ㅠㅠ

    • 복구 2009.05.24 21:53 address edit & del

      위 모든 절차가 정상적으로 되었는지요...

      윈도우 버젼은 Vista 가 맞으시죠?

      제가 알기로도 초기 SAM 파일만 복사하면 되는걸고 알고 있는데~

  3. elie 2009.08.30 12:00 address edit & del reply

    같은 프로그램으로 처음부터 쭈욱 따라해서 파일도 복사하고 다시시작 눌렀는데 로그인 창 떠요.. CD를 언제 빼야할지도 잘 모르겠고 몇 번을 따라해봐도 안 되네요 ㅠ

  4. 이은숙 2010.01.07 10:22 address edit & del reply

    안전모드 세가지 모두 해봤지만 모두가 암호치라고 나옵니다,,,정말 포맷해야하는 방법뿐인가요?

  5. 김용장 2010.11.05 09:41 address edit & del reply

    저도 여기 방법되로 해 봤지만 여전히 해결 안됩니다.
    offline NT password & Registry Editior'라는 프로그램으로 어드민 패스워드 리셋시킬수 있다고 합니다. 참고하시길