728x90


그룹 정책을 사용하여 클라이언트 컴퓨터의 공유 폴더를 해제하고, 접근을 차단하는 방법을 소개합니다.


참고 1 - 공유 폴더 생성을 막지는 못합니다. 생성하더라도 곧 해제되거나 접근을 차단할 수는 있습니다.
참고 2 - 컴퓨터 정책이므로 컴퓨터가 속한 OU에 적용하셔야 합니다.

참고 3 - 테스트 환경에서 충분한 테스트를 거친 후 실제 환경에 적용하셔야 합니다.

 


1. 그룹 정책 개체를 새로 만들고 편집합니다.


 

2. 컴퓨터 구성 – 기본 설정 – 네트워크 공유 – 새로 만들기 – 네트워크 공유 선택


 

3. 작업 – 삭제 선택 
작업 한정자에서 적절히 체크 후 확인
(굳이 설명 드리지 않아도 무슨 뜻인지 아실 듯 하여 각 항목에 대한 설명은 생략합니다.)


 

4. 컴퓨터 구성 – 정책 – 관리 템플릿 – 네트워크 – 네트워크 연결 – 도메인 프로필 – Windows 방화벽 : 인바운드 파일 및 프린터 공유 예외 허용을 사용 안 함으로 설정

 

 

5. 컴퓨터 구성 – 정책 – 관리 템플릿 – 네트워크 – 네트워크 연결 – 표준 프로필 – Windows 방화벽 : 인바운드 파일 및 프린터 공유 예외 허용을 사용 안 함으로 설정

 

위 정책을 클라이언트 컴퓨터가 속한 OU에 적용하시면 됩니다.


참고로, 위 절차에서 3단계까지만 적용하면, 클라이언트 컴퓨터의 공유 폴더들이 해제됩니다. 하지만 사용자가 다시 공유 폴더를 생성하면 다음 정책이 적용될 때까지(약 60분) 다른 사용자들이 공유 폴더에 접속할 수 있습니다.
4~5단계를 적용하면 파일 공유에 관련된 포트를 차단함으로써, 사용자가 새로운 공유를 생성하더라도 다른 사용자들이 접속할 수 없습니다.

 

위 정책은 테스트 환경에서 충분한 테스트를 거친 후 실제 환경에 적용하셔야 합니다.


특히 관리 드라이브 공유까지 제거하는 경우에는 더 신경 쓰셔야 합니다. 만약 관리 드라이브 공유를 사용하는 솔루션을 사용 중이라면 문제가 발생할 수도 있습니다.


728x90
728x90

Windows Server 2012 (R2)에 KMS 서비스를 설치하고 라이선스 키를 등록하는 방법을 소개합니다.

 

KMS 서비스 설치

 

1. 서버 관리자 – 관리 – 역할 및 기능 추가 

 

2. 역할 및 기능 추가 마법사 – 다음 

 

3. 설치 유형 – 역할 기반 또는 기능 기반 설치 

 

4. 서버 선택 – 현재 서버 선택 후 다음 

 

5. 볼륨 정품 인증 서비스 선택 

 

기능 추가 

 

다음 

 

6. 기능 선택 – 다음  

 

7. 다음 

 

8. 설치 

 

9. 설치 완료 – 닫기 

 

 

Windows Server 2012 KMS Key 등록

 

*참고 - Windows Server 2012 KMS 라이선스 키로 Windows 8, 7 도 인증됩니다.

 

1. 작업 세부 정보 – 볼륨 정품 인증 도구 선택 

 

2. KMS 키 관리 서비스 선택 – 다음 

 

3. KMS 호스트 키 입력 – 커밋 

 

4. 예 선택 

 

5. 제품 정품 인증 선택 - 다음 

 

6. 온라인 정품 인증 선택 – 커밋 

 

7. 정품 인증 성공 – 다음 

 

8. 방화벽 예외 모두 체크, 내부 DNS FQDN 추가 - 커밋 

 

9. 구성 완료 – 닫기 

 

-끝-

 

728x90
728x90

Windows Server 2012 (R2) 서버에 Office 2013 KMS 인증 서비스를 구성하는 방법을 소개합니다.

 

