IT/Ncloud

[39] Ncloud Linux 서버 구축

o_zeew 2022. 4. 10. 15:07

<Ncloud 서버 구축>

 

<서버 설계>

 

<문제>

1. VSFTPD
 1. 대부분 기존 설정. passive 65000-65100, 사용자 a, b chroot a만, tcp rapper 사용 인함
 2. /ftp에 배너, chroot list 파일, xferlog 저장
2. DNS
 1. 정방향 및 역방향 모두 설정
3. WEB(Main page는 SSL적용)
 1. Blog 페이지는 실제 PC만 접속 가능
 2. Intra 페이지는 a, b 사용자만 접속 가능
4. Ncloud 역시 가상머신에 SSH인증서로 패스워드 없이 원격접속할 수 있게 구성


 

<서버 생성>

 

*서버 생성과 공인 IP 할당은 아래의 포스팅을 참조해주시기 바랍니다

https://di-on.tistory.com/23

 

[21] Linux Shell Script 생성 | Shell Script 제거 | ncloud 사용

(1) Linux Shell Script 생성 (2) Linux Shell Script 제거 (3) nclound 생성 (4) ncloud 제거 1. Linux Shell Script 생성 1. script 디렉토리 생성 2. vi 편집기로 디렉토리 내부에 쉘 생성 후 작성 * source..

di-on.tistory.com

 

 

  - ncloud에서 사용할 3개의 서버 생성 후 공인 IP 할당

3개의 서버 생성과 공인IP 할당 완료

 

  - ACG 설정

  * 실습에 필요한 포트들을 미리 열어줍니다.

 

 

<도메인 설정>

  - hosting.kr 에서 도메인 설정

    (로그인 - 도메인 관리 - 설정할 도메인 선택 - 네임 서버 변경 - 호스트 등록 후 네임 서버 변경)

 


 

  - xShell 로그인

 

첫번째 서버 설정

  - 주 DNS, WEB(main, blog), NFS-Server

 

1. 필요한 프로그램 설치

DNS(bind, bind-utils, bind-libs), WEB(httpd), NFS
설치 완료

 

2. DNS 설정

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

  - 정방향, 역방향 조회 영역 설정

vi 편집기로 조회 영역 파일 열기
정방향 조회 영역 관련 부분 복사해서 사용
역방향 조회 영역 관련 부분 복사해서 사용

  * 보조 DNS IP는 내부 IP로 작성

정방향과 역방향의 도메인 네임, IP 작성 / 주 DNS이기 때문에 master type / 파일명 / 보조 DNS 업데이트 가능하게 설정

 

  - 동일한 이름으로 영역파일 복사

정방향 영역 파일 : jwoh.xyz / 역방향 영역 파일 : xyz.jwoh

 

  - 정방향 영역 파일 작성

정방향 영역 파일 열기
정방향 조회 정보 작성 : 공인 IP로 작성

 

  - 역방향 조회 영역 설정

역방향 영역 파일 열기
역방향 조회 정보 작성 : 공인 IP로 작성

 

  - 권한 설정

others에게 읽기 권한을 부여해야 보조 DNS가 파일을 사용 가능

 

  - 시스템 재시작

 

 

3. WEB 서버 설정

  - Blog 관련 파일을 모을 디렉토리 생성

/var/www/ 아래에 vlog 디렉토리 생성

 

  - 시작페이지 작성

main 시작페이지 생성
main 시작페이지 작성
blog 시작페이지 생성
blog 시작페이지 작성

 

  - 가상호스트와 접근제한 설정

vi 편집기로 conf 파일 열기
가상호스트 생성 / blog에 실제 PC만 접근 가능

 

  - welcome.conf 파일 이름 변경

 

  - 시스템 시작

 

4. NFS SERVER 설정

  - 디렉토리 생성 및 권한 변경

 

  - NFS 등록

설정 파일 열기
실제 PC IP 주소와 Client 서버 공인 IP 주소 등록

 

  - 시스템 시작

 

  - 설정 적용 확인

exportfs -v 명령어로 설정 적용 확인

 


 

두 번째 서버 설정

  - 보조 DNS, WEB(main, blog, intra), NFS-Client

 

1. 필요한 프로그램 설치

WEB(httpd), DNS(bind, bind-utils, bind-libs), NFS(nfs-utils)
설치 완료

 

2. 보조 DNS 설정

  - 설정 파일 편집

vi 편집기로 설정 파일 열기

 

모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

 

  - 정방향, 역방향 조회 영역 파일 편집

정방향과 역방향의 도메인 네임, IP 작성 / 보조 DNS이기 때문에 slave type / 파일명 / 주 DNS 내부 IP 작성

 

  - 시스템 시작 후 확인

정방향 파일과 역방향 파일을 주 DNS에게서 받음

 

3. WEB 서버 설정

  - 필요한 디렉토리 생성

blog와 intra 디렉토리 생성

 

  - 시작페이지 설정

Main 시작페이지 생성
Main 시작페이지 작성
blog 시작페이지 생성
blog 시작페이지 작성
intra 시작페이지 생성
intra 시작페이지 작성

 

  - Userfile을 생성할 디렉토리 생성

 

  - 사용자 계정 생성

사용자 a, b 생성

 

  - 접근 제한 설정

.htaccess 접근 제한 파일 생성
userfile의 경로 / 사용자 a와 b만 접근 가능

 

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
가상호스트와 접근 제한 작성

  - welcome.conf 파일 이름 변경

 

  - 시스템 시작

 

