서버구성(Linux, Windows)

22.03.29

가로선 2022. 3. 29. 17:46

 

   목차   

 

1. DHCP 서버

2. FTP 서버

    - 가상 호스트

3. 연습 문제

4. WEB 서버

5. DNS 서버

    - 정방향, 역방향

    - 메일 서버

    - 가상 호스팅

 

 

   DHCP 서버   

 - Windows Server에서 진행

 - 예전에 한번 한 적 있으므로 간단히 포스팅

 

   DHCP 서버 구성   

 

DHCP 설치 후, 도구 - DHCP

 

DHCP 이름 지정

 

범위 지정

 

30번까지는 사용중이므로 제외, 254는 게이트웨이이므로 제외

    - 지금까지한 세팅값을 토대로 진행

 

임대 기간 1일로 설정

 

윈도우 서버 IP 및 DNS 주소 지정

    - 윈도우는 설정한 DNS가 자동으로 세팅할 때 들어가져 있다

 

게이트웨이 추가

 

   테스트   

 

W10-1에서 DHCP 할당 받고난 후 확인

 

W11-1에서 DHCP 할당 받고난 후 확인

    - 10.0.0.1(Windows Server)에서 받아온 것을 확인

 

윈도우 서버에서도 주소 임대가 잘 이뤄진 것을 확인

 

 

   FTP 서버   

 - Windows Server에서 진행

 - 리눅스에서의 설정과 매우 흡사하므로 생각해보면서 진행하자!

 

   설치   

 

FTP 서비스 설치(웹 서버 안에 존재)

 

FTP 서비스, IIS 관리 콘솔 선택 후 설치

    - 웹 서버는 잠시 후에 하기 위해 스킵

    - IIS 콘솔이 있어야 제어가능하므로 설치

 

   FTP 서버 구성   

 

설치 후, 도구 - IIS 관리자

 

FTP 데이터가 저장되는 폴더 생성

    - Inetpub : IIS를 설치하면 자동으로 생성

        - 이곳에 데이터들이 저장되지만, 설정같은 것을 넣어놓는 것은 권장하지 않으므로

          새로운 폴더 생성 후, 그곳에 저장

 

테스트를 위해 ftp.txt 파일 생성

 

IIS관리자 - 사이트 - 우클릭 - FTP 사이트 추가

 

FTP 사이트 이름 설정 및 경로 지정

    - 좀 전에 만들어 놓은 폴더로 경로 지정

 

바인딩 및 SSL 설정

    - SSL은 사용하지 않으므로 사용 안함에 체크

    - 자동으로 FTP 사이트 시작은 해도 되고 안해도 된다

 

인증 관련은 패스 후, 마침

 

FTP 서버 생성 화면

 

FTP 권한 부여 규칙 - 허용 권한 부여 규칙 추가

    - a, b 사용자에게만 FTP 관련 권한 부여

 

FTP인증에서 기본 인증을 사용

    - FTP 권한부여 규칙과 FTP 인증은 꼭 같이 설정되어야 한다

 

FTP 디렉터리 목록 스타일 변경

    - FTP가 오픈소스 기반이므로, UNIX 스타일이 좋다

 

FTP 로그파일 설정

    - 일정은 FTP에 사람이 많으면 매일에서 매시간으로 변경하는 것이 좋다

    - 로깅은 현지(대한민국) 시간 사용 X

        - 보안사고는 외국에서도 같이 터지므로 표준시인 UTC 사용이 기본

 

FTP 배너 및 메세지 설정

    - 사용자 변수인 %username%을 사용하여 접속하는 사람마다 다르게 설정

    - 배너 설정은 필수이다

 

FTP 요청 필터링

    - 확장명(.exe)에 대해 거부(연습용으로 작성한 것)

 

모든 설정 완료 후, FTP서버 시작

 

윈도우는 리눅스와 다르게 역할을 설치하면 자동적으로 방화벽이 열린다

    - 그러나, 무슨 이유에서인지 FTP 접속이 되지 않는다

    - 결국 수동으로 방화벽에서 열어줘야 접속이 된다

 

포트로 방화벽 열기

 

FTP 서버 포트인 20, 21번 포트를 열어준다

 

방화벽 규칙이름 설정(아무거나 가능)

 

   테스트   

 

W10-1에서 a 사용자로 FTP서버 접속 확인

 

W10-1에서 b 사용자로 FTP서버 접속 확인

    - 배너 출력과 사용자마다 다르게 인사메세지가 출력됨을 확인

    - FTP 루트 디렉터리로 지정되어 있어 FTP 폴더의 ftp.txt가 출력됨

 

   사용자 이름 디렉터리 / 격리 X   

 

사용자 격리를 통해 사용자 이름의 디렉터리를 각자의 홈 디렉터리로 지정

    - 사용자 격리가되지 않았으므로 탈출이 가능하다

 

우클릭 - 탐색에서 ftp 폴더로 이동

 

