JKUN

Welcome To The Jkun.net

Blog

윈도우 콘솔 UTF-8

2016.10.24 15:03 OS/Windows


C:\>chcp 65001
Active code page: 65001

저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

윈도우 콘솔 UTF-8  (0) 2016.10.24
[IIS] PHPManager Windows 10 설치오류  (0) 2016.04.05
액세스 거부 폴더 삭제  (0) 2014.11.02
데스크탑을 멀티로 사용해보자  (0) 2013.10.16
ATTRIB - 폴더에 읽기전용 권한  (0) 2013.08.13
ICACLS - 콘솔에서 폴더권한 지정  (0) 2013.08.13
현재 0 개의 댓글이 있습니다.
Comment

Blog

[IIS] PHPManager Windows 10 설치오류

2016.04.05 13:57 OS/Windows



윈도우를 10 으로 교체 로컬개발환경 구성중에 IIS용 PHPManager 띄우는데 계속 에러나는데,

짜증나 죽을뻔;;


레지스트리 편집기에서 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

로 찾아들어가보면 MajorVersion 10진수값을 8로 변경~


구글링해서 나온 결과로 내가 적용시킨건 아래 링크들.


윈도우10 IIS PHP관리자(PHP Manager) 설치하기

https://forums.iis.net/t/1159252.aspx


저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

윈도우 콘솔 UTF-8  (0) 2016.10.24
[IIS] PHPManager Windows 10 설치오류  (0) 2016.04.05
액세스 거부 폴더 삭제  (0) 2014.11.02
데스크탑을 멀티로 사용해보자  (0) 2013.10.16
ATTRIB - 폴더에 읽기전용 권한  (0) 2013.08.13
ICACLS - 콘솔에서 폴더권한 지정  (0) 2013.08.13
현재 0 개의 댓글이 있습니다.
Comment

Blog

액세스 거부 폴더 삭제

2014.11.02 21:27 OS/Windows


일단은 왠만하면 다 삭제가 되었듯 싶다. 이 과정을 수행한 환경은 Windows 7.


1. 관리자 권한으로 명령 프롬프트 창을 연다.

2. takeown /f "삭제하려는 경로" /r

3. icacls "삭제하려는 경로" /grant administrators:f /t

4. del /f /s /q "삭제하려는 경로"


그럼 아래와 같이~~




저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

윈도우 콘솔 UTF-8  (0) 2016.10.24
[IIS] PHPManager Windows 10 설치오류  (0) 2016.04.05
액세스 거부 폴더 삭제  (0) 2014.11.02
데스크탑을 멀티로 사용해보자  (0) 2013.10.16
ATTRIB - 폴더에 읽기전용 권한  (0) 2013.08.13
ICACLS - 콘솔에서 폴더권한 지정  (0) 2013.08.13
현재 0 개의 댓글이 있습니다.
Comment

Blog

데스크탑을 멀티로 사용해보자

2013.10.16 17:02 OS/Windows


실행OS : Windows 7


http://technet.microsoft.com/en-us/sysinternals/cc817881.aspx


이 링크를 따라가면 아래와 같이 다운로드 받을수가 있다.

따로 설치가 필요없이 실행만으로 가능하다.



다운로드받은 파일을 실행시키면 다음과 같은 창이 나타난다.

그럼 단축키를 눌러보면 계속 화면이 바뀌는것을 확인할 수 있다.



그리고 트레이 아이콘에서 실행되고 있는 Desktops v2.0 을 클릭해보면 아래와 같이 4가지 화면이 나타난다.

효과적으로 데스크탑을 운용할 수 있어 참 맘에 든다.

화면이 너저분해지지가 않으니 심플허다.ㅋㅋ



저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

ATTRIB - 폴더에 읽기전용 권한

2013.08.13 10:50 OS/Windows




사내 보안정책으로 폴더와 파일속성을 변경하려는데 막혔다.ㅡㅡ;

해서 콘솔창에다가 명령어를 날리니 돌아가네;; 휴;; 


attrib -r -s 폴더경로 /s /d


아래 내용은 여기에서 한글로 깔끔하게 정리하게 잘되있어 퍼온거임.^^;



이 명령어는 파일의 속성을 보거나 변경하기 위해 사용한다. 즉, 파일이나 디렉토리에 지정된 읽기 전용(Read-only), 기록(Archive), 시스템(System), 숨김(Hidden) 등의 속성을 보거나 변경하는데 사용한다.
속성을 변경할 파일이 숨김 속성이나 시스템 속성을 가지고 있는 경우에는 먼저 시스템 속성과 숨김 속성을 해제한 다음에 속성을 변경해야 한다.

■ 명령어 위치
윈도우 시동 디스크로 부팅하면 진단 도구가 들어 있는 램 드라이브에 실행 파일 형태로 존재하는 외부 명령어
윈도우가 설치되어 있는 하드디스크(C:\Windows\Command)에 실행 파일 형태로 존재하는 외부 명령어


■ 사용법
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:][pathfilename] [/S]


■ 옵션 및 매개변수

[drive:][path] filename

디렉토리나 파일, 혹은 속성을 보거나 변경하고자 하는 일련의 파일의 이름과 경로를 지정한다.

+r

파일에 읽기 전용 속성을 설정한다.

-r

파일의 읽기 전용 속성을 해제한다.

+a

파일에 기록 속성을 설정한다.
파일의 기록 속성은 응용 프로그램에서 파일을 저장하면 자동으로 설정된다.

-a

파일의 기록 속성을 해제한다.

+s

파일에 시스템 속성을 설정한다.

-s

파일의 시스템 속성을 해제한다.

+h

파일에 숨김 속성을 설정한다.

-h

파일의 숨김 속성을 해제한다.

/s

현행 디렉토리와 그 서브디렉토리에 있는 모든 파일의 속성을 변경한다.




■ 참고 사항
☞ 파일 그룹
사용자는 와일드 카드(* 혹은 ?)를 사용하여 파일 그룹의 속성을 표시하거나 변경할 수 있다. 변경하고자 하는 파일에 숨김 속성이나 시스템 속성이 설정되어 있다면 그 파일의 속성을 먼저 제거해야 한다.
ATTRIB 명령어는 디렉토리의 속성을 변경하기 위하여 사용할 수 있는데, 디렉토리의 속성을 변경하기 위하여 이 명령어를 사용하는 경우에는 와일드 카드를 사용하여 일련의 디렉토리를 지정할 수 없고, 디렉토리를 정확히 지정해야 한다.


☞ 기록 속성
기록 속성은 먼저 백업된 후에 바뀌어진 파일만 백업하거나 하드디스크에 복원하기 위하여 사용된다. Xcopy 명령어가 이러한 기록 속성을 이용한다.
만약, 기록 속성이 있는 파일의 목록만을 화면에 나타내려면 Dir 명령어를 사용할 수 있다.
즉, "dir /a:a"와 같이 Dir 명령어를 사용하여 기록 속성을 가진 파일만 화면에 표시할 수 있다.


■ 사용 예
현행 디렉토리에 있는 HWP386.EXE라는 파일의 속성을 알아보려면 다음과 같이 입력한다.

    attrib hwp386.exe

파일 reports.hwp에 읽기 전용 속성을 설정하려면 다음과 같은 ATTRIB 명령어를 사용한다. 

    attrib +r reports.hwp

D드라이브에 있는 HWP\DATA 디렉토리에 있는 모든 파일과 그 서브디렉토리에 있는 모든 파일에서 읽기 전용 속성을 제거하고, 기록 속성을 설정하려면 다음과 같이 입력한다.

    attrib -r +a d:\hwp\data\*.* /s