참고 URL

Volume activation of Office 2013 - https://technet.microsoft.com/en-us/library/ee705504.aspx

Plan volume activation of Office 2013 - https://technet.microsoft.com/en-us/library/ee624358.aspx

 

구성 절차

 

1. Office 2013 볼륨 라이선스 팩 다운로드
http://www.microsoft.com/ko-KR/download/details.aspx?id=35584

 

Office 2013 클라이언트 제품의 볼륨 라이선스 에디션에는 정품 인증이 필요합니다. IT 관리자는 이 다운로드를 실행하여 KMS(키 관리 서비스)를 설치하거나 Active Directory 기반 정품 인증에 대해 도메인을 구성할 수 있습니다. 이러한 볼륨 정품 인증 방법은 조직 네트워크에 연결된 모든 Office 2013 클라이언트를 로컬로 정품 인증할 수 있습니다.

 

2. Office 2013 볼륨 라이선스 팩 설치 

 

3. 사용권 동의 – 계속 

 

4. 실행 중 

 

5. 소개 – 다음 

 

6. 정품 인증 유형 – KMS 선택 후 서버 명 입력 – 다음 

 

7. 제품 키 관리 - KMS 호스트 키 설치 선택 – Office 2013 KMS Key 입력 – 커밋 

 

8. 제품 키 관리 - 제품 정품 인증 선택 – 다음 

 

9. 온라인 정품 인증 선택 – 커밋 

 

예 

 

 

11. 다음 

 

12. 구성 - 기본값 사용 – 커밋 

 

13. 기존 구성을 덮어씁니다. – 예 

 

14. 닫기 

 

 

참고 사항 1 - Office 2013 KMS 정품 인증 개수 확인 방법

 

Office KMS 호스트에서 아래 명령 실행

slmgr /dli 2E28138A-847F-42BC-9752-61B03FFF33CD

 

현재 수가 정품 인증 개수 입니다. 

 

 

참고 사항 2 - Office KMS 인증은 최소 5개 이상의 클라이언트에서 정품 인증을 요청해야 정상적으로 인증됩니다.

728x90
728x90

forfiles /p Path /s /m * /d -30 /c "cmd /c rd @path /q /s"

 

위 명령에서 Path를 실제 삭제할 폴더의 경로로 수정해야 합니다.

 

예를 들어, E: 하위의 만든지 30일 이상된 모든 폴더와 파일을 삭제하고자 한다면 아래와 같이 사용합니다.

forfiles /p E: /s /m * /d -30 /c "cmd /c rd @path /q /s"

 

위 명령을 배치 파일로 만들고 작업 스케줄러에 등록해서 사용하면 편리합니다.

 

 

참고 사이트
http://ccm.net/faq/9378-batch-script-to-delete-file-older-than-30-days
http://www.sevenforums.com/tutorials/55721-folder-delete-command-prompt.html

728x90
728x90

인증서를 신뢰할 수 있는 루트 인증 기관에 추가

certutil -addstore "Root" "인증서 경로"

사용 예) certutil -addstore "Root" "D:\TestCertificate.cer"

 

인증서를 개인용에 추가

certutil -addstore "My" "인증서 경로"

사용 예) certutil -addstore "My" "D:\TestCertificate.cer"

 

인증서를 중간 인증 기관에 저장

certutil -addstore "CA" "인증서 경로"

사용 예) certutil -addstore "CA" "D:\TestCertificate.cer"

 

참고 URL

Certutil - https://technet.microsoft.com/en-us/library/cc732443(v=ws.11).aspx
Import Certificate to Trusted Root but not to Personal [Command Line] -http://stackoverflow.com/questions/23869177/import-certificate-to-trusted-root-but-not-to-personal-command-line



Fyi...

컴퓨터 인증서 MMC 실행 명령

Certificate Local Machine

-> certlm.msc

 

사용자 인증서 MMC 실행 명령

Certificate Manager

-> certmgr.msc

728x90
728x90

