Cloud/Ncloud

Ncloud - Linux 작업 (Linux, DNS, FTP, WEB, NFS, MAIL, SSL)

잇(IT) 2022. 4. 10. 00:40
728x90

목차

1. Server 1

1.1 DNS 설정
1.2 WEB 설정
1.3 FTP 설정
1.4 NFS 설정

2. Server 2

2.1 DNS 설정
2.2 WEB 설정
2.3 NFS 설정
2.4 MAIL 설정
2.5 SSL 키 생성
2.6 키 생성 후 SSL 적용

3. 결과 확인

3.1 WEB
3.2 MAIL
3.3 NFS
3.4 FTP
3.5 SSL

* 추가 정보


- 이번 포스팅은 이전 포스팅에 이어서 서버 생성, 도메인 생성 및, 네임 서버 등록 이후 리눅스 환경의 서버에서 DNS,FTP, WEB, NFS, MAIL, SSL 등 여러가지 설정을 하고 실제 이용해 볼 것이다.

 


https://insoobaik.tistory.com/98

 

 

 

Ncloud - Ncloud 서버 생성, 가상 터미널 연결 (Linux, DNS, FTP, NFS, MAIL, SSL)

목차 1. 서버 생성 1.1 옵션 설정 1.2 인증키 1.3 ACG 설정 1.4 최종 확인 2. 공인 IP 할당 2.1 공인 IP 생성 2.2 공인 IP 서버에 할당 3. ACG(방화벽) 설정 3.1 ACG 설정 4. 서버 생성 확인 5...

insoobaik.tistory.com


- VSFTPD : 사용자 a, b / 배너 설정 / chroot a, b 둘 다 설정

- DNS : 정방향 설정, 역방향 설정

- WEB : Blog 페이지는 host-pc만 접속 가능 / intra 페이지는 a, b 사용자만 접속 가능 / https로 MAIN 접속 가능하도록 설정

- MAIL : ceo 계정으로 접속해서 메일 보내기


Linux 설정

 

1. Server 1

 

- DNS, WEB, NFS, FTP -> 사용에 필요한 패키지들을 설치해준다.


1.1 DNS 설정

 

-  NS 네임서버로 모두가 접근 가능하도록 설정을 변경한다.

 

* Listen-on port 53 : 네임 서버에 접속을 허용하는 주소를 설정하는 부분이다.

* allow-query : 네임 서버의 경우 하나만 있는 것이 아니기 때문에 하나의 DNS 서버에 여러개의 네임 서버를 가져오게 할 것인가에 대한 설정이다. 즉 추가 네임 서버를 허용하겠냐는 내용이다.

 

- /etc/named.rfc1912.zones 파일은 DNS서버에 IP와 도메인을 비교해주는 파일인 zone파일과 rev파일이 있는 경로와 정보가 있는 파일이다. 즉, 개별 도메인을 설정하는 파일이다.

-> 정방향과 역방향에 관련된 설정을 작성해주는데 이 때 보조 영역에 해당하는 IP 주소를 적을 때 공인 IP가 아닌 다른 IP가 들어가 있는 것을 볼 수 있다 이는 비공인 IP 즉, 사설 IP다.

-> 사설 IP 주소만으로는 인터넷에 직접 연결할 수 없다. 라우터를 통해 1개의 공인(Public) IP만 할당하고, 라우터에 연결된 개인 PC는 사설(Private) IP를 각각 할당 받아 인터넷에 접속할 수 있게 된다. 

-> 현재 첫번째 서버의 경우 주영역 DNS이기 때문에 type master; / allow-update {보조 영역 IP} 를 작성하여 보조 영역이 주영역의 zone 파일을 받아 올 수 있도록 설정한다.

 

- 정방향 zone 파일과 역방향 zone 파일을 관리자가 필요한 조건에 맞게 작성해준 다음 패키지 재실행을 해준다. 위에 있는 IP들은 엔클라우드에서 생성한 2개의 서버 공인 IP 주소다.

 

- 보조 영역에서 주 영역의 NS 정보를 받아오기 위해 파일의 other 권한 중 r을 추가해준다.


1.2 WEB 설정

 

- 사용할 WEB 페이지의 접속 화면 구성을 작성해준다.

 

/etc/httpd/conf.d 디렉토리를 통해 WEB 추가 설정파일을 생성하여 내용을 작성해준다. ( /etc/httpd/conf.d/의 경로는 /etc/httpd/conf/httpd.conf 파일에 지정되어 작성되어 있다.)