위의 예에서 BAK 확장자를 가진 파일을 제외하고 A드라이브의 디스크에 있는 디폴트 디렉토리의 모든 파일을 포함하는 파일을 XCOPY를 이용하여 복사하려면, XCOPY로는 기록 속성을 가진 파일만 복사할 수 있는 기능을 사용해야 한다.
이 경우에 있어 복사할 파일에 기록 속성을 부여할 필요가 있다. 즉, BAK 확장자를 가진 파일을 제외한 모든 파일에 기록 속성을 부여하는 방법은 따로 제공하지 않으므로 모든 파일에 기록 속성을 부여한 다음 BAK 확장자를 가진 파일에서 기록 속성을 제거하는 방법을 사용한다.

    attrib +a a:\*.* /s
    attrib -a a:\*.bak /s

이렇게 하면 A드라이브에 있는 디스크의 BAK 파일을 제외한 모든 파일은 기록 속성을 갖는다.
A드라이브의 디스크에 있는 기록 속성을 가진 파일을 C드라이브의 현행 디렉토리로 복사하려면 다음과 같이 입력한다.

    xcopy a: c: /a /s

여기에서 /a는 기록 속성을 가진 파일만 복사하라는 의미이고, /s는 모든 서브디렉토리의 파일도 포함하여 복사하라는 의미이다. 만약, C드라이브로 복사한 다음 원본인 A:에 있는 파일의 기록 속성을 제거하려면 /a 대신에 /m을 사용한다.

    xcopy a: c: /m /s


관련링크

http://pcycom.com.ne.kr/hanmir/dos/dos/attrib.htm

저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

ICACLS - 콘솔에서 폴더권한 지정

2013.08.13 10:14 OS/Windows


회사 네트워크 보안정책으로 폴더속성에 보안탭이 없다.ㅡㅡ;;

IIS 에서 생성된 IUSR 계정등에 권한을 주려했더니 몬하겠다.. 너무 GUI에 익숙해진건가;;

cmd 로 콘솔창에서 명령어로 지정하여 폴더에 직접적으로 명령어를 실행시켜 권한을 부여할 수 있다.


icacls 처리할 폴더및 파일 /grant 계정:권한





관련링크 




저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

Visual Studio 2010에 SVN 연동하여 사용하기

2013.05.30 14:28 OS/Windows


http://proactive.tistory.com/33

저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

IIS 7.0 이미지 링크 방지 - web.config - URL Rewrite

2013.03.26 16:02 OS/Windows


이미지를 긁어가면서 불필요한 트래픽이 발생한다.

이에 반드시 웹사이트를 통해서만 이미지를 확인 할 수 있도록 한다.


먼저 IIS 7.0 이상에서 적용이며 URL 재작성 (URL Rewrite) 가 설치되어 있어야 한다.


이에 확인하였으면 web.config 파일을 편집기로 연다.




이에 14 라인부터 29 라인까지 재작성 룰을 추가해 준다.

위의 잘써놓은(?) 빨간색 글씨 URL 의 적용하고자 하는 URL 로 변경하여 준다.

이미지 설정되어있는 <rewrite>노드와 <rules> 노드가 적용되어 있다면 하위노드에 <rule> 노드부터 추가해

주면 된다.


그리고 IIS 재시작까지는 필요는 없지만 난 기냥 깨끗하고픈(?) 마음에 재시작.

해서 블로그에 이미지를 긁어다 놓고 확인하니 엑박이뜨며 이미지가 표시되지 않는다.

^^ 다행이다~~




저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

IIS Log - LogParser [NCSA]

2012.03.21 10:52 OS/Windows


출처 : http://blog.naver.com/kimgudtjr/140107878704
 

[ NCSA 로그분석 ]

 

NCSA는 W3C와 다르게 아래의 필드를 사용해야만 logparser를 이용한 분석이 가능하다.

 

--------------------------<NCSA 분석을 위한 logparser 사용필드>-------------------------

--------------------------------------------------------------------------------------
필드   설명
--------------------------------------------------------------------------------------
host  웹 페이지에 접속한 사용자 IP를 남기며, 호스트 명 혹은 서브 도메인 명이 기록되기도 한다.
(RemoteHostName)

username 인증에 사용되는 사용자 정보(계정 등)가 기록된다.

date:time  웹 페이지를 요청한 날짜와 시간정보를 남기며 해당 필드는
  [dd/MMM/yyyy:hh:mm:ss +-hhmm] 형태를 보인다.
  - dd는 일자
  - MMM는 월
  - yyyy는 연도
  - hh는 시각
  - mm는 분
  - ss는 초
  = +-hhmm는 표준시간대(GMT 등)

request  사용자가 요청한 URL 정보이며, HTTP 메소드(GET, POST등),
  uri-stem, uri-query, HTTP 프로토콜 버전 전체가 포함된다.

statuscode HTTP 응답 코드를 표기한다.

Referer Log 경유지 정보를 나타낸다.
  예) [10/Oct/1999:21:15:05 +0500] "http://www.xxx.com/index.html"

Agent Log  웹 사이트에 접속한 사용자의 웹 브라우저 정보(타입, 버전 등)를 나타낸다.
  예) "Microsoft Internet Explore -6.0"

Error Log  웹 서버 오작동에 대한 정보를 포함하며 특히 파일이나 이미지들의 링크 오류나
  CGI 프로그램의 비정상 내용 등을 표기한다.
  (error_log 파일에 저장된다.)

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

 

======== W3C 로그 포맷 ========

 

200X-XX-XX 06:45:34 10.1.1.10 GET /DealofWeek.asp ProdId=1  200
----------  -------    ------     ---          ---------------     -------                     ---
        (1)                       (2)              (3)        (4)            (5)                      (6)                   (7)


(1) 날짜(연/월/일)

(2) 시각(GMT+9가 대한민국 시각입니다.)

(3) 사용자 IP

(4) HTTP Method

(5) 요청 페이지

(6) 요청 페이지에 따라오는 파라미터

(7) 응답 코드


======== NCSA 로그 포맷 ========

 

200X-XX-XX 06:45:34 10.1.1.10     GET /DealofWeek.asp ProdId=1  200
-------------------               --------      ---------------------------------                  -----
            (1)                                   (2)                                    (3)    (4)


(1) 날짜와 시각

(2) 사용자 IP

(3) URL(메소드+페이지+파라미터)

(4) 응답 코드
------------------------------------------------------------------------------------

두 형태는 같은 정보를 포함하고 있으나, 표기 방법에는 차이가 있다.


======== 접속 날짜 ========

W3C 포맷 : 2007-06-27 05:56:01

NCSA 포맷 : [06/Jun/2007:00:01:06 +0100]


======== 메소드, 요청 페이지, 파라미터 ========

<W3C 포맷 : 3개의 필드로 구분>

GET Login.asp  id=xxx&password=xxx
----         --------                  --------------------
 (1)                 (2)                                     (3)

<NCSA 포맷 : 메소드, 요청 페이지, 파라미터를 1개의 필드로 사용>

GET Login.asp id=xxx&password=xxx
----------------------------------
                         (1)

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


그러면 이번에는 Logparser 로 NCSA 포맷을 분석해보자.

500번 에러 코드 추출 요청

logparser "SELECT RemoteHostName, DateTime, Request, StatusCode FROM c:\windows\system32\Logfiles\W3SVC1\*.* to c:\aaa.csv" -i:NCSA -o:CSV


유닉스 시스템에서 생성되는 NCSA 로그는 grep, find 등의 명령어를 이용할 수 있으나, logparser를

시용하고자 한다면 윈도우 시스템으로 웹 로그를 내려받아 사용하도록하자.

(윈도우 시스템으로 웹 로그를 어떻게 내려 받지 -0-? 아시는 분 댓글점..)

 

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

[ 기타 유용한 분석 방법 ]


