.

정보보안실기 준비

by 담배맛구마

정보보안기사를 A to Z로 준비하는건 힘드니까 내맘대로 정리하자

1. Log - FTP(xferlog)

로그를 구성하는 필드목록

Current-time    현재 Local Time

Transfer-time    전송에 걸린 총 시간(Seconds)

Remote-host    설명이 필요음슴

File-size    설명이 필요음슴

Filename   설명이 필요음슴

Transfer-type    전송모드로써 a(ASCII) 혹은 b(Binary)

Special-action-flag    현재 사용되진 않고 _ (Underbar)로 표현하고 있어 굳이 설명을 하면

C : The file was compressed

U : The file was uncompressed

T : The file was tar'ed

Direction    전송된 방향인데 o(out-going) 이랑 i(in-coming), d(deleted) 있음

Access-mode    어떤 유저가 접속했는지 a(Anonymous) 혹은 g(guest), r(real; 로컬 계정)

Username    설명이 필요음슴(Anonymous는 보통 이메일을 적는게 예의라고하는데 어따 찍힌데)

Service-name   걍 ftp (아닌경우가 있나?)

Authentication-method    인증에 사용한 메소드인데 현재 사용안해서 0(None)값 임

Authenticated-user-id    인증에 사용한 메소드의 리턴된 유저 ID값인데 사용안해서 *값임

※ 과거에 RFC 1413 Identd 프로토콜을 이용한 인증을 사용할때 썻었던 필드인데... 이제는 안써서 걍 빈값

Completion-status    전송결과이며 c(Complete) 혹은 i(Incomplete)

실제 로그 샘플을 보자

Thu Sep 2 09:52:00 2004 50 192.168.20.10 896242 /home/test/file1.tgz b _ o r suporte ftp 0 * c

 

2004년 9월 2일 09:52:00에 192.168.20.10에서 suporte 로컬 계정으로 접속 한 뒤,

896242 크기의 /home/test/file1.tgz 파일을 Binary 모드로 50초 동안 다운로드 받아 성공함

 

 

2. Log - ACCESS_LOG

로그포맷을 변경할 수 있기에 의미가 없긴한데, 일다 기본적인 포맷은



LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log common

 

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

 

%h : 서버에 요청을한 클라이언트의 IP

%l : 뭐..모르겠다 잘 안

%u : username인데 잘 안쓰지

%t : 시간일것이고

%r : HTTP METHOD + URI + HTTP VERSION

%>s : 모양이 이상하긴한데 HTTP Response의 상태값

%b : HTTP Response에서 Header를 제외한 크기

요렇게 된거도 있다. Refer와 User-agent 추가된것이고 양식은 %{HEADER NAME}i 이다!

 

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log combined

 

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

 

3. App - TCPDUMP

TCPDUMP 명령어? 인데 LOG로 보기도 뭐

tcpdump option

-i <INTERFACE>

-w <SAVE TO FILE>

...

 

tcpdump expression

Type = [ host | net | port | portrange ] (Default: host)

Direction = [ src | dst | src or dst | src and dst | ... ] (Default: src or dst)

Proto = [ ether | ip | arp | tcp | udp | ... ] (Default: all)

 

잘 조오오합 하면 될듯

 

 

4. App - Crontab

예약 작업을 지원하는 프로그램. 핵심은 & 

1. Listing

[root@localhost ~]# crontab -l [-u <USERNAME>]

※ 전체 User의 모든 것 하려면 /etc/passwd에서 파싱해서 하더라 예제보니까

 

2. Editing

[root@localhost ~]# crontab -e [-u <USERNAME>]

vi 에디터와 인터페이스가 동일하다!

 

* * * * * /root/test.sh 2> /dev/null

분 / 시 / 월 / 일 / 요일(0(일요일)~6) 순서로 해석하면되고 Comma나 Dash도 사용이 가능하다

 

10,20 * * * * /root/test.sh 2> /dev/null

요따구로도 가능하고

 

* * * *  1-5 /root/test.sh 2> /dev/null

요렇게해서 평일에만 실행되게도 할 수 있다.

 

*/10 * * * * /root/test.sh 2> /dev/null

생소하지만 이렇게 10분마다 실행되게도 할 수 있다.

 

5. App - Snort

룰에 대해서 짚고 넘어가보자

Header

[ alert  :: generate alert and log packet

  | log :: log packet

  | pass :: ignore the packet

  | drop :: block and log packet

  | reject :: block and log packet, and then send TCP reset(or ICMP unreachable)

  | sdrop :: block

]

[ tcp | udp] <STARTIP> <STARTPORT> [ -> | <- | <> ] <DESTIP> <DESTPORT>

 

