22.03.21
목차
1. DHCP, FTP, HTTP 종합 문제
2. HTTPD
3. DNS
DHCP, FTP, HTTP 종합 문제
문제
< DHCP >
Network 10.0.0.0/24
- 서버는 30대 정도 운영중, 고정IP 사용중, IP는 네트워크 앞쪽부터 순차적으로
- dhcp 서버는 11번째 운영중
- dns 서버는 첫번째에서 운영중, 단 2차 DNS는 Google의 Public DNS를 사용
- Gateway주소는 마지막 IP사용중
- 임대시간은 1시간
- 예약기능 사용해서 W10-1은 101번째 IP, W11-1은 201번째 IP를 우선적으로 사용
< vsftpd >
- passive mode로 운영
- Server port 결정, min 60000 max 65000
- 사용자 cc, dd
- chroot = cc
- data 디렉터리에 chroot 설정
- 파일은 /data/chroot
- anonymous 사용, upload 불가
- xferlog 위치 /data/xfterlog
- 배너 파일 위치 및 파일 이름 /data/ban
- tcp_wrapper 사용여부와 차단할 IP
- W10-1 허용, W11-1 불가
- idle time & Data Connection time out
- idle time 5분, data connection time out 60초
< httpd >
Httpd (Apache) + Nginx
# yum install -y httpd
# systemctl start httpd
# tcp 80 방화벽 열기
풀이
- 최소포트가 60000, 최대포트가 65000이므로 설정
HTTPD
- Httpd (Apache) + Nginx
- 설정파일 : /etc/httpd/conf/httpd.conf
- Apache root 홈 디렉터리 경로
- 기본적으로 /etc/httpd이며, 설정시 절대경로로 설정
- 다른 IP주소와 포트에 대해서 연결할 수 있도록 해준다
ex) https는 443인데 뒤에 안붙고 www.naver.com 만 사용이 가능
- 인트라넷 접속 시에는 포트변경하여 사용할 수 있다
- 필요할 때 가져다 쓰겠다는 느낌
- root권한을 쓸 수는 없으므로 apache로 지정
- 만약, 해킹을 당할 시 root권한을 뺏기는 것을 방지
- 서버 오류 발생시 클라이언트로 전송할 오류 메세지에 보여질 관리자 이메일 주소
- 보안을 위해 요즘은 팀메일을 많이 넣는 추세이다
- 일반 사용자들의 최상위 디렉터리 접근을 막음
- 사용자 인증도 막음
- 아파치 서버의 웹문서가 있는 경로 지정
- 특정 디렉터리를 입력했을 때 하위 디렉터리들의 목록이 나열되는 것
ex) apahce.org의 distribution directory 생각
- 활성화하게 되면 보안에 매우 취약하다(지우는 것이 좋다)
- index.html파일로 시작되는 파일로 서비스를 시작
- 중요한 부분이다
- .ht(사용자 인증관련 정보)에 대해 접근 거부
- warning 경고 레벨 수준부터 로그를 기록하겠다고 설정
- 멀티미디어 파일들은 사용하기 위해 mime에 등록 필수
- 원래 httpd설정파일이 1000줄이 넘지만, 해당 설정으로 인해 줄게되었다
DNS
- Domain Name System, Service, Server
- URL을 IP Address로 변환
- /etc/hosts를 예전엔 복사해서 사용
- URL 검색 순서
- 첫번째 cache memory 확인
- ipconfig /displaydns 캐시확인
- ipconfig /flushdns : 메모리에 있는 캐시삭제
- /etc/hosts 참조
- DNS (고정 IP설정 or DHCP 서버에서 수신하는) 참조
cache memory 확인하는지 테스트
- 현재 설정이 10.0.0.1로 되어있어 실습을 위해 설정
- nslookup : 도메인 네임을 얻거나 IP 주소 매핑
다른 특정한 DNS 레코드를 도메인 네임 시스템에 질의할 때 사용
- 권한 없는 응답이 오는 것은 지정된 DNS서버에 저장되어 있는 cache가 응답하는 것
- buffer : 일괄처리(여러작업 모아서 한번에)
- cache : 이전에 한번이라도 서비스한게 있으면 기억해두었다가
같은 작업이 생기면 빠르게 서비스함
- naver의 dns는 private dns이므로 naver를 제외한 다른 주소들을 찾지 못함
/etc/hosts 참조하는지 테스트
- W10-1의 Internet Explorer에서 진행
- ipconfig /flushdns : DNS 캐시 초기화
- ipconfig /displaydns : DNS 캐시 리스트 확인
- 캐시가 존재하지 않을 시 /etc/hosts를 참조하는지 확인하기 위함
- 해당 설정을 하기 위해서는 administrator 계정만 가능하다
- 캐시가 없으므로, /etc/hosts를 참조에 daum.net이 naver.com이라는 것을 확인
URL 검색
- 가운데의 DNS 서버가 Public DNS이다(도메인 관리서버)
- 그림에서 처럼 사용자가 해당 url을 찾는다고 가정하자
- Public DNS에 사용자가 물어보았을 때, public DNS는 전 세계의 root DNS에 물어본다
- 1차 도메인인 kr과 같은 종류의 답을 듣게 된다
- 후에, kr을 관리하는 DNS에 물어본다
- 해당 DNS에서 등록된 DNS를 알게 된다
- 마지막으로, 해당 DNS에 물어본다
- 해당 DNS에서 URL의 IP를 알게 된다
- Public DNS가 알게 된 IP를 사용자에게 전달하여 웹페이지에 접속하게 해준다
- Public DNS가 이처럼 질의응답 하는 것을 순환쿼리(Recursive Query)라 한다
- naver같은 Private DNS는 불가능
DNS 서버 구성
- /etc/named.conf
- /etc/named.rfc1912.zones
- /var/named
- 서버에는 랜카드가 1쌍으로 4개씩 달려있다(내부, 외부, 스토리지, 예비)
- listen-on port ~ ; : 1쌍마다 IP가 존재하는데,
그 중에서 무슨 IP로 DNS 서비스를 할 것인지 설정하는 줄
- allow-query : 누구에게 질의를 허용할 것인지
- 모두 any로 설정
- Public DNS 서버 사용을 위해 허용
- 인증서 쓰면 종단간 신뢰성 확보를 되기 때문에 dnssec을 많이 사용
- nameserver를 구성
- master : 주 영역, slave : 보조 영역
- file이름 지정한 것을 /var/named에서 생성해야 작동
- allow-update : 업데이트를 허용해줄 slave의 IP를 넣어주면 되지만 없으므로 패스
- 문자로 끝나면 반드시 끝에 .을 찍자!
< 1 >
- TTL : Time To Live(데이터 유지 시간)
- @ : 기본 도메인 설정
- IN : 네트워킹 주소 클래스(INternet)
- SOA : 해당 도메인의 모든 자원에 대한 권리를 알려주는 레코드 등록
- 여기서 부터 DNS가 시작한다고 선언하는 것
- 그 옆에는 네임서버, 팀메일을 주로 작성
< 2 >
- 보조영역이 주영역의 데이터를 동기화 하는 시간 설정
- 안될 시 재시도, 만료 등 설정
< 3 >
- nameserver와 그에 대한 IP 정의
- naverserver, mail 서버 설정
- A : 호스트 레코드(도메인을 IP로 연결)
- ns, mx는 레코드 값 꼭 따로 설정 필수!
- DNS는 평소에는 UDP를 사용하지만, 전송 데이터가 512byte 넘어가거나,
영역 전송할 때는 TCP를 사용하므로 둘 다 방화벽을 열어준다
- 클라이언트가 해당 파일의 내용을 읽을 수 있어야 한다
- 역방향 설정 전이므로, 기본 서버에 UnKnown이 나오게 된다
- 구글 DNS에서 knlee.xyz에 대한 정보를 받아 온다
- /etc/named.rfc1912.zones에서 설정
- 반대로 적어준다 생각하면 편함
- 정방향 zone의 신뢰성을 높이기 위해 사용
- PTR : 역방향 zone이 되면서 정방향의 A 역할
- 11을 넣어 10.0.0.11의 문자 주소 정의
DNS 서버 삭제