1. 웹 콘텐츠 디렉터리 (C:\inetpub\wwwroot\*.*)에 새로 생성된 악성 파일을 검사하고자 할 때 사용 된다.

===> logparser -i:FS "SELECT TOP 20 Path, CreationTime FROM c:\inetpub\wwwrot\*.* ORDER BY CreationTime DESC" -rtp:-1

2. 웹 콘텐츠 디렉터리 (C:\inetpub\wwwroot\*.*)에 파일 변조 여부를 검사하고자 할 때 사용한다.

===> logparser -i:FS "SELECT TOP20 Path, LastWriteTime FROM C:\inetpub\wwwroot\*.* ORDER BY LastWriteTime DESC" -rtp:-1


3. 시스템 침해 영향을 미칠 수 있는 공격 성공 코드(200번)를 검사하고자 할 때 사용한다.

===> logparser "SELECT DISTINCT TO_LOWERCASE(cs-uri-stem) AS URL, Count(*) AS Hits FROM ex*.log WHERE sc-status=200 GROUP BY URL ORDER BY RUL" -rtp:-1


4. 응답 코드가 200번 혹은 300번대와 500번대를 가지는 로그에서 요청 히트 수가 많은 순서대로 확장자
     (asp, exe)를 나열하고자 할 때 사용한다.

===> logparser "SELECT TO_STRING(TO_TIMESTAMP(date,time),'yyyy-MM-dd') AS Day, cs-uri-stem, Count(*) AS Total ex*.log WHERE (sc-status<400 or sc-status>=500) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' OR TO_LOWERCASE(cs-uri-stem) LIKE '%.exe') GROUP BY Day, cs-uri-stem ORDER BY cs-uri-stem, Day" -rtp"-1

5. 하루 30번 이상 동일 페이지에 접속한 사용자 IP를 확인한다.

===> logparser "SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM ex*.log GROUP BY date, c-ip, cs-uri-stem HAVING Hits>30 ORDER BY Hits DESC" -rtp:-1

6. 500번대 이상의 응답 코드가 발생한 파라미터를 확인한다. (특히 SQL Injection 공격 시도 등을 확인할 때

사용할 수 있다)

===> logparser "SELECT cs-uri-query, Count(*) AS Total FROM ex*.log WHERE sc-status >= 500 GROUP BY cs-uri-query ORDER BY Total DESC" -rtp:-1

7. 요청 히트 수 별로 확장자(asp 및 .exe)를 나열한다.

===> logparser "SELECT cs-uri-stem, sc-status, Count(*) AS Total FROM ex*.log WHERE TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%' GROUP BY cs-uri-stem, sc-status ORDER BY cs-uri-stem, sc-status" -rtp:-1

8. HTTP Method 통계 분석(응답 코드가 400번 이상이며 확장자가 asp 혹은 exe인 정보)을 한다.

===> logparser "SELECT cs-uri-stem, cs-method, Count(*) AS Total FROM ex*.log WHERE (sc-status>=400) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%') GROUP BY cs-uri-stem, cs-method ORDER BY cs-uri-stem, cs-method" -rtp:-1

저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

Visual Studio 2010에 SVN 연동하여 사용하기  (0) 2013.05.30
IIS 7.0 이미지 링크 방지 - web.config - URL Rewrite  (0) 2013.03.26
IIS Log - LogParser [NCSA]  (0) 2012.03.21
프롬프트 창 크기 변경  (0) 2012.03.21
IIS Log - Log Parser  (0) 2012.03.21
IIS 로그분석 - LogParser  (0) 2012.03.21
현재 0 개의 댓글이 있습니다.
Comment

Blog

프롬프트 창 크기 변경

2012.03.21 10:50 OS/Windows


가끔 윈도우의 프롬프트 창을 이용할때 창이 작아서 정말로 불편할때가 있다.
예를 들어 쿼리를 날려야 하는 경우라든가;;
그런데 크기변경할려면 가로크기는 잠겨있는걸 확인할 수가 있다.
이걸 속성 ▶ 레이아웃  ▶ 화면 버퍼크기 의 너비 변경으로 조절이 가능하다. 

 

저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

IIS 7.0 이미지 링크 방지 - web.config - URL Rewrite  (0) 2013.03.26
IIS Log - LogParser [NCSA]  (0) 2012.03.21
프롬프트 창 크기 변경  (0) 2012.03.21
IIS Log - Log Parser  (0) 2012.03.21
IIS 로그분석 - LogParser  (0) 2012.03.21
윈도우 환경에서 MySQL 방화벽 포트 설정  (4) 2011.12.19
현재 0 개의 댓글이 있습니다.
Comment

Blog

IIS Log - Log Parser

2012.03.21 10:47 OS/Windows


Microsoft Log Parser 2

Log Parser 2.0 is a versatile tool that you can use to perform many tasks related to log files, including filtering entries, converting log files to other formats, and performing data mining. The tool supports many different input formats, including all of the Internet Information Services (IIS) log file formats, and it supports multiple output formats, including text files and database tables. Log Parser is available as a command-line tool and as a set of COM objects that support scripting.

Log Parser works by running Structured Query Language (SQL)-type queries against source files. The tool can then write the query results to different target files, including text files and database tables, or it can print the results to the screen.

You can use Log Parser to perform many different log-related tasks, including the following:

  • Quickly search for data and patterns in files of various formats
  • Create formatted reports and XML files containing data retrieved from different sources.
  • Export data to SQL tables. You can export entire files or filter the data to obtain only relevant entries.
  • Convert data from one log file format to another

Log Parser supports the following input formats:

  • IISW3C: This is the IIS W3C Extended log file format.
  • IIS: This is the IIS log file format.
  • IISMSID: This is the log format for files generated by IIS when the MSIDFILT filter or the CLOGFILT filter is installed.
  • NCSA: This is the IIS NCSA Common log file format.
  • ODBC: This is the IIS ODBC format, which sends log files to an ODBC-compliant database.
  • BIN: This is the IIS binary log file format.
  • URLSCAN: This is the format for URLScan logs.
  • HTTPERR: This is the IIS 6.0 HTTP error log file format.
  • EVT: This is the Microsoft Windows Event Messages format.
  • TEXTWORD: This is a generic text file, where the TEXT value is any separate word.
  • TEXTLINE: This is a generic text file, where the TEXT value is any separate line.
  • CSV: This is a comma-separated list of values.
  • W3C: This is a generic W3C log file, such as a log generated by Windows Media Services or Personal Firewall.
  • FS: This provides information about file and directory properties.

Log Parser supports the following output formats:

  • W3C: This format sends results to a text file that contains headers and values that are separated by spaces. 
  • IIS: This format sends results to a text file with values separated by commas and spaces.
  • SQL: This format sends results to a SQL table.
  • CSV: This format sends results to a text file. Values are separated by commas and optional tab spaces.
  • XML: This format sends results to an XML-formatted text file.
  • Template: This format sends results to a text file formatted according to a user-specified template.
  • Native: This format is intended for viewing results on screen.

Log Parser

저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

IIS Log - LogParser [NCSA]  (0) 2012.03.21
프롬프트 창 크기 변경  (0) 2012.03.21
IIS Log - Log Parser  (0) 2012.03.21
IIS 로그분석 - LogParser  (0) 2012.03.21
윈도우 환경에서 MySQL 방화벽 포트 설정  (4) 2011.12.19
SQL Server 2008 설치 오류 [역할관리도구]  (0) 2011.12.13
현재 0 개의 댓글이 있습니다.
Comment

Blog

IIS 로그분석 - LogParser

2012.03.21 10:13 OS/Windows


일하면서 실무중에 구글링으로 배우는게 참 많은것 같다.
IIS에서 발생한 로그파일을 편집기가 아닌 커스터마이징식으로 분석할 수 가 있다.

구글링을 하다가 찾은건데 이미 많은 사람들이 알고 있을것 같다.