Debug Diagnostic Tool v2 Update 2 버전을 사용해서 User mode 프로세스 crash 발생 시 자동으로 덤프를 수집하는 방법을 아래와 같이 정리하였습니다. 어플리케이션의 예기치 않은 종료 문제를 찾기 위해 필요할 때가 있죠.

 

본 예제는 SQL Server Agent 서비스가 예기치 않게 종료될 때, 자동으로 덤프를 트리거하는 방법입니다.

 

1. 다음 링크를 통해 64-bit 버전의 Debugdiag 툴을 다운로드 받아 SQL Server Agent 가 실행 중인 서버에 설치합니다.
https://www.microsoft.com/en-us/download/details.aspx?id=49924

 

2. Debugdiag 2.0 Collection – Add Rule – Crash – 다음  

 

3. A Specific NT service  - SQLSERVERAGENT 선택

 

4. Breakpoints - Add Breakpoint - Ntdll!ZwTerminateProcess 선택

 - Action Type : Full dump

 - Action Limit : 3

 

 

5. 디스크 가용 공간이 충분한 경로에 덤프가 생성되도록 폴더를 설정하고 Active the rule now 메뉴를 선택하여 즉시 이 규칙을 적용할 수 있습니다.

 

만약 SQL Server Agent 서비스가 예기치 않게 종료된다면 설정한 폴더에 덤프 파일이 자동으로 생성됩니다.

 

더 이상 덤프를 트리거 하고 싶지 않다면 위에서 생성한 규칙을 선택한 후 Remove Rule 버튼을 클릭하여 서비스에 영향을 주지 않고 제거할 수 있습니다.

 

728x90
728x90

서버 이전작업시 master DB를 그대로 이전한다고 했을때
MS-SQL 2000에서는 대상서버로 master DB를 이전하려면 master DB의 백업본을 가지고 단일 사용자 모드에서 복원하던지
대상서버의 MSSQL 서비스를 중지시킨 다음 원본 서버의 mdf 파일을 복사해 서비스를 시작시키면 기존의 master DB를 사용할 수 있었다.

하지만 이때 master DB에 저장되어 있는 연결된 서버 정보를 그대로 사용할 수 있으므로
이런 정보를 이용하여 다른 서버에 특정 권한으로 접근할 수 있게 된다.
이러한 문제 때문인지 MS-SQL 2005에서 보안이 강화되어 master DB를 사용하기 위한 추가적인 작업이 필요해졌다.

MS-SQL 2005에서는 "서비스 마스터 키" 라는 개념이 도입되었다.
BOL을 보면 "서비스 마스터 키"는 다음과 같이 설명되어 있다.

서비스 마스터 키는 연결된 서버 암호, 인증서 또는 데이터베이스 마스터 키를 처음으로 암호화할 필요가 있을 자동으로 생성됩니다. 서비스 마스터 키는 로컬 시스템 또는 Windows 데이터 보호 API 사용하여 암호화됩니다. API SQL Server 서비스 계정의 Windows 자격 증명으로부터 파생된 키를 사용합니다.

서비스 마스터 키의 암호는 해당 키가 만들어진 서비스 계정이나 해당 서비스 계정의 Windows 자격 증명에 대한 액세스 권한이 있는 보안 주체 의해서만 해독될 있습니다. 따라서 SQL Server 서비스를 실행 중인 Windows 계정을 변경하면 서비스 마스터 키의 암호 해독도 계정으로 활성화해야 합니다.

만일 master DB를 복사해 오거나 복원을 했다면 서비스를 시작했을 때 sp_readerrorlog를 통해 다음과 같은 오류 메시지를 확인할 수 있다.
(사용자 DB도 모두 정상적으로 시작되고 언뜻 보기엔 정상으로 보일 수 있다.)

    2008-06-06 12:08:08.680 spid4s 오류: 15466, 심각도: 16, 상태: 1.
   
2008-06-06 12:08:08.680 spid4s An error occurred during decryption.

그리고 연결된 서버를 읽거나 추가/수정/삭제 하려고 하면 다음과 같은 화면을 만나게 된다.
"암호화 해독 중에 오류가 발생했습니다."