-> 현재 blog 웹 페이지의 경우 Order deny,alllow를 사용하여 현재 웹 페이지에 접근 허용, 제한의 IP를 설정하여 특정 IP 주소만 접근할 수 있도록 설정해 두었다. Order 뒤에 작성하는 deny,allow는 뒤에 작성한 것부터 적용된다. 현재 allow가 뒤에 작성되어 있기 때문에 allow가 먼저 적용된 후 deny가 적용된다. 그 아래 작성하는 내용도 allow를 먼저 작성하고 deny를 작성해준다.


1.3 FTP 설정

 

/etc/vsftpd/vsftpd.conf 파일을 통해 FTP에 대한 설정을 해준다.

-> 여기선 기본적으로 banner_file 지정과, chroot 설정을 해주었고, passvie 포트 번호 지정까지 설정해주었다. (외에 FTP설정에 필요한 부분이 있다면 추가로 작성해주면 된다.)

 

- ftp banner 파일을 작성해준다. banner 파일은 ftp 접속시 사용자에게 보여주는 메세지로 경고 문구 같은 것들을 작성한다. 기본적으로 banner 메세지는 작성하는 것이 좋다.

 

- chroot를 사용한다고 했기 때문에 chroot를 적용시킬 사용자를 지정한다. chroot를 지정하게 되면 해당 홈 디렉토리가 루트 디렉토리처럼 인식되어 상위 디렉토리로 이동할 수 없기 때문에 보안에 좋다.

 

- 변경된 설정을 저장하기 위해 패키지 재실행을 해준다.


1.4 NFS 설정

 

- nfs를 설정할 디렉토리를 생성해준다.

- /etc/exports 파일에서 nfs에 대한 설정을 작성해준다.

 

- 항상 /etc/exports 파일에 내용을 작성할 때 nfs를 허용할 ip 주소 잘 확인하고, 방화벽 확인을 잘 해야한다.

 

  rw : 읽기/쓰기

no_root_squash : 클라이언트에서 접근하는 root를 인정한다.

anonuid : 접근하는 사용자 권한을 지정한 uid로 매핑한다.

anongid : 접근하는 그룹 권한을 지정한 gid로 매핑한다.

 

- nfs 설정 파일 변경 후 패키지 재실행을 한다. exportfs -s 명령어를 사용하여 nfs 설정파일이 적용되었는지 확인 할 수 있다.

 

- 외부 사용자가 /nfs 디렉토리에 접근이 가능하도록 디렉토리 other 권한 중 w 권한을 추가해준다.


2. Server 2

 

- DNS, WEB, NFS, MAIL -> 사용에 필요한 패키지들을 설치해준다.


2.1 DNS 설정

 

-  NS 네임서버로 모두가 접근 가능하도록 설정을 변경한다.

 

* Listen-on port 53 : 네임 서버에 접속을 허용하는 주소를 설정하는 부분이다.

* allow-query : 네임 서버의 경우 하나만 있는 것이 아니기 때문에 하나의 DNS 서버에 여러개의 네임 서버를 가져오게 할 것인가에 대한 설정이다. 즉 추가 네임 서버를 허용하겠냐는 내용이다.

 

- /etc/named.rfc1912.zones 파일은 DNS서버에 IP와 도메인을 비교해주는 파일인 zone파일과 rev파일이 있는 경로와 정보가 있는 파일이다. 즉, 개별 도메인을 설정하는 파일이다.
-> 정방향과 역방향에 관련된 설정을 작성해주는데 이 때 보조 영역에 해당하는 IP 주소를 적을 때 공인 IP가 아닌 다른 IP가 들어가 있는 것을 볼 수 있다 이는 비공인 IP 즉, 사설 IP다.

-> 사설 IP 주소만으로는 인터넷에 직접 연결할 수 없다. 라우터를 통해 1개의 공인(Public) IP만 할당하고, 라우터에 연결된 개인 PC는 사설(Private) IP를 각각 할당 받아 인터넷에 접속할 수 있게 된다.

-> 두번째 서버의 경우 보조 영역이기 때문에 type slave; / masters {주 영역 IP};을 작성하여 주 영역으로부터 zone 파일 내용을 받아 온다.

  

- 변경된 설정을 저장하기 위해 패키지 재시작을 해준다.