LogParser  마이크로에서 만든 강력한 로그분석 툴이다. 아래와 같이 SQL 스크립트 형태로
로그를 조회가 가능하다.


이러한 형태라면 MS-SQL 과 연동할 수 있는 방법이 있지 않을까..
업무성격에 맞는 형태로 재구성하여 데이터베이스 조회가 가능토록 하면.. 좋을것 같다. ㅎㅎ


다운로드 받는 경로는 다음과 같다. <링크>

그리고 자세한 내용은  Coderant 님의 블로그에서 자세하게 볼 수 있다. <링크>
 

Logparser는 MS에서 만든 강력한 IIS, W3C, 이벤트 로그 분석툴로서 SQL 쿼리타입으로
조건별 검색할 수 있는 강력한 툴입니다.


1) 가장 최근에 생성된 시간을 기준으로 ASP 스크립트를 변조한 Trojan Files 여부를 진단
 
C:\logparser2.2\logparser -i:FS "SELECT TOP 20 Path, CreationTime FROM C:\inetpub\wwwroot\*.* ORDER BY CreationTime DESC" -rtp:-1  


2). 가장 최근에 수정된 Files 로그 찾기

C:\logparser2.2\logparser -i:FS "SELECT TOP 20 Path, LastWriteTime FROM C:\inetpub\wwwroot\*.* ORDER BY LastWriteTime DESC" -rtp:-1    
   
3). 해커가 Trojan Files을 삭제한 경우에 HTTP 200 서버코드 흔적 로그를 찾는다.
 
C:\logparser "SELECT DISTINCT TO_LOWERCASE(cs-uri-stem) AS URL, Count(*) AS Hits FROM ex*.log WHERE sc-status=200 GROUP BY URL ORDER BY URL"    -rtp:-1   
  
* nc.exe, tini.exe, root.exe, cmd.exe, upload.asp, aspexec.asp, cmd.asp 같은 파일 이름이 있으면 의심

4) Script Abuse 분석(가장 많은 Request 요청을 받은 Executable 파일의 확장자 확인)

C:\logparser -i:FS "SELECT TO_LOWERCASE(SUBSTR(Name, LAST_INDEX_OF(Name, '.'),  STRLEN(Name))) AS Extenstion, Count(*) AS Files FROM C:\inetpub \wwwroot\*.*, C:\inetpub\scripts\*.* WHERE Attribute NOT LIKE 'D%' GROUP BY Extenstion ORDER BY Files DESC" -rtp:-1  

* 특히, .ASP, .DLL 파일 요청을 유심히 봐야함

5) HTTP 서버 500 에러코드 검사

C:\logparser "SELECT [cs-uri-stem], [cs-uri-query], Count(*) AS [Hits] FROM c:\logs\web\ex*.log WHERE sc-status = 500 GROUP BY [cs-uri-stem], [cs-uri-query] ORDER BY [hits], [cs-uri-stem] DESC" -rtp:-1 -i:iisw3c
  

6) 가장 많은 Request Hit 수를 높음 ASP, DLL 파일 확인

C:\logparser "SELECT TO_STRING(TO_TIMESTAMP(date, time), 'yyyy-MM-dd') AS Day, cs-uri-stem, Count(*) AS Total ex*.log WHERE (sc-status<400 or sc-status>=500) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' OR TO_LOWERCASE(cs-uri-stem) LIKE '%.exe') GROUP BY Day, cs-uri-stem ORDER BY cs-uri-stem, Day" -rtp:-1  

7) 시간당 에러수가 가장 많이 발생한 날짜 확인
  
C:\logparser "SELECT date, QUANTIZE(time, 3600) AS hour, sc-status, Count(*) AS Errors FROM ex03*.log WHERE sc-status>=400 GROUP BY date, hour, sc-status HAVING Errors>25 ORDER BY Error DESC" -rtp:-1  

* 25개 이상의 에러코드(404코드)를 발생한 날짜와 시간 결과를 출력

8) 하루동안 50번이상 동일 페이지에 접속을 시도한 클라이언트 IP 확인
  
C:\logparser "SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM ex*.log GROUP BY date, c-ip, cs-uri-stem HAVING Hits>50 ORDER BY Hits DESC" -rtp:-1  

9) 하루동안 50번이상 동일 페이지에 접속을 시도한 클라이언트 IP 확인
 
C:\logparser "SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM ex*.log GROUP BY date, c-ip, cs-uri-stem HAVING Hits>50 ORDER BY Hits DESC" -rtp:-1  

10)  모든 ASP 에러 기록 확인
  
C:\logparser "SELECT cs-uri-query, Count(*) AS Total FROM ex*.log WHERE sc-status>=500 GROUP BY cs-uri-query ORDER BY Total DESC" -rtp:-1  

* 특히, ODBC와 ADO 에러는 SQL Injection 가능성이 있으므로 주의깊게 살펴봐야 함

11) 스크립트 및 Executable 파일의 HTTP 서버 코드 기록 확인
  
C:\logparser "SELECT cs-uri-stem, sc-status, Count(*) AS Total FROM ex*.log WHERE TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%' GROUP BY cs-uri-stem, sc-status ORDER BY cs-uri-stem, sc-status" -rtp:-1  

12) Win32 Status Code 분석을 통한 Attack 확인
  
C:\logparser "SELECT cs-uri-stem, WIN32_ERROR_DESCRIPTION(sc-win32-status) AS Error, Count(*) AS Total FROM ex*.log WHERE sc-win32-status>0 AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' OR TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%') GROUP BY cs-uri-stem, Error ORDER BY cs-uri-stem, Error" -rtp:-1 
  

13) HTTP Method 통계 분석
  
C:\logparser "SELECT cs-uri-stem, cs-method, Count(*) AS Total FROM ex*.log WHERE (sc-status<400 or sc-status>=500) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%') GROUP BY cs-uri-stem, cs-method ORDER BY cs-uri-stem, cs-method" -rtp:-1   
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

윈도우 환경에서 MySQL 방화벽 포트 설정

2011.12.19 21:48 OS/Windows


Test OS (테스트 환경) : Windows Server 2008 R2 Standard Edition
Test DBMS (테스트 데이터베이스) : MySQL 5.1.57
최초 Window 서버에 구성할때는 WPI (Microsoft Web Platform Installer) 로 구성하였다.

아 뒤지는 줄 알았다. 장장 몇시간을 삽질한 것인가..
간만에 어마어마하게 짜증나게 삽질한 결과를 포스팅한다.

방화벽 인바운드 규칙 설정 완료.
로컬 컴퓨터에서 아웃바운드 점검 이상도 없고..
mysql 데이터베이스에 user, db, host 모두 설정완료. grant 까지
인바운드 규칙에 `원격` 이라고 써진 항목에는 모두 사용, 허용으로 했는데도... 아 뒤지는 줄.. 개짜증...

mysql 설정파일 (mysql.ini) 에서도 호스트설정및 네트워크 액세스 모두 설정완료.
아무리 봐도 설정에는 문제가 없는데...

어메이징 빤따스띡하게 짜증나는게.. 네트워크를 모르는 내 죄....
그러다 보니 인바운드 규칙 설정프로토콜 및 포트 다음과 같은 부분이 있었다.
최초 새 규칙을 생성하여 3306 에 허용을 주었다면 원격포트에는 만일 접속할 특정 IP 가 있다면 특정포트로
범위를 지정하고, 아니라면 모든 포트를 허용해준다.
개인적으로는 테스트 서버를 구성하는 차원이었기에 모든포트로 설정하였다.
뒤지게 구글링, 검색질 해봤는데도 못찾았거나.. 윈도우 환경에서 MySQL 데이터베이스 서버를 구성한
사람들도 나와 같은 재수없는 상황을 겪었었다.