ftp 폴더에 a, b 사용자 폴더 생성

    - 테스트를 위해 각 사용자의 폴더에 a.txt, b.txt 생성

 

   테스트   

 

a 사용자의 폴더 안에 있는 a.txt가 출력

 

b 사용자의 폴더 안에 있는 b.txt 출력

    - a 사용자로 FTP 로그인 상태에서도 user를 통해 원하는 사용자로 변경 가능

    - 상위 디렉터리로 탈출이 가능하다

 

   전역 가상 디렉터리 / 격리 O   

 

전역 가상 디렉터리 사용으로 선택

    - 전역가상 디렉터리 사용은 최상위 디렉터리를 하나 새로 생성하겠다는 것

    - LINUX의 chroot지정과 동일

 

FTP폴더 아래 LocalUser라는 폴더 생성 후, 각 사용자 폴더 생성

    - 사용자 폴더의 최상위 디렉터리를 LocalUser로 지정

 

   테스트   

 

탈출이 안되는 것을 확인

 

   FTP 세션 확인   

 

FTP 세션 확인

    - 클라이언트가 FTP에서 dir, ls를 사용하면 이전 명령에 LIST로 출력

 

클라이언트가 FTP에서 get 사용(다운로드)

 

FTP 세션 확인

    - 클라이언트가 FTP에서 get(다운로드)를 사용하면 이전 명령에 RETR로 출력

 

클라이언트가 FTP에서 put 사용(업로드)

 

FTP 세션 확인

    - 클라이언트가 FTP에서 put(업로드)를 사용하면 이전 명령에 STOR로 출력

 

   FTP 로그 파일   

 

FTP 로그 폴더 위치

 

   가상호스트 구성   

 - 웹 서버에선 가상호스트가 DNS의 도움을 받아야한다

 - FTP에서는 DNS의 도움 받을 필요 없이 클라이언트가 로그인할 때 잘하면 된다

 

ftp_1 폴더 생성 후 LocalUser 폴더안에 c, d 사용자의 폴더 생성

 

가상호스트 구성

    - 위의 FTP 사이트 설정과 다를 것 없음

        - 자동으로 FTP 사이트 시작만 체크 후 진행

 

FTP 사이트(FTP_CLOUD)가 시작이 되지 않음

 

ftp_cloud가 시작되지 않는다

    - 이미 동일 IP, 동일 포트가 실행 중이므로 실행이 되지 않는다

 

우클릭 - 바인딩 편집

 

호스트 이름 추가하여 수정

 

가상 호스트를 추가

 

가상 호스트를 추가하니 시작이 된 것을 확인

 

c, d 사용자에게 권한 부여

    - FTP 인증에서도 기본 인증으로 변경!

 

사용자 격리

 

   테스트   

 

가상호스트로 FTP 접속

    - 가상호스트이름 | 사용자이름 으로 접속

 

 

   연습 문제   

 

   문제   

 

1. FTP 역할 삭제
2. FTP Content Root 폴더 삭제
3. 생성한 모든 사용자 삭제(a~~~~)후, REBOOT

1. FTP 역할 설치 (단 FTP만)
2. MAIN_FTP 구성
    - 사용자는 aa, bb
    - 사용자는 격리 되어야 함(chroot설정)
    - 사용자는 up, download 가능

3. Cloud_FTP 구성
    - 가상 호스트로 구성
    - 사용자는 aa, bb
    - 사용자는 격리 되어야 함.
    - up, download 가능

 

   풀이   

 - FTP 역할 삭제 및 사용자 삭제 진행 후 설정

 

사용자 aa 생성

 

사용자 bb 생성

 

전역가상 디렉터리 사용을 위해 그림과 같이 생성

    - FTP 폴더 아래 최상위 디렉터리로 할 LoalUser 폴더 안에 aa, bb 폴더를 생성

    - 테스트를 위해 각 사용자 폴더에 aa.txt, bb.txt 생성

 

FTP 사이트 생성

 

기본인증 사용

 

사용자 격리를 위해 전역 가상 디렉터리 사용

 

사용자 aa, bb에게 권한 부여

 

배너 및 메세지 작성

 

FTP 접속 테스트

 

다운로드 테스트

 

업로드 테스트

 

사용자 격리로 인해 탈출이 안되는 것을 확인

 

가상호스트 생성을 위해 새로운 폴더로 구성

    - 테스트를 위해 각 폴더에 aa2.txt, bb2.txt 생성

 

가상호스트 구성

    - 구성 후 FTP 권한부여 규칙, FTP 인증 등 설정값 변경!

 

바인딩 편집을 통해 가상호스트 구성

 

가상호스트로 aa 사용자 접속

 

다운로드 테스트

 

업로드 테스트

 

bb 사용자로 바꿔서 테스트

 

 

   WEB 서버   

 - Windows 서버에서 진행

 - Linux와 매우 흡사하므로 생각하면서 진행!

 

   설치   

 

웹 서버 설치 - 보안 탭

 