이때는 원본 서버에서 서비스 마스터키를 파일로 백업해서 대상 서버에서 복원시키면 정상적으로 암호화된 정보를 이용할 수 있다.
     BACKUP SERVICE MASTER KEY TO FILE = 'c:\service_master_key' ENCRYPTION BY PASSWORD = 'password'
    
RESTORE SERVICE MASTER KEY FROM FILE = 'c:\service_master_key' DECRYPTION BY PASSWORD = 'password' -- [FORCE]

RESTORE시 FORCE 옵션은 서비스 마스터 키 복구로 인해 기존에 생성된 정보가 손실될 수 있는 경우 오류 메시지가 발생하게 되는데 이를 무시하고 적용하겠다는 옵션이다.

이렇게 서비스 마스터 키를 복원하고 나서 MS-SQL 2005 서비스를 재시작하면 sp_readerrorlog에서 오류 메시지가 사라진 것을 확인할 수 있다.

이런 이유로 master DB를 백업할 때 서비스 마스터 키도 함께 백업을 해 두어야
나중에 복구할 이슈가 발생했을 때 master DB의 암호화된 정보를 사용할 수 있을 것 같다.


[별첨] BOL에서 설명하고 있는 보안수준.
SQL Server 수준에서의 최상위 정보가 서비스 마스터 키 이며,
데이터베이스 암호화시도 이 서비스 마스터 키를 이용하여 암호화를 한다고 한다.

728x90
728x90

DB서버를 신규 장비로 교체하거나 2대를 1대로 합치는 작업을 종종하는데요, 자주하는 작업이 아니라서, 조금씩 놓치는 부분이 발생하게 됩니다.
팀에서 DB서버 이전시 챙겨야 하는 작업에 대해서 함께 정리해 보았습니다.

      구분                                     항목    체크
사전 작업 SQLIOSim 테스트를 통하여 신규 장비에 물리적인 결함이 없는지 확인(신규장비로 이전시)  
작업 대상서버에서 이전 작업시 수행되는 배치나 백업 작업이 있는지 확인(부하 / 잠금 등)  
데이터를 이전 받는 서버의 디스크 공간은 충분한지 확인 필요 (백업본 보관도 고려 필요)  
통계 시스템 등 해당서버에서 데이터를 가지고 가는 부분이 있다면 해당 담당자에게 공유  
이전 준비 작업
(이전해야 할 내용
확인/이관,
신규 장비일 경우
추가 설정 내용)
DTS 또는 SSIS 작업 이관  
hosts 파일에 등록된 내용 확인 및 이관  
서버/클라이언트 네트워크 (alias 등록하여 사용중인 내용) 내용 확인 및 이관  
연결된 서버 설정 확인 및 이관  
DB 계정 설정 확인 및 이관  
윈도우 예약작업 확인 및 이관  
MSDTC 설정 (분산 트랜잭션 사용중인 경우) 확인 및 이관  
execute 로 실행되는 동적쿼리가 있을 경우 그에 대한 실행권한 확인  
IPSec 확인 및 이관  
64bit 장비의 경우 플랜캐시가 커지는 현상이 있어 adhoc 지우는 Job 추가  
서비스팩 현재 서비스중인 서버까지 올려놓을 것  
Default 정렬셋이 동일한지 확인 (사용자 DB만 이관할 경우 문제가 되어질 수 있음.)  
임의쿼리에 대한 변경을 할 경우 확인 및 변경
(확인 방법 : 프로필러 + 메모리 내의 Ad-Hoc 플랜캐시영역 확인)
 
이전 작업
(작업 당일 진행
순서)
(현업 또는 관련팀) 서비스 점검 상태 확인  
(복제가 있었다면) 복제 정지 / 삭제  
예약된 작업 정지 (이 서버 및 이 서버와 연결된 타 서버)  
(현업 또는 관련팀) DB에 더 이상 데이터 변경이 없을 때까지 대기,
sp_who2 등으로 접속자 확인
 
