2024-03-19

Suk Jin Lee·2024년 3월 19일

Windows server
현재 조직에서는 Server 2016~2018을 점차 사용하는 추세이고 2012 정도까지는 일부 사용 중에 있다. Server 2008을 기본으로 배우고 나중에 Server 2016을 설치해서 Server 2008에서 일부 추가된 내용을 알아본다. 여기서 MS의 가상화 Hyper-V 등도 알아본다.

  • Windows Server의 특징
    Windows 서버는 Linux처럼 다중 사용자 시스템, Software RAID 지원, 강력한 네트워크 지원, 데이터 백업, 외부에서의 서버 접속, 데이터베이스 설치(MS SQL 서버), IIS(Internet Information System)을 통한 HTTP와 FTP 서버 설치, DNS 서비스(Active Directory 설정 시 도메인 필요), E-mail 서비스(무료 hMailServer나 MS Exchange 서버), DHCP 서버, 파일 서버, 도메인 설정(AD(Active Directory)를 통한 Group, OU(Organizational Unit)) 등이 가능하고, 가상화(Hyper-V), Server Core(Linux CLI처럼 그래픽 없이 Windows 서버 핵심만으로 운영하므로 리소스를 매우 적게 사용하고, 보안이 좋다) 등과 Windows 2016에서는 Nano Server를 사용해서 클라우드 서버로 활용한다)가 특색이다. 그리고 PDC, BDC 이외에 RoDC(Read only Domain Controller) 개념도 있다. 또 Windows에 내장된 cmd보다 강력한 Windows 7부터 내장된 Power Shell(Linux의 Shell Scripts와 유사)을 사용해서 Linux의 Shell Script처럼 강력한 스크립트로 시스템 운영하게 해준다.

=>Linux와 비교해서 Windows Server만의 정점으로는
1) 모든 도메인 내의 노드들에 적용되는 GPO(Group Policy Object) 설정
2) 여러 Domain 구축 및 확장, 그리고 연계가 편리해서 도메인 간 Trust 관계 설정이 용이
3) Terminal 서비스를 구축해서 하나의 소프트웨어를 서버에 설치해서 여러 클라이언트들이 공유해서 사용할 수 있다(초기의 IBM의 Main Frame과 유사한 수직적 개념 ). 하지만 이 서비스는 원격 데스크탑으로 점차 대체 되어서 Windows Server 2016에서는 사라졌다.

도메인(가상의 영역으로 여러 사용자와 컴퓨터 등이 묶인 이름)이 없는 처음 Windows Server는 Standalone(단독) Server(Local Server)가 되고, 나중에 kahn.edu와 같은 도메인을 생성해서 이 서버를 도메인에 가입시키면 Domain Server(기능면으로 Domain Controller)가 된다.
∎ 단독 로컬 서버에서의 사용자와 도메인 서버에서의 사용자는 구별된다!!!!!
단독 서버였을 때의 로컬 사용자는 단독 서버가 도메인 컨트롤러로 바뀌면 도메인 사용자로 자동 마이그레이션이 되지만 도메인 컨트롤러의 사용자는 자동으로 단독서버의 사용자가 되지 않는다!!!!
=>Standalone Server에서 paul 사용자를 생성하면, 나중에 이 서버가 Domain Server가 되면 paul 사용자는 자동으로 domain 사용자가 된다. 하지만 Domain Server에서 mary 사용자를 생성하면 이 mary 사용자는 도메인 사용자는 되지만 로컬 사용자는 안 된다!!!
∎ 도메인 사용자는 도메인에 가입된 어느 로컬 호스트(워크스테이션)에서도 도메인 서버로 접속할 수 있다!!! 이 경우 워크스테이션은 하나의 터미널에 불과하다.


서버를 설치해본다.
Windows Server 2008 ios파일을 사용해서 Vmware에 Enterprize로 설치.


계정생성
제어판 사용자 계정에서 생성

cmd에서 생성

컴퓨터 관리 - 로컬 사용자 및 그룹에서 추가