웹 서버 설치 - 상태 및 진단, 성능 탭

 

웹 서버 설치 - 일반적인 HTTP 기능 탭

    - WebDAV는 개발할 때 주로 사용

        - 여러 사용자가 자기파일을 업로드할 때 사용(보안취약점 多)

 

웹 서버 설치 - 관리 도구 탭

 

웹 서버 설치 후, 기본 웹페이지

    - 기본 웹페이지 자체도 취약점을 많이가져서 사용하지 않는 것이 좋다

 

   웹 사이트 설정   

 

IIS 관리자 - 기본 웹사이트 삭제

 

메인 웹 사이트 생성

    - C 드라이브에 콘텐츠 디렉터리로 사용할 main_web 생성

 

IIS 관리자 WEB 사이트 설정 화면

    - 아직은 기본 문서 제외하고는 크게 건들일 것은 없다

    - 리눅스의 /etc/httpd/conf/httpd.conf 생각하자!

    - HTTP 리디렉션에서 예전 도메인을 치고 들어오는 사람들을 위해

      예전 도메인을 쳐도 현 도메인으로 변경되서 들어오게 해줄 수 있다

    - 오류페이지에서 400번 대는 서버 측 오류, 500번 대는 클라이언트 측 오류

 

기본 문서에서 index.html 제일 상위로 이동

    - 응답속도를 높이기 위해 가장 상단으로 옮김

 

index.html을 사용하기 위해 컨텐츠 디렉터리에 생성

 

메모장으로 열어 작성

    - 리눅스랑 똑같은 것을 계속 생각하면서 진행!

 

   테스트   

 

W10-1에서 WEB 접속 테스트

 

 

   DNS 서버   

 

   설치   

DNS 서버 역할 설치

 

   정방향 영역 구성   

도구 - DNS

 

정방향 - 새 영역

 

주 DNS 생성

    - Linux의 master, slave 생각

 

DNS 이름 지정

 

영역 파일 생성(일단은 default값으로 설치 진행)

 

AD 사용에 따른 동적 업데이트 허용 여부

    - AD로 로그인하는 클라이언트를 자동으로 업데이트

        - 동적 : 사용자별로 다른 것이라 생각

        - 아직 AD환경이 아니므로 패스

 

설정정보 확인 후 마침

 

SOA

    - Linux에서 /var/named/knlee.xyz 설정과 똑같다

 

속성 - 이름 서버 추가

    - Linux에서 설정한 것 처럼 네임서버를 생성

 

ns1.knlee.xyz(네임 서버) 생성된 것 확인

 

새 호스트(ns1) 생성
ns1 생성된 것 확인

 

주 서버를 ns1으로 변경

 

@ 설정

    - 빈칸이나 @ 작성해도 똑같이 적용

 

www 설정

 

ftp 설정

 

작성된 것 확인

 

   테스트   

 

W10-1에서 nslookup으로 테스트

    - 역방향 설정 전이라 UnKnown으로 출력

 

웹 페이지 접속 테스트(www.knlee.xyz)

 

웹 페이지 접속 테스트(knlee.xyz)

 

ftp 접속 테스트

 

   메일 서버 구성   

 

knlee.xyz(정방향) 우클릭 - 새 MX

 

메일 서버 생성

 

메일도 추가

    - Linux에서 정방향 레코드 파일에 @, www, ftp, mail 추가하는 것과 동일

    - 메일은 자기자신이 IP를 저장할 힘이 없어서 호스트 생성이 필수

 

   역방향 영역 구성   

 

역방향 조회 영역 - 새 영역

 

네트워크 주소를 입력하면 자동으로 역방향 조회 영역 이름이 바뀌는 것을 확인

 

영역 설정정보 확인 후 마침

 

새 PTR 생성

    - 호스트 이름에서 찾아보기를 통해 정방향 네임서버를 찾으면 된다

 

생성된 것 확인

 

   테스트   

 

역방향 설정 후 네임서버 출력되는 것 확인

 

   가상 호스팅   

 

정방향 레코드 파일에 blog 추가

 

정방향 레코드 파일에 intra 추가

 

blog, intra의 컨텐츠 디렉터리로 쓸 폴더 생성

 

블로그의 웹서버 서비스 페이지 생성

 

인트라의 웹서버 서비스 페이지 생성

 

blog 웹 사이트 생성

    - 아래 바인딩에서 호스트 이름을 바로 작성하면, 쉽게 가상 호스팅 가능

 

intra 웹 사이트 생성

 

blog, intra 웹 사이트의 기본 문서 설정

 

   테스트   

 

nslookup으로 테스트

 

blog.knlee.xyz 접속 테스트

 

intra.knlee.xyz 접속 테스트

'서버구성(Linux, Windows)' 카테고리의 다른 글

22.03.31  (0) 2022.03.31
22.03.30  (0) 2022.03.30
22.03.28  (0) 2022.03.28
22.03.24  (0) 2022.03.24
22.03.23  (0) 2022.03.23