wonder

정보보안 스터디 - 8주차 6일 - 리눅스 DNS서버 구축 본문

Security/리눅스

정보보안 스터디 - 8주차 6일 - 리눅스 DNS서버 구축

wonder12 2022. 12. 6. 21:30

☞ mysql 입력 명령어

select A,B
A, B를 출력만 합니다.
not like '%~%'
해당 문자열 빼고 검색
비밀번호 해시처리, 암호화
md5('')

sha('')

sha2('' ,256)

hex(aes_encrypt('password1'), 'xyz') length(aes_encrypt('password1'), 'xyz')
aes 암호화하고, 길이를 알려줍니다.

비밀번호는 암호화키가 노출되면 안되므로 암호화하지않고 sha이상의 해시값으로 저장 합니다.

 

 

 

 

 

호스트/도메인 이름

www 처럼 호스트부분은 지정된 것 없이 아무이름이나 사용합니다.

도메인부분은 기관으로부터 임대를 받아 사용합니다.

모두 합쳐서 FQDN 라고 부릅니다.

 

.wonder.co.kr.

끝에서부터 앞으로 순서대로 루트네임서버(.) > 1차 네임서버 > 2차 네임서버 입니다.

찾을 때는 마치 주소와 같습니다.

192.168.~의 dns가 뭐냐

1차 네임서버가 2차/3차에게 물어보고 찾았다면 저장해둡니다.

 

네이버 주소도 원래는 길던것이 alias축약된 것입니다.

 

 

혹시나 첫번째 dns가 문제가 생기면

dns2가 동작 합니다.

 

 

 

 

 

DNS 서버

dns 서버는 포트번호가 53번이며

 

dns 서버를 구성할 때 

 

서버1은 master로써 정방향과 양방향을 모두 설정하고

 

서버2는 slave로 서버1의 정방향,양방향 설정파일들을 일부 받습니다.

그렇기 때문에 일일이 서버 설정을 구성하지 않고 구축이 가능합니다.

 

 

DNS 요청을 하기 전에 아래를 먼저 참조합니다.

 

'/etc/hosts' 파일을 참조

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.200   server1.megait123.com      server1
192.168.2.199   server2.megait123.com      server2
192.168.2.201   client1.megait123.com      client1
192.168.2.202   client2.megait123.com      client2

 

 'www.google.com'에 대한 IP 주소가 없다면, '/etc/resolv.conf' 파일을 참조

# Generated by NetworkManager
nameserver 168.126.63.1

 

또한 클라이언트에서 DNS서버 primary secondary를 설정해줍니다.

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

~ 중간 생략 ~

 18 DNS1=192.168.2.200
 19 DNS2=192.168.2.199

 

 

 

서버1 설정

 

yum -y install bind

설치를 진행했다면 

systemctl status named는 항상 기본값이므로

바로 환경설정을 진행합니다.

 

rpm -ql 패키지명
해당 패키지의 관련 파일 리스트를 봅니다.
rpm -qf /usr/bin/bind
프로그램의 패키지명을 확인하기 위해 봅니다.
rpm -qa 패키지명*
패키지명 일부만 알경우 풀네임을 알기위해 사용합니다.

 

vi /etc/named.conf 에서

로컬호스트만에서 모두 사용할 수 있도록 any 로 바꿔줍니다.

등 설정을 해주고

 

include로 이어진 환경설정에 들어갑니다.

vi /etc/named.rfc1912.zones

 47 zone "megait123.com" IN {
 48      type master;
 49      file "megait123.com.zone";
 50      also-notify { 192.168.2.199; }; <- 변경
 51 };

마스터이며, 정방향과 양방향을 쓰고

그리고 해당파일을 지정합니다.

 

 

 해당파일을 아직 지정만 하고 만들지 않았으므로

복사를 해서 만들어줍니다.

그리고 정방향 DNS설정을 넣어줍니다.

$TTL 3H
@   IN SOA  ns.megait123.com.  root.megait123.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum

megait123.com.     IN NS   ns.megait123.com.
ns.megait123.com.  IN A    192.168.2.200
megait123.com.     IN MX 10 mail.megait123.com.
mail            IN A    192.168.2.199
www             IN A    192.168.2.200
ftp             IN A    192.168.2.200
test            IN A    192.168.2.200
blog            IN CNAME test

ftp, www, ns 등 - 200
mail / 메일교환기MX-199
메일서버와는 따로 분리해서 넣어줍니다.

 

 

 

양방향 DNS설정

$TTL 3H
@   IN SOA  ns.megait123.com. root.megait123.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum

                IN NS    ns.megait123.com.
                IN MX 10 mail.megait123.com.
200             IN PTR   ns.megait123.com.
199             IN PTR   mail.megait123.com.
200             IN PTR   www.megait123.com.
200             IN PTR   ftp.megait123.com.

 

그리고 이제 클라이언트 vi /etc/resolv.conf 에서

DNS는 서버2를 쓰겠다고 지정해줍니다.

nameserver 192.1682.199

 

nslookup www.wonder12.com
nslookup ns.wonder12.com
nslookup mail.wonder12.com

nslookup 192.168.2.200
nslookup 192.168.2.199

로 양방향까지 연결 확인해줍니다.

또한 www주소로 인터넷 연결이가능합니다.

 

 

현재는 서버 200으로 연결되어있습니다. 

 

 

서버2는 slave로 설정합니다.

forwarders { 168.126.63.1KT; }; 로 설정해주어 포워더 지정해줍니다.

 

 

테스트이니 정방향만 추가를 해줍니다.

정방향 설정은 slave이며 

also-notify{서버2} 로 수정해주고

해당 디렉토리에 파일을 받아오겠다. 지정합니다.

 

항상 설정 적용을 시키려면 systemctl restart named을 시행해줍니다.

 

 

그러면 파일이 생긴 것을 확인할 수있습니다.

text로 읽기 힘든 파일형식이지만 그래도 cat으로 읽어보면

대충 정방향 DNS서버들이 입력된 것을 볼 수 있습니다.

 

클라이언트에서 

cat << EOF > /etc/resolv.conf

> nameserver 192.168.2.199

> EOF

로 서버2의 DNS로 지정합니다. 

 

nslookup 을 하면 적용된 것을 볼 수 있습니다.

 

 

 

 

NTP 서버

ntp 서버는 시간을 세팅해줍니다.

패키지 이름은 chrony 입니다.

기존에 사이트로부터 시간정보를 받는 곳이 있지만

LG 또는 windows에서 받고싶다면 사이트를 환경설정 파일에 입력해줍니다.

한국을 포함한 다른나라 시간이 선택 가능하며 표준시에서 + - 몇시간으로 나옵니다.

 

 

 

 

Comments