뒤지게 삽질하고 캡쳐까지 떠서 포스팅해준 사람에게
댓글은 센스!

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


그리고 아래 글이 그래도 잘 정리되어 있었기에.. (왠지 어마어마하게 삽질한.. 아니면.. 고수이시거나..)
원문으로 바로가기
 

로컬에서는 잘 접속되는 MySQL 서버에, 원격지에서 접속이 안되는 경우가 있다.

이럴 때는 다음의 내용을 테스트 해보며 점검해보면 문제점을 확인할 수 있다.



원격 접속 시 겪을 수 있는 에러 메세지는 다음과 같다.


ERROR 2003 (HY000): Can't connect to MySQL server on '...'

ERROR 1045 (28000): Access denied for user 'user'@'host' (using password: ...)


ERROR 2003 은 접속에 실패한 경우로, 아래 점검 리스트 중 (1)부터 시작한다.

ERROR 1045 는 인증에 실패한 경우로, 아래 점검 리스트 중 (7)부터 시작한다.




* 설정 파일(my.cnf / my.ini)보다 실행시 주어지는 옵션의 우선순위가 높으니, 설정 파일과 함께 실행 옵션을 면밀히 살펴보는 것이 중요하다.


(1) skip-networking

mysql 서버 실행시에 --skip-networking 옵션을 주거나, 설정 파일내에 skip-networking이 있는 경우, 서버는 로컬에서의 유닉스 소켓 접속만을 허용하게 된다. 설정되어 있다면 해제한다.



(2) bind-address

설 정 파일 내에 bind-address 값 또는 실행 옵션 중 --bind-address 값이 127.0.0.1 또는 비활성화 되어 있는지 확인한다. 이는, listen과 관련된 TCP/IP 소켓의 바인딩을 어떤 IP로 할 것인지를 결정한다. 127.0.0.1 은 외부 접속을 허용하지 않음을 의미한다. 이를 시스템에 할당된 특정 IP 값으로 지정하거나, 0.0.0.0 으로 지정하여, 시스템이 가지고 있는 모든 IP 주소를 활용하도록 수정한다. 할당된 IP 주소가 2개 이상인 경우, 적절한 값을 지정하는 것이 일반적이다.



(3) port

TCP/IP 소켓 바인딩에 사용될 포트 번호를 확인한다. 기본 값은 3306 이지만, 보안상의 이유 또는 하나의 서버에 여러 개의 MySQL 서버를 구동하기 위해 변경한 경우가 있으니, 이 값을 확인한다. 실행 옵션은 --port=3306, 설정 파일에서는 port=3306 과 같이 지정한다.



(4) listen여부 확인

shell> netstat -na | grep 3306

위 명령어를 통해, 해당 포트로 LISTEN이 되고 있는지 확인한다. 확인할 수 없으면 1~3 까지를 다시 한 번 점검한다. 설정 값을 변경한 이후에는 서버를 반드시 재시작해야 한다. ( 포트 설정 값이 다른 경우에는 해당 포트 번호를 입력한다 )



(5) TCP/IP 소켓으로 접속 시도

mysql client를 로컬에서 실행하면 일반적으로 mysql.sock 파일을 통해 접속하는 것이 일반적이다.

위의 옵션들을 다 확인한 이후에는, 로컬에서 TCP/IP 소켓으로 접속을 시도해본다.

shell> mysql -h 127.0.0.1 -P 3306 -u root -p


localhost와 127.0.0.1은 같은 이름이지만, localhost로 지정하는 경우에는 유닉스 소켓으로 접속을 시도하게 된다.

로컬에서 TCP/IP 접속이 실패한 경우, 1~4 까지를 다시 한 번 점검한다.



(6) 방화벽

로컬에서는 TCP/IP 소켓으로 접속이 잘 되는데, 원격지에서 안되는 경우 일단 텔넷으로 접속을 시도해본다.

shell> telnet -h xxx.xxx.xxx.xxx -P 3306


1~5 까지는 정상적인데, 텔넷 접속이 불가능하다면 이는 방화벽에서 막고 있는 경우가 대부분이다. 방화벽은 접속을 시도하는 호스트의 로컬 방화벽, 접속 대상이 되는 서버의 방화벽, 그리고 해당 경로에 놓여있는 라우팅 내에서의 방화벽 등이 있을 수 있다.

- 로컬 방화벽 : 특정 outgoing 패킷이 제한당하고 있는지 여부를 확인한다.

- 서버 방화벽 : MySQL 서버가 사용하고 있는 포트에 대한 방화벽 옵션을 확인한다.



(7) user / host 조합 확인

접속할 때 사용하는 사용자 이름과 호스트 주소가 올바르게 등록되어 있는지 mysql 데이터베이스내에서 확인한다.

mysql> USE mysql;

mysql> SELECT user, host FROM user WHERE user='사용자이름';


host는 다음과 같이 지정한다.

- % : 모든 호스트로부터의 접속을 허용

- xxx.xxx.xxx.xxx : 특정 호스트로부터의 접속을 허용

- xxx.xxx.% 등 : 특정 대역으로부터의 접속을 허용

- 특정 이름 : 특정 호스트로부터의 접속을 허용 (skip-name-resolve를 사용하는 경우에는 사용 불가)


MySQL의 LIKE에 사용되는 구문과 같이, %를 통해 특정 대역 또는 전체 호스트를 지정할 수 있다.

예) 192.168.0.0/16 => 192.168.%



(8) 패스워드 확인

접속에 사용하고 있는 사용자/호스트/패스워드 조합이 올바른지 확인한다.

mysql> SELECT COUNT(*) FROM user WHERE user='사용자이름' AND host='호스트' AND password=PASSWORD('패스워드')


해당 사용자 이름에 대한 레코드가 여러 개 있다면, 그 중 가장 '특정한' 값을 지정한 레코드를 우선 사용하게 된다.

( 참조 : http://dev.mysql.com/doc/refman/5.0/en/connection-access.html ) 


예 를 들어, user1@% 과 user1@192.168.0.1 의 레코드가 존재할 때, 192.168.0.1 호스트에서 user1 사용자로 접속을 시도하면, user1@%의 값을 사용하지 않고 user1@192.168.0.1의 값을 통해 인증을 수행하게 되므로, 해당 사용자 이름으로 여러 레코드가 있는 경우에는 권한 및 패스워드 설정에 보다 많은 주의를 요한다.



(9) FLUSH PRIVILEGES

user 테이블 및 권한에 관련된 테이블의 값을 추가/변경한 경우에는 반드시 아래 구문을 통해 서버가 새로운 인증 데이터를 사용하도록 한다.

mysql> FLUSH PRIVILEGES;



(10) skip-name-resolve

skip-name-resolve 옵션이 지정되지 않으면, MySQL 서버는 원격 접속하는 호스트의 IP를 DNS를 통해 이름을 확인하는 과정을 거치게 된다. 서버가 설치되어 있는 시스템의 DNS가 올바르게 설정되어 있지 않은 경우에, domain name resolving에 의해 접속 지연이 유발될 수 있으므로, 내부 네트웍에 설치된 서버인 경우에는 이 값을 활성화 시키는 것이 일반적이다.


접속을 시도하는 호스트의 IP가 DNS를 통해 이름이 얻어진 경우에는 IP가 아닌 이름으로 user 테이블을 참조하게 되므로, 이를 통한 혼동을 피하기 위해 지정하기도 한다.



(11) 그 외 특별한 상황들

MySQL 은 4.1 부터 새로운 패스워드 해시 함수를 기본적으로 사용하고 있는데, 4.1 이전의 legacy 클라이언트/ODBC 커넥터들을 사용하는 경우에는 아래의 링크를 참조하여 서버의 secure-auth, old-passwords 등의 옵션을 적절히 조정하여 사용해야 한다.

http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html


1~10 의 과정을 전부 거쳤음에도 불구하고, 1045에러가 발생하는 경우에는 다음의 명령어를 통해 해당 사용자의 암호를 예전 방식의 해시 값으로 지정 후, 접속 테스트를 수행해본다. 드문 일이지만, MySQL 5 버전대의 mysql client가 old-password hashing을 사용하는 경우가 있었다.

mysql> SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('패스워드');




(12) 최후의 보루

1~11 까지의 점검 리스트에도 해당되지 않는 경우에는 MySQL 커뮤니티를 통해 도움을 구하는 것이 마지막 방법이다. :)

