반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

비구름

33. HTTPD, DNS, 복습 본문

공부

33. HTTPD, DNS, 복습

비구름 2022. 3. 26. 05:28
반응형

목차

1. 복습 문제풀이

2. HTTPD

3. DNS

1. 복습 문제풀이

Network 10.0.0.0/24

- 서버는 30대 운영중, 고정IP사용중, IP는 네트워크 앞쪽부터 순차적으로

- dhcp 서버는 11번째 운영 중

- dns 서버는 첫 번째에서 운영중, 2DNSGooglePublic DNS를 사용

- Gateway주소는 마지막 IP 사용중

- 임대시간은 1시간

- 예약기능 사용해서 W10-1101번째 IP, W11-1201번째 IP를 우선적으로 사용

 

VSFTPD

- passive Mode로 운영

- Server Port : min 60000 max 65000

사용자 cc, dd cc는 chroot, data 디렉토리에 chroot 설정 파일은 chroot

- anoymous 사용여부 : 사용, upload허용여부 X

- xferlog 위치 /data/xferlog

배너 파일 위치 /data/ban

- tcp_wrapper 사용여부와 차단할 IP : W10-1 허용, W11-1 불가

- idle time & Data Connection time out : idle time 5, Data Connection time out 1

 

HTTPD (Apache) + Nginx

- yum install y httpd

- systemctl start httpd

- tcp 80 방화벽 열기

 

1.1 DHCP 설정

1.1.1. dhcpd 패키지를 설치합니다.

1.1.2. 문제에 제시된 조건에 맞게 IP Address를 설정합니다.

/etc/sysconfig/network-scirpts/ifcfg-ens33 설정
/etc/dhcp/dhcpd.conf 설정

1.1.3. 할당받은 IP Address를 확인합니다.

W10 설정
W11 설정

1.2. FTP 설정

1.2.1. vsftpd 패키지를 설치합니다.

1.2.2. 사용자 cc, dd를 생성하고 패스워드를 설정합니다.

1.2.3. 배너파일, chroot_list, xferlog 파일을 저장할 /data 디렉토리를 생성 후 설정 파일을 작성합니다.

banner_file 설정
chroot 설정

1.2.4. 문제에 주어진 설정에 맞게 /etc/vsftpd/vsftpd.conf 파일을 설정합니다.

anonymous 접근 가능
anonymous 업로드 불가
xferlog 사용
xferlog 파일 위치 지정
timeout 설정
배너파일 설정
chroot 설정
tcp_wrappers, chroot, 패시브모드 설정

1.2.5. tcp_wrappers를 설정합니다.

10.0.0.101 접근 허용
10.0.0.201 접근 불가

1.2.6. 방화벽을 설정합니다.

21번 포트, 60000~65000번 포트 open

1.2.7. ftp 서버가 정상적으로 연결되는지 확인합니다.

W10 cmd창
W11 cmd창

1.2.8. FileZilla를 통해 chroot가 정상적으로 설정되었는지 확인합니다.

사용자 cc
사용자 dd

1.3. httpd 설정

1.3.1. httpd 패키지를 설치합니다.

1.3.2. 방화벽을 설정합니다.

80번 포트 open

2. HTTPD

2.1. httpd의 설정파일

- /etc/httpd/conf/httpd.conf : 설정 파일의 경로

- ServerRoot 서버의 설정들이 있는 디렉토리

- Listen : 어떤 포트를 사용할 것인지 지정(지정 후 Domain 뒤에 포트 번호를 생략할 수 있음)

- 각종 모듈을 저장하고 conf 파일을 필요할 때 가져다가 사용

- 웹서버가 탈취당했을 시 루트 권한을 빼앗기지 않기 위해 루트권한은 설정하지 않음

- 서버의 관리자 (보통 팀메일을 사용)

- 서버네임, 주로 DNS에서 처리