2.2 WEB 설정

 

- 웹 페이지 구성을 작성한다. 현재 두개의 웹 페이지를 생성한다.

 

/etc/httpd/conf.d 디렉토리를 통해 WEB 추가 설정파일을 생성하여 내용을 작성해준다. ( /etc/httpd/conf.d/의 경로는 /etc/httpd/conf/httpd.conf 파일에 지정되어 작성되어 있다.)

-> 두번째 서버의 웹 페이지의 경우 사용자 인증을 통해 인증이 된 사용자만 웹 페이지를 접근 할 수 있도록 설정할 것이다. AllowOverride AuthConfig를 작성해주면 인증을 통한 웹페이지의 접근을 사용하겠다는 의미다.

  

- 두번째 서버의 웹페이제 AllowOverride AuthConfig를 설정했기 때문에 해당 사용자를 설정 해주어야 한다.

- /etc/httpd/conf/httpd.conf 파일의 내용 중 .ht* 경로를 받아오겠다는 내용이 있기 때문에 /var/www/intra/.htaccess라는 파일을 생성하여 내용을 작성해준다.

- /var/www/intra/.htaccess 파일에 사용자를 등록할 파일 경로를 /web/.auth로 지정했기 때문에 해당 파일에 htpasswd -c [파일 경로] [사용자 명]을 통해 사용자를 생성해준다. 단, 두번째 생성자부터는 -c를 붙이지 않고 사용자를 생성한다.


2.3 NFS 설정

 

- 마운트 시킬 디렉토리를 생성한다.

 

mount -t nfs [nfs 서버 IP 주소]:/[nfs 서버 디렉토리] /[마운트 시킬 디렉토리] 마운트 시킬 디렉토리에 마운트 시켜준다.

 

- nfs 클라이언트에서 새로운 파일을 생성하게 되면 nfs 서버에서 똑같이 파일이 존재하는 것을 확인 할 수 있다.


2.4 MAIL 설정

 

/etc/mail/sendmail.mc 파일에서 다음과 같이 설정을 바꾸어 준다.

  위와 같이 설정을 변경해준다.

 

* 118 : 접근 가능한 IP 주소를 전체로 지정할 때는 위와 같이 두가지 방법을 모두 사용할 수 있다.

  sendmail.cf가 원래 sendmail의 설정 파일이지만 sendmail.mc는 설정을 좀 더 용이하게 하기 위한 설정 보조 파일이다.

 

- m4 명령어를 통해 sendmail.mc에서 설정을 해주고 sendmail.cf를 생성 할 수 있다.

 

- /etc/mail/sendmail.cf

- mail에 관련된 설정 파일이다.

 

* 39 : 두 줄이 띄어져있는 것으로 인해 오류가 발생하므로 한 줄 없애준다.

* 90 : 메일 주소 host-names이 저장되는 경로를 지정하는 곳이다.

 

- /etc/mail/local-host-names

- 메일을 수신할 호스트명을 입력해준다. 즉 메일로 사용할 도메인을 입력 하는 곳이다.

 

- /etc/mail/access

- 메일 서버로 접근하는 호스트나 도메인을 제어 할 때 사용하는 파일이다.

- 이 파일을 통해 특정 IP 주소 및 도메인에 대해서 접근을 가능하게 하거나 접근하지 못하도록 설정 할 수 있다.

- Connect:[도메인 이름] RELAY 형식으로 작성해준다.

- 만약 메일이 전송되지 않는다면 해당 컴퓨터의 공인 IP 주소를 입력하여 해결해본다.

 

- access 파일 수정 후 DB를 매번 수정해주는 작업이 번거롭기 때문에 /etc/mail/Makefile을 제공하여 수정후에 “make” 명령어를 내리면 access 파일과 access.db 파일을 비교하여 access 파일이 access.db 파일보다 최근에 수정되었다면 DB를 생성해 주는 작업을 하게 된다.  Sendmail을 재시작 할 때도 수정 시간을 비교하여 DB를 생성해 주는 기능이 포함되어 있다.

 

/etc/group의 mail 부분에 메일을 사용할 사용자를 등록한다.

 

- 메일 서비스와 간이 메일 보안 서비스를 사용하기 위해 패키지를 설치해준다.

* sendmail, saslauthd

 

- /etc/dovecot/dovecot.conf