데이터베이스 사랑넷 MySQL 섹션 : http://database.sarang.net/?criteria=mysql


원문출처 : http://blog.naver.com/ez_?Redirect=Log&logNo=140119374985

 

mysql,mysql원격접속,mysql gui,mysql외부접속,mysql3306,mysql telnet,window 환경에서 mysql,window2008,window2008 mysql,윈도우2008,윈도우2008 mysql

저작자 표시
신고
현재 4 개의 댓글이 있습니다.

2013.12.03 23:26

비밀댓글입니다


  • JKUN Dev. Jkun 2013.12.04 09:53 신고

    옙. 말씀해 주세요.^^;
    아는데까진 답변해 드리겠습니다.ㅎㅎ

ldw 2015.09.24 19:26 신고

아! 감사합니다. 2일동안 삽질하다가 겨우 해결했네요.


Comment

Blog

SQL Server 2008 설치 오류 [역할관리도구]

2011.12.13 08:59 OS/Windows


한동안 SQL Server 를 쓰지 않다보니.. 어처구니 없는...
오류메세지가.. 나타났는데 도저히 기억이 안난다. 그냥 닷넷 프레임워크가 설치가 잘 안되서
그런줄 알았뜨만.. 짜증나게..

 
아어!
서버관리자에  기능추가를 해주자.

서버관리자에 기능추가를 선택하면 .NET Framework 3.51 기능
이란 선택란이 있다. 요걸 선택해서 활성화 해주자.



뭐.. 간단하게 설치순서를 요약하자면..
1. .NET Framework 설치
2. IIS 설치, 기능추가에 닷넷프레임워크 기능 활성화
3. 설치.

뭐 OS 2008 에는 따로 Windows Installer 를 설치하지 않았던 것 같다. 그리고 마이크로소프트에서
다운로드 받으려 하면 Windows Installer 는 XP와 2003 까지만 지원하는 것 같다.
그 이후버전에는.. 왠지 OS 설치때부터 지원하는 것 같다.
 
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

Window 2008 Server 방화벽 포트 열기

2011.10.25 20:27 OS/Windows


OS : Window 2008 Server R2 Standard

그 동안 OS는 정상적으로 공부하지 않고 실무로 접해서 외우는 식이어 처리는 빠르나 개념정리가 안되
응용이 힘든 부분이었다. 그래서 짧게짧게 공부를 하던 중 방화벽 부분에 부딛혔다. 

최초 윈도우에 IIS 를 설정하고 나면 80포트만 열려있다. 이에 방화벽을 해제하지 않고 내가 설정한 범위내의
포트만 허용하려 했다.
이에 책을 뒤지는데 책이름은 언급하진 않겠지만 방화벽에 관한 내용이 나오질 않았다. 어떻게
색인 (찾아보기) 부분에도 "방화벽" 이란 단어가 없냐.ㅡㅡ;;
이에 MSDN  을 뒤지던 중 찾았다. 이미 많은 관리자들은 알고 있을것이다.

하지만 난 무지하기에 포스팅을 한다. 메모가 쵝오!!  ㅋㅋㅋ

1. 먼저 제어판을 열어 Window 방화벽을 실행한다.


2. Windows 방화벽이 실행되면 고급설정을 선택한다. 


3. 그럼 다음과 같이 고급 보안이 포함된 Windows 방화벽 창이 열린다.
좌측 트리항목에 인바운드 규칙을 선택한다.


4. 인바운드 규칙을 선택하고 마우스 오른쪽으로 새 규칙을 실행하면 다음처럼 새 인바운드 규칙 마법사
실행된다. 이에 포트를 선택하고 다음.


5. 다음화면에서는 규칙 종류와 포트의 범위를 지정할 수 있다. 나는 TCP 와 허용하는 포트 범위
8000 에서 부터 9000 까지 지정하였다. 그리고 다음


6. 다음을 누르면 사용자가 접속할 경우 규칙이 인바운드 규칙 조건과 일치할 경우에 해당하는 작업이다.
일단 난 연결허용으로 해놓았다. 다음


7. 다음은 적용되는 시기인데 이 부분에 대한 개념은 있는 그대로 읽었는데 자세하게는 모르겠다.
좀 찾아봐야 할 듯. 다음


8. 이제 이 규칙에 대한 이름과 설명이다.
난 웹사이트 개발 용도이므로 이름을 웹사이트 개발 포트라 적고 설명에도 좀 그럴싸하게 써놓았다. 마침.


9. 이렇게 마치고 나면 인바드운드 규칙목록에 방금 생성한 새 규칙 "웹사이트 개발 포트" 란 규칙이
생성되었다.


10. 완료! ㅋㅋㅋ
이제 최초 테스트용으로 생성했던 테스트 웹사이트 포트 8001 번이 열러서 정상적으로 열리기 시작하였다.

이렇게 최초 환경구성으로 인한 삽질은 재밌기도 한 반면에 엄청난 짜증을 유발한다.. 아어..ㅋㅋㅋㅋ

지식공유의 센스행위. 댓글은 필수~~~ ㅋㅋㅋㅋㅋ
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

IIS (인터넷 정보서비스) 풀관리

2011.04.12 19:50 OS/Windows


출처 : http://kaizer.co.kr/5

현재 한대의 서버에
 Virtual Host로 여러 사이트가 운영 중이다.

한대의 서버 자원으로 여러 사이트를 운용하므로 자원 낭비를 막을 수는 있지만 장애발생시
원인을 파악하는 데는 많은 시간이 필요로 하는 단점이 생기게 됩니다
.

이런 단점을 보완하고자 사이트 별 자원을 별도로 관리해 줌으로써 장애시 문제가 되는 프로세스를 빠른
시간 안에 파악 대처할 수가 있습니다
.

 

1.     IIS 기본셋팅

. 시작 à 프로그램 à 관리도구 à 인터넷정보 서비스관리

 

사용자 삽입 이미지

        . 호스트네임 à 응용프로그램폴 선택

-         DefaultAppPool IIS를 셋팅하면 기본적으로 생성되는 폴이다.

-         별도의 추가나 수정을 하지 않는다면 작업관리자 창에 아래와 같이 단일 프로세스를 사용하게 된다.

 


iis6.0 에서는 HTTP프로토콜 스택을 커널단에서 처리하고,
각 사이트 마다 요청을 별도의 응용프로그램풀로 처리를 합니다
.
이 역할을 w3wp(워커프로세스)가 해줍니다

 

사용자 삽입 이미지

☞ 기본셋팅만으로 IIS을 운영한다면 여러 사이트가 기본폴에 등록되고 위에 작업관리자
창에서 처럼
 w3wp.exe하나의 프로세스사용으로 문제가 되는 사이트를 찾기는 힘들어지게 된다.

 

        . 폴 추가하기.

-         새로만들기 à 응용 프로그램 폴

 

사용자 삽입 이미지

-         폴 생성.

.  name은 가급적 사이트 도메인을 입력해주는 게 좋습니다.

. 응용 프로그램 폴생성 : 새 응용프로그램 폴에 기본 설정 사용 선택à확인