관리자는 시작>관리도구>컴퓨터 관리> 로컬 사용자 및 그룹> 사용자를 생성하고, 임의의 패스워드를 부여한 뒤, '다음에 로그온 시 패스워드 변경'을 체크하면 해당 사용자는 로그온 시 자신의 패스워드로 변경할 수 있다. 이것이 일반적인 관리자가 사용자를 생성해서 패스워드를 사용자가 지정하게 하는 방법이다.


일반 사용자의 경우는 다시시작, 시스템 종류 불가(관리자만 가능)

로컬, 도메인 설정

로컬 - 해당 서버 컴퓨터에만 적용되는 설정으로 컴퓨터에 있는 자원(사용자, 프린터, 데이터, ...)에게 적용된다.
<= 로컬 보안 정책에서 보안 설정
도메인 - 도메인 서버 컴퓨터에서 설정하면 해당 도메인에 속한 모든 자원(Resources)에게 공통적으로 적용되는 설정.
<= 도메인 보안 정책에서 보안 설정

  • 로컬 보안정책으로 가서 로컬 사용자에 대한 패스워드에 대한 최소 길이, 복잡성 만족, 로그온 실패 횟수와 잠김 기간 등을 지정할 수 있다.
    =>이 정책 설정 이전에 생성한 사용자들에 대해서는 패스워드 길이나 복잡성 만족 등이 적용되지 않지만, 로그온 실패 횟수와 잠김 기간 등은 적용된다.


    로컬 보안 정책 - 암호 정책에서 최소 4글자로 설정을 하고 이후 테스트 해보면 오류가 나는걸 볼 수 있다.

    또한 최대 실패 횟수 3회 실패시 잠김 1분을 걸어두고 테스트한 결과, 역시 정상적으로 작동 하는 것을 볼 수있다.

  • 사용자의 패스워드를 변경할 때
    일반 사용자는 자신의 이전 패스워드를 넣은 뒤, 새로운 패스워드를 넣어서 변경하고
    관리자는 어느 사용자의 이전 패스워드를 몰라도, 새로운 패스워드를 넣어서 바로 해당 사용자의 패스워드를 변경할 수 있다!!!

차후 실습을 위한 영문버전 WinSer 2008 설치 후, 위와 동일하게 설정


로컬 그룹 설정

컴퓨터 구성(HW)과 사용자구성(SW)
=> 우선순위 컴퓨터구성 > 사용자 구성

그룹 정책은 설정 후, 30분이 지나야 활성화가 된다.
그러나 관리자 권한 콘솔에서 바로 적용 가능(gpupdate /force)


Windows Server 부팅 과정
a. 전원 ->POST(Power On Self Test) ->MBR(Master Boot Record) ->BOOTMGR(멀티부팅이면 원하는 OS 선택) ->Windows Loader(win.ini, sys.ini) ->Login screen ->(로그인) ->시작 프로그램 실행 ->바탕화면으로 진행된다.
b. Windows Server가 정상 부팅되지 않으면 부팅 시 F8을 누르고 Safe Mode, Safe Mode with Networking, Safe Mode with Command Prompt, Last Known Good Configuration (advanced), 그리고 Start Windows Normally 등이 보이면 여기서 Safe Mode로 들어가서 작업을 해줄 수도 있다.
OR 시작>실행>msconfig를 입력하고>‘시스템 구성’ 창이 뜨는데
∎ 첫 번째 일반 탭에는 정상, 진단, 선택 모드가 있다.
∎ 두 번째 부팅 탭으로 가면 멀티 OS인 경우 여러 운영체제가 보인다. 그리고 하단에 부팅 옵션이 있는데 안전부팅에 체크해두면 여러 옵션이 다음처럼 활성화되므로 선택해서 부팅할 수 있다. 여기서는 취소해서 그냥 나간다.
∎ 서비스 탭에서는 시작할 때 어떤 서비스들이 실행되는지를 보이므로 조절할 수 있다.
∎ 시작 프로그램 탭에서는 시작할 때 자동으로 실행되는 프로그램들이 있다.
∎ 도구 탭에도 많은 선택 옵션이 있는데, 특정 도구를 선택한 뒤 우측하단이 시작을 클릭하면 실행된다.