4. NFS CLIENT 설정

  - mount 할 디렉토리 생성

 

  - NFS 서버와 mount

NFS 서버의 /nfs 디렉토리와 mount
mount 확인

 


 

세 번째 서버 설정

  - 보조 DNS, FTP, WEB(main,intra), Mail

 

1. 필요한 프로그램 설치

FTP(vsftpd), WEB(httpd), DNS(bind, bind-utils, bind-libs), MAIL(sendmail, sendmail-cf, dovecot)
설치 완료

 

2. FTP 설정

  - 사용자 생성

사용자 a, b 생성

 

  - 500MB 파일 생성

사용자의 홈디렉토리에 파일 생성

 

  - FTP 관련 파일을 모을 디렉토리 생성

 

  - Banner 작성

banner 파일 생성
Banner 작성

 

  - Chroot list 작성

chroot 파일 생성
사용자 a chroot 적용

 

  - 설정 파일 편집

vsftpd.conf 파일 열기
xferlog 사용
xferlog file 경로
접속 후 120초동안 움직임 없을 시 차단
data 전송시간이 60초를 초과할 경우 중단
banner file 경로
chroot list file 경로
chroot에게 쓰기 권한 부여 / passive mode 사용 / 최소 포트 / 최대 포트 / ftp username =nobody

 

  - 시스템 시작

 

 

3. 보조 DNS

  - 설정 파일 편집

named.conf 파일 열기
모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

 

  - 정방향, 역방향 조회 영역 파일 설정

조회 영역 파일 열기
정방향과 역방향의 도메인 네임, IP 작성 / 보조 DNS이기 때문에 slave type / 파일명 / 주 DNS 내부 IP 입력

 

  - 시스템 시작 후 확인

정방향 파일과 역방향 파일을 주 DNS에게서 받아옴

 

4. WEB 서버 설정

  - 필요한 디렉토리 생성

intra 디렉토리 생성

 

  - 시작페이지 작성

Main 시작페이지 생성
Main 시작페이지 작성
intra 시작페이지 생성
intra 시작페이지 작성

 

  - 사용자 생성

userfile을 넣을 디렉토리 생성 후 사용자 생성

 

  - 접근 제한 설정

.htaccess 파일 생성
Userfile 경로 / 사용자 a, b만 접근 가능

 

  - 설정 파일 편집

가상호스트와 접근 제한 작성

 

  - 시스템 시작

 

5. MAIL 설정

  - 설정 파일 편집

sendmail.mc 열기
주석 해제 후 레벨 14로 변경
인증 관련 부분 주석 해제
모든 IP에 서비스 하기 위해 IP 설정 부분 삭제

 

  - 작성한 파일을 configure 파일에 밀어넣기

수정한 sendmail.mc 파일을 sendmail.cf 파일에 넣기

 

  - sendmail.cf 파일 편집

39번째줄의 빈칸 삭제

 

  - 도메인 등록

도메인 이름 작성

 

  - 사용자 생성

사용자 aa, bb 생성 후 비밀번호 설정

 

  - 접근 제어 파일 설정

IP 주소와 네트워크 작성

 

  - Hash 설정

sendmail이 이해하도록 hash 작업

 

  - Group 사용자 수정

mail에 사용자 aa, bb 추가

 

  - 시스템 시작

메일 시스템과 인증 관련 시스템

 

  - 서비스할 Port와 Protocol 지정

인증 파일 열기
imap, pop3, lmtp 프로토콜 사용
모든 Port로 모든 IP에 서비스

 

  - 인증 파일 설정

평문 인증 사용

 

  - 사서함 위치 설정

메일의 위치 = /var/mail/사용자이름(변수)

 

  - Port 열기

imap의 143번 포트 열기
pop3의 110번 포트 열기

 

  - SSL 편집

SSL 사용 안함

 

  - 시스템 시작

 

 


<SSH 설정 - 모든 서버>

1. .ssh 디렉토리 생성

 

2. 실제 PC에서 첫 번째 서버로 공개키와 개인키 업로드

  * 두 번째 서버와 세 번째 서버에는 첫 번째 서버에서 공개키만 업로드 

 

3. 설정 파일 편집

sshd config 파일 열기
root 로그인 허용
패스워드 로그인 해제

4. 시스템 시작

 


 

<SSL 적용 - Main Web Page >

1. 개인키 생성

 

2. 개인키로 인증요청서 생성

 

3. 개인키와 인증요청서로 인증서 생성

 

4. 개인키와 인증서 위치 이동

 

5. 두 번째 서버와 세 번째 서버에도 키와 인증서 업로드

 

6. SSL 설정(모든 서버 동일)

mod ssl 설치
설치완료
ssl.conf 설정 파일 열기
Document Root 경로 주석 해제
인증서와 개인키 경로 수정

 

7. 시스템 재시작

 


 

설정 적용 확인

  - 팀원끼리 접속해서 확인

 

  - WEB 확인

Main 웹서버 SSL 적용 확인
Main 웹서버 SSL 적용 확인
Blog 실제 PC 이외의 사용자 접근 불가 확인
Intra 로그인 요구
Intra 접속 확인

 

 

  - FTP 확인

FTP 접속 확인

 

  - NFS 확인

client 서버에서 생성한 파일을 server에서 확인
팀원의 NFS 서버에 윈도우 접속
mount 확인
파일 작성
팀원의 NFS 서버에서 파일 확인 가능

 

  - MAIL 확인

팀원에게 메일 송신
팀원이 보낸 메일 수신