사용자 삽입 이미지

   . 아래 그림처럼 폴 name에 따른 폴이 추가 된걸 확인한다.

사용자 삽입 이미지

        
. 웹사이트 폴 등록하기.

-         웹사이트 생성한 후 폴 등록할 사이트 속성에서 홈디렉토리 탭 선택

사용자 삽입 이미지

- 
응용 프로그램 설정 à 응용프로그램 폴 à 위에 생성했던 폴선택 à 확인

- 폴 생성에 따른 w3wp.exe 자원 확인

 

사용자 삽입 이미지

- 응용프로그램 폴과 연결된 개수만큼 w3wp.exe. 프로세스가 보인다면

    폴 등록은 완료된것이다.


2. 문제되는 사이트 찾기.

- 폴에 등록이 되어 있더라도 작업관리창에서는 w2wp.exe라는 단일 name으로 프로세스가 나타나므로 좀더 세부적인 확인이 필요하다.

  

사용자 삽입 이미지

 

-         아래 커맨드 창처럼 iisapp명령을 통해 문제가 되는 PID 값을 알아낸다.

-         응용프로그램 폴 등록시 사이트 네임과 같이 하는 이유를 알 수가 있다.

-         중지하고 싶다면 작업관리창에서 프로세스 끝내기로 종료한다.

-         또는 /r 옵션을 사용하여 폴을 Recycles 시키면 된다.

 

사용자 삽입 이미지
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

Windows 7 에서 IIS + PHP

2011.03.22 14:43 OS/Windows


번에 프로젝트를 진행하면서 PHP와 MS SQL Server 2008연동이 필요해서 급한대로 PC에 IIS와 PHP를 연결하는
간이 서버 환경을 구축하기로 했다. Windows 7에 포함된 IIS에서 PHP 연동은 그렇게 어려운 일이 아니었다. 다행!!!


우선 IIS를 설치해야한다. IIS 설치시에는 위 그림과 같이 CGI에 체크를 확인하고 설치해야 한다.


IIS 설치를 완료했으면 제어판 -> 관리 도구에 있는 IIS 관리자를 실행한다. IIS 관리자 창에서 PHP 설정을 할 것이다.


IIS 관리자 창에서 처리기 매핑을 찾아 더블클릭 한다.


마우스 오른 클릭 후에 모듈 매핑 추가를 클릭한다.


위와 같이 PHP 관련 설정을 한다. 빨간 네모 부분을 꼭 해야한다. 그리고 실행 파일은 PHP 파일을 설치한 곳이다.


PHP 파일은 PHP 사이트에서 윈도우용을 다운받아 설치했다. http://windows.php.net/download/로 접속하면 된다. 다운 받은 PHP 버전은 5.2.14 버전으로 VC6 x86 Non Thread Safe 파일 중 zip 압축 파일을 다운로드 했다.


이렇게 설정한 후 IIS를 재시작하면 IIS에서 PHP가 정상적으로 실행된다. 다음 번에는 PHP와 SQL Server 2008의 연결법에 대해서 포스팅할까 한다. 너무도 어이없는 실수로 이틀동안 고생을 했는데.. 자세한 것은 정리해서 포스팅!!
저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

Window 2008 Server 방화벽 포트 열기  (0) 2011.10.25
IIS (인터넷 정보서비스) 풀관리  (0) 2011.04.12
Windows 7 에서 IIS + PHP  (0) 2011.03.22
Windows 7 스티커 메모  (0) 2010.11.12
Windows 7 Logon Background Changer  (1) 2010.09.16
7장 IIS 웹 서버 보안 설정  (0) 2010.08.10
현재 0 개의 댓글이 있습니다.
Comment

Blog

Windows 7 스티커 메모

2010.11.12 11:01 OS/Windows


Window 7 의 스티커 메모기능.
참 괜찮은데 옵션이 없는거다. 근데 단축키 기능을 알고 나니 오히려 옵션기능이 없는게
더 깔끔한 느낌.



저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

Window 2008 Server 방화벽 포트 열기  (0) 2011.10.25
IIS (인터넷 정보서비스) 풀관리  (0) 2011.04.12
Windows 7 에서 IIS + PHP  (0) 2011.03.22
Windows 7 스티커 메모  (0) 2010.11.12
Windows 7 Logon Background Changer  (1) 2010.09.16
7장 IIS 웹 서버 보안 설정  (0) 2010.08.10
현재 0 개의 댓글이 있습니다.
Comment

Blog

Windows 7 Logon Background Changer

2010.09.16 14:58 OS/Windows


Windows7 로그온 및 로그오프 화면 변경

완전 기분 좋음. 깔끔한 로그오프 화면~ 

이미 알고 있는 사람들은 많겠지만.. 난 안까먹기 위해서.ㅋㅋ
이런것도 만들어주고.. 참 좋은 세상이야.

* Windows 7 Logon Background Changer *

실행을 하면 한눈에 알아볼수 있다.

1. 먼저 실행을 하면 우측 상단 Choose a folder 를 실행.

2. 그리고 해당 디렉토리에 이미지들이 로드된다. 난 신세경이니까 이미 로드된 화면이고.

3. 적용시킬 이미지를 선택하고 Apply!!. 그럼 요로코롬 적용되는 프로그레스바가
진행되는 화면이 나타난다.


그리고 마지막으로 시작키 + L키 를 누르면 확인 바로 가능~



저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

Window 2008 Server 방화벽 포트 열기  (0) 2011.10.25
IIS (인터넷 정보서비스) 풀관리  (0) 2011.04.12
Windows 7 에서 IIS + PHP  (0) 2011.03.22
Windows 7 스티커 메모  (0) 2010.11.12
Windows 7 Logon Background Changer  (1) 2010.09.16
7장 IIS 웹 서버 보안 설정  (0) 2010.08.10
현재 1 개의 댓글이 있습니다.

2012.01.11 13:16

비밀댓글입니다


Comment

Blog

7장 IIS 웹 서버 보안 설정

2010.08.10 12:40 OS/Windows