시작 시 프로그램이 실행되게 하는 설정

해당 위치에 계산기와 텍스트 파일을 추가했다.

msconfig starup탭에 가서 확인해보면 정상적으로 들어가 있다.


이후 재시작을 해보면 정상적으로 나왔다.
(최초 재시작시 텍스트 파일만 나왔다. 계산기는 바로 복사 붙여넣시를 한 것이 원인. 경로가 달라서 그렇다. 이후, 바로가기를 생성하여 테스트 해보니 정상적으로 실행된다.)

  • 시작 프로그램에 특정 프로그램이나 코드를 넣으면 해당 사용자가 로그인 할 때만 실행되고, 다른 사용자로 로그인하면 실행되지 않는다.
  • 파일 숨김
    시작 프로그램에 특정 파일 등을 file_name$ or folder_name$를 붙이면 숨김 속성이 되기때문에 발견하기 힘들 수 있다.

원격 접속


원격 접속을 허용

접속 가능 사용자도 지정 할 수 있다.

  • 내장(built-in) group은 특정 목적을 위한 그룹이다. 사용자 정의 그룹을 생성할 수도 있다.
    그룹에 사용자들을 넣어서 해당 그룹의 목적대로 사용자들이 작업하게 해준다. <= Oracle에서 Role과 같다.

    (사용자 선택 고급탭에 들어오면, 생성해둔 사용자가 나온다.)
    설정 후 방화벽 설정으로 넘어간다.
  • Windows Server에서도 Linux 서버처럼 '(특정 프로그램 설치(OR 활성화)) =>제어판에서 서비스 시작 =>제어판에서 방화벽 확인'으로 특정 서비스를 실행시켜준다.

    방화벽 설정 예외 탭에 원격 데스크톱이 추가 되어있는지 확인

    장치관리>서비스에서 Remote Access 활성화를 한다(Auto, 일반 둘 다)
    설정 완료.
    이후 Ser2로 가서 테스트를 진행한다.

    중간에 인증서 키가 없어서 계속 진행하겠냐고 물어보지만 일단 진행해본다.

    (정상적으로 접속)
  • 원격 데스크탑 연결은 한 번에 한 사용자만 연결될 수 있다.
  • 클라이언트들이 원격 데스크탑 연결 시 '특정 프로그램이 실행'되게 할 수 있다. <=서버의 GP(Group Policy)로 설정할 수 있다.
    <=리거시한 Terminal Server 역할을 대신함 =>라이센싱(per user, per seat)이 문제될 수 있으므로 설정해 주어야 한다.
  • 원격 접속을 해서 서비스를 사용하면 필연적으로 발생 할 수 밖에 없는 문제가 '라이센트'이다.
    그도 그럴것이 하나의 PC에서 사용중인 프로그램을 다른 여러대의 PC에서 접속해서 사용하면 비용적인 측면에서 문제가 발생 할 수있기 때문인다.
    그렇기 때문에 별도의 설정을 해주어야한다.

작업 스케줄러

  • Windows 서버에서 Linux의 crond/at와 유사한 작업 스케쥴러는 작업 시간이 오래 걸리는 Disk Defrag나 Backup 등을 자주 작업해야 할 때 미리 스케쥴링 해서 한가한 시간에 수행되게 하는 기법이다.

    작업도구>작업스케줄러에 들어가 작업주기와 작업할 행동을 지정하고 저장한다.
    예약한 시간이 되면 정살적으로 서비스가 실행된다.

  • Windows에서는 생성한 파일/폴더를 휴지통에 버리고 휴지통 비우기도 하지만 Digital Forensic에서 복원 도구로 쉽게 복원되기 때문에 복원 불가한 완전 삭제가 보안상 중요하다. Windows 11에 들어있는 TPM(물리적인 장치: bit locker는 소프트웨어적인 설정)과 같은 원리로 폴더를 복구하려면 복구 키가 필요하기 때문에 먼저 복구용 키를 생성하는 작업부터 해주어야 한다.