- POP3 관련 설정 파일이다.

 

* 24, 30 : imap, pop3, lmtp 프로토콜을 사용하고, 모든 IP로부터 받기 위해 listen = *, ::의 주석을 풀어준다.

 

- /etc/dovecot/conf.d/10-auth.conf

 

- /etc/dovecot/conf.d/10-mail.conf

 

- /etc/dovecot/conf.d/10-master.conf

 

- /etc/dovecot/conf.d/10-ssl.conf

 

- 변경된 사항을 저장하기 위해 dovecot 패키지 재실행을 해준다.


2.5 SSL 키 생성

 

- 웹 사이트와 브라우저 사이에 전송되는 데이터를 인증서를 통해 암호화를 설정할 것이다.

 

1. 개인키를 만든다

2. 개인키를 이용하여 인증 요청서를 만든다.

3. 개인키와 인증 요청서를 가지고 인증서를 만들어 낸다.

 

- ssl을 사용하기 위해 해당 패키지를 설치한다. openssl

 

- 개인키를 우선 만든다. openssl genrsa -out ca.key 2048

* genrsa는 암호화 방식을 뜻하고, -out은 내보낼 곳을 지정한다.

 

- 다음으로 인증 요청서를 만든다. 인증 요청서는 인증서를 만들 때만 필요하다.

 

*openssl req -new -key ca.key -out ca.csr

   req : 요청

  -new : 새로운 요청

  -key : 어떤 키를 사용할 것인가

  -out : 내보낼 곳을 지정한다.

 

- 다음과 같이 ca.key를 가지고 ca.csr 인증 요청서를 생성한다.

- 아래 인증 요청서에 들어갈 여러가지 정보를 입력한다.

 

- 개인키와 인증 요청서를 가지고 인증서를 생성 할 것이다.

 

* openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

   x509 : 인증서의 표준 방식

  -days : 인증서의 유효기간

  -in : 인증 요청서명 기입

  -signkey : 개인키명 기입

 

- 개인키와 인증서는 지정된 경로가 있기 때문에 해당 경로로 복사해서 넣어준다.

 

- 개인키 : /etc/pki/tls/private/

- 인증서 : /etc/pki/tls/certs/

 

- 인증서가 필요한 서버에 전부 지정된 경로로 인증서 및 개인키를 복사 해준다.


2.6 키 생성 후 SSL 적용

 

- 현재 2개의 서버에 존재하는 WEB 페이지에 SSL을 적용 시킬 것이기 때문에 두 서버에 전부 다음과 같은 설정을 해준다.

 

- SSL을 사용하기 위해 HTTP 서버가 설치된 리눅스 서버에 전부 mod_ssl 패키지를 설치해준다.

 

- ssl 설정과 관련된 파일 /etc/httpd/conf.d/ssl.conf 파일에서 인증서 사용을 위한 설정을 몇가지 수정해준다.

 

- 인증서 파일 경로, 개인키 파일 경로를 지정해준다. 이전에 사용자가 직접 키를 생성하고 인증서 및 개인키를 저장한 경로를 지정해주면 된다.

 

- 변경된 설정을 저장하기 위해 ssl 패키지를 재시작 해준다.


3. 결과 확인

 

3.1 WEB

 

- 생성한 도메인으로 접근한 웹 페이지 화면

 

AuthOverride AuthConfig 설정을 통해 인증된 사용자만 접근 가능하게 만든 웹 페이지 화면


3.2 MAIL

 

- MAIL 설정을 통해 메일 프로그램인 thunderbird를 통해 메일을 주고 받는 화면


3.3 NFS

 

- 리눅스 서버와 HOST PC 환경에 nfs 서비스를 이용해 디렉토리를 공유한 화면


3.4 FTP

 

- FTP 설정을 통한 파일 주고 받는 화면


3.5 SSL

 

- SSL을 통한 인증서를 통화 웹 페이지 암호화 한 화면


* 추가 정보


https://insoobaik.tistory.com/93

 

CentOS 7 - SSH (개인키, 공개키 2)

- 이번 포스팅은 SSH에 대해 알아 볼 것이다. 이전에 SSH에 대해 한 번 포스팅한적이 있지만 조금 더 자세하게 다시 포스팅 해보려 한다. SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해

insoobaik.tistory.com


- SSH 설정을 통해 키 인증을 통해서만 로그인이 가능하게 설정한다.

728x90