- 루트 디렉토리에 대한 권한 설정(사용자 인증 사용, 모든 사용자들의 최상위 디렉토리로의 접근 불허)

- Web root 디렉토리, 컨텐츠 파일을 저장하는 곳

- 컨텐츠 디렉토리에 대한 권한 설정

- 디렉토리 리스팅 기능 설정 : 특정 URL을 입력했을 때 하위 디렉토리의 목록이 나열되는 것 (보안상 절대 설정하면 안됨)

- 시작페이지의 이름(index.html파일로 시작페이지로 사용)

- .ht로 시작하는 모든 파일 접근 거부, 사용자 인증에 대한 파일 파일권한 지정

- 에러로그

- 로그 레벨 설정(로그 레벨이 warn 이상일 때부터 에러로그를 기록)

- 웹서버에 접근한 시간 

- 멀티미디어파일에 대한 설정

- 어떤 에러페이지를 보여줄 것인지 설정

- 1000줄이 넘는 아파치 설정 파일을 분리해 놓은 것

 

2.2. index.html 생성하기

2.2.1. httpd를 시작합니다.

2.2.2. index.html 파일이 없으면 Wellcome Page가 출력됩니다.

2.2.3. /var/www/html/index.html 파일을 생성합니다.

2.2.4. 파일을 간단하게 설정해 줍니다.

2.2.5. httpd를 재시작합니다.

2.2.6. 10.0.0.11로 접속 시 index.html 파일을 읽어와 시작페이지를 보여줍니다.

3. DNS

3.1. DNS란?

- Domain Name System, Service, Server-

- 정방향 조회 : URLIP Address로 변환

- 역방향 조회 : IP Address를 URL로 변환

 

3.2. URL 검색 순서

- cache memory 확인

 - ipconfig /displaydns 캐쉬확인

 - ipconfig /flushdns

- /etc/hosts 참조

- DNS (고정 IP 설정 or DHCP 서버에서 수신하는) 참조

 

3.3. nslookup

- DNS 서버에 질의하여, 도메인의 정보를 조회 하는 명령어

- set type=all : 도메인 정보를 더 상세하게 조회

 

3.4. URL 검색 순서 확인

3.4.1. W10의 compmgmt.msc를 실행합니다.

3.4.2. 컴퓨터 관리 - 로컬 사용자 및 그룹 - 사용자 - Administrator의 암호를 설정합니다.

3.4.3. Administrator의 속성에서 계정을 활성화합니다.

3.4.4. 로그아웃 후 Administrator 계정으로 로그인 합니다.

3.4.5. 가짜 DNS 서버를 사용하고 있었기 때문에 public DNS 서버의 주소로 설정합니다.

3.4.6. cmd 창에서 nslookup 명령어를 통해 DNS 서버에 질의합니다.(권한없는응답 지정된 DNS 서버에 저장되어 있는 cache가 응답한 것)

- cache : 저장된 정보. 클라이언트 컴퓨터에서 입력했던 정보를 지정된 DNS 서버가 저장해두었다가 다음에 똑같은 요청을 받으면 네임서버를 거치지 않고 저장된 cache를 통해 바로 클라이언트에게 알려줌

 

3.4.7. IP Address를 통해서도 웹사이트에 접속할 수 있는 것을 확인합니다.

3.4.8. set type=all 명령어를 사용 후 질의하면 더 상세한 도메인 주소를 조회할 수 있습니다.

3.4.9. DNS 서버 주소를 ns1.naver.com의 주소로 바꾸고 테스트합니다.

ns1.naver.com의 주소 확인
DNS 서버 주소 변경
권한없는 응답이 사라짐, private DNS기 때문에 다른 주소를 조회할 수 없음

3.4.10. /etc/hosts 파일을 참조하는 것을 확인하기 위해 cachs를 초기화합니다.

W10 인터넷 옵션 설정
cache 초기화
cache 확인

3.4.11. naver.com의 IP Address를 하나 복사합니다.