성능 모니터
서버 성능의 문제나 오류 등을 확인하려면 성능 모니터를 사용하면 된다.


암호화

  • 데이터를 생성해서 암호화로 보호하기
    데이터를 생성한 뒤 암호로 데이터를 보호할 수 있다.
    =>일반적인 키 생성과 배포에서처럼, 암호화 문장을 생성한 사용자 A가 평문장을 암호화하고, 암호화에 사용된 키를 함께 생성한 뒤,
    이 키와 암호문을 사용자 B에게 전해주어야 사용자 B가 전달받은 키로 암호문을 읽을 수 있다. 하지만 쓰지는 못한다.
    생성한 암호문 키와 해독하는 키가 동일하기 때문에 대칭키 구조인데 키를 암호문과 함께 보내야 하는 문제가 있을 수 있다.
  • 사용자 A가 작성한 평문장은
    사용자 B는 읽기는커녕 열지도 못한다.
    관리자 Administrator는 읽을 수는 있지만 쓰지는 못한다.
  • 사용자 A가 작성한 암호문은
    사용자 B나 관리자는 키를 불러오고, 패스워드를 넣으면 읽을 수 있다. 하지만 쓰지는 못한다.

암호화 테스트를 위해서 paul 사용자로 들어와 파일을 생성

그중 암호문을 속성 암호화를 통해서 암화를 통해서 암호화 설정

암호화 후 암호화 인증서 키 백업



이후 PW를 지정하고 키를 생성할 위치, 키의 이름을 지정한 후 완료하면 키가 정상적으로 생성된 것을 볼 수 있다.

(paul이 아닌 다른 계정으로 로그인 해서 읽어보면 평문장을 읽을 수 있고(수정은 불가), 암호문을 읽을 수 없다. admin 계정의 경우에도 암호문을 읽을 수 없었다.)

이후 다른 계정으로 로그인 하여, 암호화 인증키를 클릭해보면 PW를 요구한다.

입력한 이후에는 암호문을 읽을 수 있지만 수정은 역시 불가하다.
업로드중..


  • Windows 서버가 DC(Domain Controller)로 사용되면
    AD(Active Directory)가 생성되고, 도메인_명(kahn.edu식)이 생성되어야 하고, 이 이름을 풀기위해서 DNS 서버도 활성화 되어져 있어야 한다.
    하나의 도메인은 Tree로 표시되고, 여러 도메인(pusan.kahn.edu, incheon.kahn.edu, ..식)이 서로 연계되어 있을 때에는 forest로 표시된다.
    이 forest 내에서 연계된 도메인 간에는 보안 설정에 따라서 단방향 Trust, 양방향 Trust 관계를 맺어서 각 도메인 간의 리소스를 서로 공유해서 사용하게 한다.

  • forest - 도메인이 모여 있는 그룹을 forest라고 한다. 도메인을 tree라고 부르기 때문

  • 단방향, 양방향 trust

    Windows 머신의 처리 속도를 빠르게 하려면, 몇 가지를 생각할 수 있는데
    ∎ 하드웨어적으로 RAM을 추가하거나, CPU를 빠른 것을 교체하는 방법이 있을 수도 있고,
    ∎ 소프트웨어적으로도 두 가지 방법이 있을 수 있는데
    a. 바탕화면의 컴퓨터>C: 드라이브를 선택하고 우클릭->속성>도구 탭>지금 조각모음(DeFrag)을 클릭해주거나
    b. 파일 색인(index)을 생성해서 '검색을 빠르게' 할 수도 있는데,
    =>시스템에서는 Indexing 기능을 이용해서 산재한 리소스를 빠르게 쿼리해서 찾을 수 있고,
    도메인 등에서는 ElasticSearch라는 기능으로 산재한 리소스를 빠르게 찾을 수 있다.

    * Windows에서의 압축파일은 .cab 이다. 이 Cabinet 확장자는 Windows에서 자동으로 압축이 풀린다.

profile
정보보안 시작

0개의 댓글