목차
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
- 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
- SSH 설정을 통해 키 인증을 통해서만 로그인이 가능하게 설정한다.
'Cloud > Ncloud' 카테고리의 다른 글
Ncloud - Ncloud 서버 생성, 가상 터미널 연결 (Linux, DNS, FTP, NFS, MAIL, SSL) (0) | 2022.04.09 |
---|