2017. 10. 16. 17:39ㆍ정보보안기사관련
inetd , xinetd , TCPWrapper
inetd : 리눅스 서버에서 서비스되는 다른 여러가지 데몬들을 제어하면서 각각의 서비스들의 연결을 담당한다
(=슈퍼데몬)
형식: [servicename] [sock_type] [protocol] [wait_flag] [user] [server_path] [args]
=> telnet stream tcp nowait root /usr/sbin/telnetd in.telnetd
=> TCP Wrapper 사용시
=> telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
TCPWrapper : /etc/hosts.allow , /etc/hosts.deny 파일을 읽어 허가되는 접속인지 체크한다
* servicename : /etc/services 에 등록되어 있어야 한다
* protocol : /etc/protocols 에 등록되어 있어야 한다
* sock_type,wait_flag : tcp -> stream + nowait , udp -> dgram + wait
* xinetd 스크립트파일 /etc/rc.d/init.d/xinetd [cmd]
cmd = start,stop,status,restart
* /etc/xinetd.conf 파일은 xinetd데몬의 주 설정파일이다
그리고 /etc/xinetd.d 디렉토리에 있는 각 서비스들에 대한 개별적인 설정파일들을 참고한다
===============================
#chkconfig --list 모든 부팅레벨에서 모든 서비스 on/off확인
#chkconfig --list [service] 모든 부팅레벨에서 해당 서비스 on/off확인
#chkconfig --levelX,X [service] [on|off] 해당 레벨에서 해당 서비스 on/off 적용
===================================
php.ini ( /etc/php.ini )
693 register_globals = Off
-> On으로 설정하면 PHP가 입력으로 받아들이는 값들을 무조건 전역변수로 다루게 된다
869 file_uploads = Off
-> 해당 사이트의 PHP프로그램의 파일 업로드를 사용여부 결정
886 allow_url_fopen = Off
-> 파일로써 외부 사이트를 호출할 수 있는지의 여부 결정
-> On 사용시 include(),requier()함수를 이용해 보안상의 문제 발생 가능성이 있다
127 magic_quotes_gpc = On
-> PHP가 입력으로 받아들이는 값에서 ' , " , \ , null 문자들앞에 \ 을 추가하여 특수문자로 처리한다
-> SQL Injection 공격을 차단할 수 있다
380 open_basedir = [디렉터리명]
-> 해당 디렉터리 안에 있는 파일에만 접근할 수 있다
530 display_errors = Off
-> PHP 실행 중 발생하는 경고나 에러정보를 보여줄지말지 결정한다
551 log_errors = On
-> error_log에 지정한 파일에 경고나 에러정보를 기록의 수행여부 결정
634 error_log = [파일명]
-> php 실행 중 발생하는 경고나 에러정보를 작성할 파일을 지정한다
339 safe_mode = On
-> On으로 설정하면 시스템의 중요파일들에 접근을 제한할 수 있지만 웹프로그램이 정상작동하지 않을 수 있다
=============================
/etc/httpd/conf/httpd.conf : Apache웹 서버 환경 설정
ServerType -standalond ( or -inetd )
SeverTokens [Os|min|prod]
PidFile [file] : 아파치 웹서버 ProcessID 정보 저장
Timeout xxx : 요청이 들어오면 xxx초 까지는 응답해준다
KeepAlive On|Off
MaxKeepAliveRequests 100
KeepAliveTimeout 5
MaxClients xx
-> 동시에 클라이언트 연결 최대 갯수
User nobody
Group nobody
Listen 80
-> 웹 페이지 통신에 사용할 포트 번호
-> Listen 192.168.6.123:80 지정할 수 도 있음
DocumentRoot "/var/www/html"
-> 홈페이지 내용 저장 디렉토리
ErrorLog logs/error_log
302 <Directory /> // 루트 디렉토리에 대한 접근 제어 설정
303 Options Indexes FollowSymLinks // 웹브라우저에서 링크파일의 경로까지도 확인할 수 있다
// 웹 브라우저에서 디렉토리 내의 파일목록들을 보여준다
304 AllowOverride None // 어떤 방식으로 접근을 허용할 것인지 설정한다
305 Order deny,allow // allow -> deny 순으로 정책 적용
306 allow from localhost // 먼저 localhost의 접근은 허용한다
307 deny from all // 나머지 모든 IP로부터의 접근은 차단된다
308 </Directory>
491 LogLevel warn : 에러로그파일의 기록내용을 얼마나 자세하게 기록할 것인지 결정한다
emer -> alert -> crit -> -> warn -> notice -> info -> debug
* LogFormat : 웹로그파일(access_log)에 기록을 어떤 포맷으로 할 것인가에 대해 결정한다
497 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
498 LogFormat "%h %l %u %t \"%r\" %>s %b" common
499 LogFormat "%{Referer}i -> %U" referer
500 LogFormat "%{User-agent}i" agent
513 #CustomLog logs/access_log common
519 #CustomLog logs/referer_log referer
520 #CustomLog logs/agent_log agent
526 CustomLog logs/access_log comfined
%h : host
%l : login ID
%u : authuser
%t : date and time
%r : request
%>s : status
%b : byte
94 # prefork MPM
95 # StartServers: number of server processes to start
96 # MinSpareServers: minimum number of server processes which are kept spare
97 # MaxSpareServers: maximum number of server processes which are kept spare
98 # ServerLimit: maximum value for MaxClients for the lifetime of the server
99 # MaxClients: maximum number of server processes allowed to start
100 # MaxRequestsPerChild: maximum number of requests a server process serves
101 <IfModule prefork.c>
102 StartServers 8 아파치 서버의 자식 프로세스 개수 지정
103 MinSpareServers 5
104 MaxSpareServers 20
105 ServerLimit 256 자식 프로세스 개수 한계
106 MaxClients 256 초기 시작시 실행가능한 최대 아파치 자식 프로세스의 개수 지정
107 MaxRequestsPerChild 4000 클라이언트들의 요청 개수를 제한
108 </IfModule>
하나의 자식 프로세스가 하나의 쓰레드를 갖는 구조
한 개의 자식 프로세스는 한 개의 연결을 담당하여 worker보다 많은 메모리를 사용한다
프로세스간에 메모리 공간이 독립적이여서 안정적이다
110 # worker MPM
111 # StartServers: initial number of server processes to start
112 # MaxClients: maximum number of simultaneous client connections
113 # MinSpareThreads: minimum number of worker threads which are kept spare
114 # MaxSpareThreads: maximum number of worker threads which are kept spare
115 # ThreadsPerChild: constant number of worker threads in each server process
116 # MaxRequestsPerChild: maximum number of requests a server process serves
117 <IfModule worker.c>
118 StartServers 4
119 MaxClients 300
120 MinSpareThreads 25
121 MaxSpareThreads 75
122 ThreadsPerChild 25
123 MaxRequestsPerChild 0
124 </IfModule>
자식 프로세스들이 여러 개의 쓰레드를 가질 수 있으며 각 쓰레드는 한번에 한 연결을 담당함
메모리 사용량이 상대적으로 적고 통신량이 많은 서버에 적절하다
쓰레드간에 메모리 공간을 공유한다
[ xinetd데몬 관련 파일 및 명령어 ]
[ httpd데몬 로그 파일 ]
[ 아파치 웹 서버 계정 만들기 ]
'정보보안기사관련' 카테고리의 다른 글
정보보안기사 10회 필기,실기 합격률 (0) | 2018.01.02 |
---|---|
10회 정보보안기사 실기 시험 합격 후기 ( 휴학생 / 동회차 합격 ) (4) | 2017.12.08 |
10회 정보보안기사 필기 시험 합격 후기 ( 휴학생 ) (2) | 2017.12.08 |
정보보안기사 실기 참고 내용 정리 3 (0) | 2017.10.23 |
정보보안기사 실기 참고 내용 정리 2 (0) | 2017.10.18 |