풀 백업 후 장비간 복사  
(시스템담당자) (기존 장비 대체인 경우) 호스트 이름 및 IP 변경 요청   
리스토어 및 DB 액세스 계정 등 확인 & 설정  
(복제가 있었다면) 재구성  
SQL Agent 실행여부 확인, 설정 점검('자동 실행') 및 예약된 작업 시작  
접속 테스트, Application 테스트 진행  
(현업 또는 관련팀) 서비스 오픈 확인  
작업 후 체크 모니터링 설정하기 (개별적으로 모니터링 툴이 있는 경우)  
DB 및 트랜잭션 백업 설정 확인  
OS 예약 작업은 이전되었으며 동작하고 있는가?  
DB 모드 (특히 로그) 및 호환성 모드 등의 설정은 적절한가? 로그 파일 크기는 적절한가?  
2차 백업 구성 확인: 백업 폴더가 있는 드라이브 체크, 백업용 공유 폴더 설정 체크,   
IP / 호스트명이 변경되었다면 백업 서버 설정도 확인 후 변경이 필요함  
작업 후 모니터링 성능상의 이슈가 없는지 체크(profiler로 duration, cpu, pagelookup으로 모니터링)  
perfmon로 주요지표에 대해서 실시간으로 모니터링
(pagelookup, cpu, batchrequest, lock, latch, disk 사용량 등)
 
시스템 관련 작업 64bit 장비의 경우 원격에서 파일 복사시 메모리 뺏김 현상이 있으니 이 부분에 대한 확인
(동적 캐시 관리 서비스 설치, 또는 2차 백업을 끌어가기가 아닌 밀어넣기로 변경)
 

 

728x90
728x90

글을 보다가 재미난 테스트 내용이 있어 공유드립니다.

테스트 내용은 연결된 서버를 통해서 데이터를 가지고 올 때 Pull/Push(땡겨오는/밀어넣는) 방식에 따른
성능 차이가 얼마나 발생하는지 비교한 내용입니다.

1. 테스트 스크립트 (5만건의 데이터 이관할 때 사용한 스크립트)

-- Push Script

insert openquery(SQL02, 'select * from testDB.dbo.target_table') select * from source_table;

 

-- Pull Script

insert target_table select * from openquery(SQL01, 'select * from testDB.dbo.test')

2. 테스트 결과



3. 결과에 대한 의견
  > Pull 방식이 Push 방식에 비해서 성능이 매우 좋은 것을 볼 수 있습니다. (약 120배)
  > 대량 데이터 이관시 Pull 방식을 사용하시기를 권장합니다.
  > 단순한 쿼리를 사용한 테스트이므로 모든 경우에 Push 방식이 더 빠르다고 이야기하기는 힘들 것 같습니다.
     (Join이나 subquery가 있는 경우 결과가 달라질 수 있지 않을까 생각해봅니다.)

4. 연결된 서버 사용에 대한 개인적인 의견
  > 서비스 프로시져 내에서 연결된 서버를 사용하는 것은 권장하고 싶지 않습니다.
     이유는 1대의 DB서버 장애시 다른 DB서버까지 장애가 확대되어지기 때문입니다.
  > 필요한 부분이나 상황에 맞추어 사용할 필요는 있지만 가능한 서비스 프로시져 내에서 여러 "연결된 서버"에
     접근하는 것은 제거 또는 최소화하는 것이 좋지 않을까합니다.


출처. Linked servers and performance impact: Direction matters!

728x90
728x90

올해초에 SSMS Tools Pack을 소개시켜드린 적이 있었는데, 신규 버젼이 나와서 공유드립니다.

신규 버전의 가장 큰 특징은 아래와 같습니다.
  1. Tab Sessions : 종료된 세션에 대한 기록 조회 가능     



  2. Execution Plan Analyzer : 쿼리 실행계획 분석, 실행계획을 이미지로 바로 캡쳐
     - 왼쪽 상단에 있는 3개의 아이콘이 비용/개선 중요도가 높은 작업을 찾아서 보여주는 기능을 가지고 있습니다. (검색도 포함)
     



한번 더 소개를 드린 이유는 Execution Plan Analyzer 기능이 추가되어서 입니다. 실행계획을 분석할 때 도움이 될 것 같네요.

출처 : http://www.ssmstoolspack.com/

728x90

+ Recent posts