7장 IIS 웹 서버 보안 설정
IIS 웹 서버의 설치
제어판의 ‘프로그램 추가/제거’에서 ‘Windows 구성 요소 추가/제거’를 실행
IIS 웹 서버의 설치:구성요소
구성요소: 인터넷 정보 서비스 스냅인 ‘World Wide Web 서버’의 관리 인터페이스 제공
File Transfer Protocol(FTP) 서버 : 일반 FTP와 같은 역할을 한다.
FrontPage 2000 Server Extensions : 웹 서버 동작 시에 FrontPage를 사용하게 할 수 있도록 하기 위한 구성요소다. 일반적인 경우에는 사용하지 않으며, 취약점이 존재하는 구성요소이므로 설치하지 않는다. 
NNTP Service : 마이크로소프트의 뉴스 서비스를 이용하는 데 사용된다.
SMTP Service : 메일을 전송하는 데 사용된다. 웹 서버 동작 시 필요한 서비스는 아니지만 웹 서버의 오작동에 대한 메시지를 보내는 데 사용하기도 한다. 일반적으로 설치하지 않으며, 설치해야 하는 경우에는 적절한 보안 설정이 필요하다.
IIS 기본설정 제거
IISHelp, IIAdmin 등의 가상 디렉토리를 모두 삭제한 후, ‘기본 웹 사이트’도 삭제한다.
IIS 웹 서버의 설치
기본 웹사이트를 삭제하더라도 실제 샘플 파일들은 삭제되지 않는다. 따라서 C:\inetpub 디렉토리를 탐색기에서 모두 제거해준다
이외에도 다음의 디렉토리도 모두 파일을 제거해준다. 
c:\winnt\help\iishelp 
c:\winnt\web\printers 
c:\winnt\system32\inetsrv\iisadmin 
c:\programfiles\commonfiles\system\msadc 
IIS 웹 서버의 설치
웹 사이트 생성
새로운 가상 디렉토리를 생성한다.
웹 사이트 생성 
웹사이트의 이름과 IP, 포트 설정
웹 사이트 생성
홈디렉토리 및 권한 설정
기본 문서 설정
URL(Uniform Resource Locator)로 웹사이트에 접근했을 때 기본으로 선택되어지는 웹 문서
IIS의 경우에는 ‘Default.htm'과 ’Default.asp'가 기본 문서로 설정됨. 사용하지 않는 기본 문서는 제거해주는 것이 좋음 
실행 권한 설정
‘쓰기’ 권한은 파일이 업로드되어 저장되는 디렉토리 이외에는 절대로 설정되어 있어서는 안 된다.
실행 권한 설정
‘디렉토리 검색’은 디렉토리 리스팅을 가능하게 하기 때문에 체크되어 있어서는 안 된다. 
‘실행권한’의 경우 ‘없음’ 또는 ‘스크립트’로만 되어 있어야 하며, ‘실행(스크립트)’ 포함으로 되어 있을 경우 임의의 실행 파일을 웹 서버에서 구동시킬 수 있으므로 선택해서는 안 된다.
IIS 프로세스 권한 설정
IIS 프로세스의 권한 설정에 관한 항목으로 낮음(IIS 프로세스), 보통(풀링됨), 높음(격리됨) 이렇게 세 가지 중의 하나의 권한을 설정하게 되어 있다
IIS 최초 설치 시의 권한: ‘보통’ 
‘낮음’으로 되어 있을 경우의 문제점
'낮음‘으로 되어 있으면 IIS 프로세스는 시스템 권한을 가지게 되는데, 이 경우 해커가 IIS 프로세스의 권한을 획득하면 관리자에 준하는 권한을 가지게 된다.
기본 설정인 ’보통‘은 IIS 프로세스를 실행과 동시에 일반 권한의 계정으로 권한 강하(falling)를 시킨다.
’높음‘의 경우 IIS 프로세스를 Guest 권한에 준하는 권한으로 실행시킨다.
스크립트 매핑과 메소드 설정
IIS 서버에서 실행될 수 있는 확장자인 asp, asa, htr, shtml 등에 대한 실행 설정
스크립트 매핑과 메소드 설정
‘동사’ 컬럼에서는 실행될 수 있는 HTTP 메소드가 정의되어 있음을 확인할 수 있다
서비스를 제공하지 않는 스크립트 이거나, 사용할 필요가 없는 메소드는 제거
접근제어의 설정
‘디렉토리 보안’에서는 웹 페이지에 대한 접근에 대한 일반 사항을 설정
접근제어의 설정
‘익명 액세스 및 인증 제어
접근제어의 설정
IP 주소 접근제어
접근제어의 설정
IP 주소 접근제어
웹 서버 운영자 설정
웹 관리자 계정을 Administrators 그룹으로 생성하는 것은 불필요한 권한을 줄 수도 있어 바람직하지 못한 결과를 가져올 수 있음 
일반 사용자 계정으로 웹 관리자 계정을 생성하고, 해당 계정을 운영자 목록에 ‘추가’ 해주는 것을 권함.
사용자 정의 오류 설정
각각의 오류 페이지는 그대로 두어도 큰 문제는 없으나, 회사의 정책이나 경고문을 각각의 오류 페이지의 용도에 맞게 바꿀 수도 있다.
컨텐트 만료 설정
’컨텐트 만료 지정‘은 해당 사이트가 정해진 시간에 자동으로 닫히도록 설정할 수 있다.
사용자 정의 HTTP 헤더 설정
HTTP/1.1 200 OK 
Server: Microsoft-IIS/4.0 
Content-Location: http://10.1.1.1/Default.htm 
Date: Thu, 18 Feb 1999 14:03:52 GMT 
Content-Type: text/html 
......
보내진 데이터에는 ‘Content-Location’ 부분에 ‘http://10.1.1.1/Default.htm'으로 해당 시스템의 IP가 기록되어 있다. 이러한 정보는 웹 서버가 NAT로 운영되고 있다면 이러한 데이터는 내부 네트워크를 노출할 수 있다.
사용자 정의 HTTP 헤더 설정
여기에 ‘사용자 정의 헤더 이름’에는 ‘Content-Location’ 사용자 정의 헤더 값에는 ‘http://www.wishfree.com'과 같이 입력한다. 이렇게 설정한 후 html 문서가 있다면 모든 웹 페이지가 asp.dll에 의해 처리되도록 asp로 바꾼다(html 문서의 확장자만 asp로 바꾸어도 된다). 
설정 후에 앞의 ‘http://10.1.1.1/Default.htm’이 ‘http://www.wishfree.com’로 바뀐다. 
웹 서버 시스템의 보안 설정
웹 서버는 별도의 서비스와 혼용하여 사용하지 않는 것이 좋다. 즉, 불필요한 공유, 불필요한 서비스 등을 최소화하는 것이 좋다.
웹 서버 시스템의 보안 설정
시스템 권한 설정 : IIS 프로세스가 IIS를 운영하고 있는 운영체제에 접근할 수 없도록 한다.
웹 서버 시스템의 보안 설정
Cacls 를 이용한 권한 확인 및 변경
웹 서버 시스템의 보안 설정
 
 
 
xcopy.exe
tftp.exe
tracert.exe
telnet.exe
syskey.exe
rsh.exe
runas.exe
route.exe
rexec.exe
regedt32.exe
regedit.exe
rcp.exe
qbasic.exe
ping.exe
nslookup.exe
netstat.exe
net.exe
ipconfig.exe
ftp.exe
finger.exe
edlin.exe
edit.com
cmd.exe
at.exe
arp.exe
해킹에 이용되기 쉬운 시스템 파일
웹 서버 시스템의 보안 설정
백업 파일 및 테스트 파일 관리
IIS LockDown
Syn Flooding 공격에 대한 방어
SynAttackProtect 
값의 위치 : HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
데이터 형 : REG_DWORD
값의 범위 : 0 ~ 2
Syn Flooding 공격에 대한 방어
Syn Flooding 공격에 대한 설정의 하나로 최초 클라이언트로부터 SYN 패킷을 받은 뒤, SYN+ACK 패킷을 클라이언트에게 보낸 뒤, 웹 서버가 클라이언트의 접속에 대기(이 상태를 ‘Half Open’이라고 한다)하는 시간을 줄이는 기능을 한다. 
이 기능은 SynAttackProtect는 값이 ‘0’일 때는 작동하지 않고, 뒤에 살펴볼 TcpMaxConnectResponseRetransmissions 값이 ‘2’ 이상이고 SynAttackProtect 값이 ‘1’ 또는 ‘2’일 때 활성화된다. 즉, 이 두 가지 값이 설정되어 있지 않으면, Syn Flooding 공격에 대한 방어는 구동되지 않는다.
SynAttackProctect는 기본으로 존재하는 값은 아니고, 새로 생성해주어야 하며, ‘1’보다는 ‘2’의 경우에 좀더 본격적인 공격 대응을 수행한다.
Syn Flooding 공격에 대한 방어
TcpMaxConnectResponseRetrans
저작자 표시
신고

'OS > Windows' 카테고리의 다른 글

Window 2008 Server 방화벽 포트 열기  (0) 2011.10.25
IIS (인터넷 정보서비스) 풀관리  (0) 2011.04.12
Windows 7 에서 IIS + PHP  (0) 2011.03.22
Windows 7 스티커 메모  (0) 2010.11.12
Windows 7 Logon Background Changer  (1) 2010.09.16
7장 IIS 웹 서버 보안 설정  (0) 2010.08.10
현재 0 개의 댓글이 있습니다.
Comment