3.4.12. 복사한 주소를 hosts 파일에 붙여넣어 daum.net으로 지정합니다(hosts 파일의 수정은 administrator만 가능)

3.4.13. daum.net을 입력하면 naver로 연결됨(/etc/hosts를 참조)

3.5. Recursive Query

- 클라이언트가 Public DNS 서버에게 어떠한 URL의 IP Address를 요청

- Public DNS가 root DNS에게 URL을 물어보면 최상위 도메인을 알려줌

- Public DNS가 해당 최상위 도메인을 관리하는 DNS에게 물어보면 URL이 등록된 DNS를 알려줌

- Public DNS가 해당 URL이 등록된 DNS에 물어보면 Public DNS에게 IP Address를 알려줌

- Public DNS에서 IP Address를 클라이언트에게 전달하여 웹페이지에 접속

 

출처 : krnic.kisa.or.kr

3.6. DNS 서버 설정

3.6.1. DNS 관련 패키지를 설치합니다.

3.6.2. vi 편집기로 /etc/named.conf 설정파일을 open 후 설정합니다.

DNS port 53에 어떤 IP가 접근할 수 있을지 설정, 모든 질의에 응답하도록 설정
외부 순환쿼리 허용

3.6.3. vi 편집기로 /etc/named.rfc1912.zones 설정파일을 open 후 설정합니다.

정방향 조회 설정

3.6.4. 정방향 조회 설정 파일을 복사하여 hgjang.xyz를 생성합니다.

3.6.5. /var/named/hgjang.xyz 파일을 설정합니다.

- ; : 주석

- TTL : Time to Live. 캐시 활성 시간, 서버 정보를 자주 변경하는 경우는 짧게 입력

- @ : 기본 도메인

- IN : Internet. 네트워킹 주소 클래스

- SOA : Start Of Authority. 네임 서버 관리자 메일 주소. 해당 도메인의 모든 리소스에 대한 권리를 알려 주는 레코드

- NS : Name Server. 네임 서버를 지정

- MX : Mail Exchanger. 지정하는 메일 서버가 2개 이상일 때 우선순위를 지정

- A : Address. 도메인을 IP로 매핑하는 가장 중요한 레코드

3.6.6. DNS 서버를 동작시킵니다.

3.6.7. DNS 방화벽을 설정합니다.(TCP, UDP 둘 다 사용)

3.6.8. hgjang.xyz 파일의 읽기 권한을 설정합니다.

3.6.9. DNS 서버를 재시작합니다.

3.6.10. 구성한 DNS 서버의 주소를 할당합니다.

3.6.11. nslookup 명령어로 DNS 서버의 동작을 확인합니다.(역방향 조회 설정이 되어있지 않기 때문에 Unknown 출력)

URL을 통해 웹서버 접속 가능
URL을 통해 ftp 접속 가능

3.6.12. Linux의 DNS 주소를 변경하고 Linux에서도 테스트를 진행합니다.

DNS 주소 변경
DNS 서버 동작 확인

3.6.13. 역방향 조회를 설정합니다.

설정파일 open
/etc/named.rfc1912.zones 설정
xyz.hgjang 파일 생성
xyz.hgjang 파일 설정
외부 사용자 읽기 권한 추가
DNS 서버 재시작

3.6.14. 역방향 조회가 정상적으로 설정된 것을 확인합니다.

3.7. DNS 서버 제거

DNS 패키지 제거
설정 파일 제거
방화벽 설정 변경

반응형

'공부' 카테고리의 다른 글

35. 가상 호스트, Linux 서버 구축 문제풀이  (0) 2022.03.28
34. Linux 문제풀이(DHCP, FTP, WEB, DNS)  (0) 2022.03.27
32. FTP(Active, Passive, FileZilla)  (0) 2022.03.21
31. FTP(1)  (0) 2022.03.16
30.DHCP(2)  (0) 2022.03.16
Comments