* Alert, Log, Pass가 기본 액션이고 Drop, Reject, Sdrop은 inline mode에서만 사용가능

* 물론 사용자 임의대로 정의를 할 수 있긴해

 

Options

 

content: "<CONTENT STRING>"; nocase;

content: "|<HEXVALUE> <HEXVALUE> <HEXVALUE>|"

content: " \: \; \\ \" "

 

content: "GET"; depth: 3;

어느정도까지 검사할건지! Byte 단위

 

content: "/malware"; offset: 5; depth: 8;

어디부터 검사할건지! Byte 단위 (GET /malware)

 

content: "ABC"; content: "FGH"; distance: 2;

이전 content 매칭 이후 어느정도 뒤에서 검사할지! (ABCDEFGH)

 

content: "ABC"; content: "FGH"; distance: 2; within: 3

해당 몇 Byte 이내에서 검사할지! (ABCDEFGH)

 

pcre: "<FUCKING REGEX>"

 

 

6. App - FTP


Active 냐 Passive 냐가 중요한데, Server 기준에서 생각을 하자

<ACTIVE>

 

<PASSIVE>

 

그리고 갑툭튀하는 명령어들 인데... 까먹으면 섭섭해

1. Connect

C:\> ftp < DOMAIN | IPADDR >

ftp> open < DOMAIN | IPADDR >

 

2. Directory

ftp> ls [-al]

ftp> cd <DIRECTORY>

ftp> pwd

 

3. Download

ftp> ascii

ftp> bin

 

ftp> get <FILENAME>

ftp> mget <FILENAME>,<FILENAME>

ftp> mget *.<EXT>

 

4. Upload

ftp> put <FILENAME>

ftp> mput <FILENAME>,<FILENAME>

 

5. Quit

ftp> < quit | bye | close >

 

6. Law/Manage - 위험관리

위험의 3요소(4요소?)

자산(Assets)  조직이 보호해야할 대상

위협(Threats)  원치 않는 사건의 잠재적인 원인이나 행위자

취약성(Vulnerability)  자산의 잠재적인 속성으로, 위협의 이용 대상

정보보호대책(Safeguard)  위협에 대응하며 자산을 지키기 위한 대책

위험관리 절차

1st :: 위험관리전략 및 계획수립

2nd :: 위험분석

3rd :: 위험평가(처리)

4th :: 정보보호 대책수립

5th :: 정보보호 계획수립

위험분석 접근법

1) 베이스라인접근법(Baseline Approch)

위험분석을 수행하지 않고, 표준화된 보호대책을 체크리스트화 해서 제공

조직의 규모와 상관없이 일반적인 자산 대산에 적용(예를 들어 화장실 청소 체크리스트)

2) 비정형 접근법(Informal Approach; 전문가 판단법)

전문가의 지식과 경험에 따라 위험을 분석하는데, 소규모 조직에선 효과적

3) 상세 위험분석(Detailed Risk Analysis)

구조적인 방법론에 기반해서 위험을 분석함

자산분석 → 위협평가 → 취약성평가 → 정보보호대책평가 → 잔여위협평가

4) 복합 접근법(Combined Approch)

자산의 중요도에 따라 상세 위험분석과 베이스라인접근법을 적용

위험분석 방법론

정성적 분석방법(Qualititative)

1) 델파이법

전문가 집단에게 설문조사 등으로 의견을 수렴(빠르지만 정확도 낮아)

2) 시나리오법 :

어떤 사실도 기대대로 발생되지 않는다고 가정하고, 특정 시나리오를 통해 발생 가능한 위협의 결과로 순위를 매겨 도출(전반적인 가능성 추론이 가능하나 어디까지나 이론적 추춘이기에 정확도 낮아)

3) 순위결정법

위험 항목의 순위를 매겨서 결정

정량적 분석방법(Quantitative)

1) 연간예상손실액(ALE) = 단일예상손실액(SLE) * 연간발생률(ARO)

2) 단일예상손실액(SLE) = 자산의가치(AV) * 노출계수(EF)

위험을 어떻게 처리할까?

위험수용(Acceptance) :: 해당 위험의 잠재 손실 비용을 감수

위험감소(Mitigation) :: 위험을 감소시킬 수 있는 대책을 채택하여 구현하는 것

위험회피(Risk Avoidance) :: 위험이 존재하는, 프로세스나 사업을 수행하지 않고 포기

정성적 분석방법(Qualititative) :: 보험이나 외주 등으로 잠재적 비용을 제 3자에게 이전하거나 할당

 

 

 

EMPTY SPACE

 

 

 

 

EMPTY SPACE

 

 

 

 

EMPTY SPACE

 

 

 

보안목표

위험처리방안

uid 종류

 

 

 

 

반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기