웹서버 71

[Tips] 보안취약점 조치 - Apache 웹서버 정보 숨기기

Apache 웹서버 정보를 숨기는 보안취약점 조치 관련하여 2개(ServerTokens, ServerSignature)의 파라미터 설정이 필요하다. 1. ServerTokens 파라미터 설정 HTTP 응답헤더 웹서버에 대한 정보를 얼마나 상세하게 전달할 것인지를 결정하는 파라미터이다. httpd.conf 에 아래와 같이 "ServerTokens"를 설정하면 된다. ServerTokens Prod|Major|Minor|Min|OS|FULL [값 설명] * Prod - 웹서버 정보 만 전달 ex) Apache * Major - 웹서버 정보 + Major 버전 정보 만 전달 ex) Apache/2 * Minor - 웹서버 정보 + Minor 버전 정보 까지 전달 ex) Apache/2.4 * Min - 웹서버..

웹서버/Apache 2020.03.10

[Tips] Apache apxs 툴을 통해 Apache 모듈 작성하기

Apache apxs는 Apache 모듈을 작성 시에 사용되는 Apache 웹서버에 번들되어 있는 툴(APache eXtenSion)이다. apxs를 통해 Apache 모듈 - 보통 DSO(Dynamic Share Object) 형태의 shared library를 작성하고, 설치할 때 활용한다. WebLogic 등과 같은 WAS와 연결 시에 필요한 플러그인 모듈 역시 apxs를 통해 작성되었다고 보면 된다. 사용 순서 1) 모듈 생성 $ [아파치홈]/bin/apxs -g -n 모듈명 예시) 해당 디렉터리에 sample 디렉터리를 생성하고, mod_sample.c 라는 기본 골격을 갖춘 소스 파일을 생성함 $ /usr/sw/apache/bin/apxs -g -n sample 2) 모듈 개발 및 컴파일 우선..

웹서버/Apache 2020.03.10

[Tips] Apache 2.2와 2.4 설정 차이

주요 설정에 있어서 차이점만 간단하게 나열함 1. httpd.conf에서 파라미터 이름 변경 2.2 버전 2.4 버전 # 최대 접속 클라이언트 수 MaxClients MaxRequestWorkers # 자식 프로세스 당 최대 요청 수 MaxRequestsPerChild MaxConnectionsPerChild 2. 접근 제한 관련 설정 2.2 버전 2.4 버전 # 모든 접근 제한 Order deny,allow Deny from all Require all denied # 모든 접근 허용 Order allow,deny Allow from all Require all granted # 특정 IP에 대해서만 접근 허용 Order deny,allow Deny from all Allow from 10.1.1.11..

웹서버/Apache 2020.03.07

[Tips] Telnet을 이용하여 웹서버 메소드(Method) 테스트하기

1. GET 메소드 테스트 요청 파라미터를 URL에 포함하여 요청하는 방식 (크기 제한 : 4KB) 예) $ telnet 192.168.0.102 GET /test.html HTTP/1.1 [엔터키 2회] 2. POST 메소드 테스트 요청 파라미터를 HTTP Body에 포함하여 요청하는 방식 (4 KB 이상 데이터도 전송 가능) 예) $ telnet 192.168.0.102 POST /test.html HTTP/1.1 [엔터키 2회] 3. HEAD 메소드 테스트 요청 시에 HTTP Header만 응답함 예) $ telnet 192.168.0.102 HEAD /test.html HTTP/1.1 [엔터키 2회] 4. OPTIONS 메소드 테스트 웹서버가 허용하는 메소드를 응답함 예) $ telnet 192...

웹서버 2020.02.02

[Tips] wlproxy.log 파일

wlploxy.log 파일은 iPlanet과 WebLogic 연결 플러그인 설정(보통 obj.conf 파일에 설정)에서 디버깅 모드로 설정되어 있으면 해당 디버깅 정보를 출력하는 파일이다. 즉, 디버깅이 ON (HFC/HTW/HFW/HTC/ERR/ALL 포함)으로 설정되어 있으면, 기본적으로 UNIX/LINUX 계열은 /tmp/wlproxy.log 파일에 로깅되고, WINDOWS 계열은 C:\TEMP\wlproxy.log 파일에 로깅된다. 디폴트 위치와 파일명을 설정하려면, WLLogFile 파라미터를 설정하면 된다. 예를 들어 WLLogFile="/log/wl_proxy.log" 라고 설정하면 디폴트 위치와 파일명 대신에 "/log/wl_proxy.log" 라는 위치에 파일이 생성된다. 참고로, 디버깅..

[정보] HTTP 응답 코드

HTTP 응답 코드는 아래와 같이 5개 범주로 구성된다. 1xx - Information : 계속 진행 중임을 받음2xx - Success : 성공적인 결과3xx - redirection : 다른 도메인 또는 서버로 요청이 redirection 됨4xx - Client Error : 페이지를 찾지 못한다거나 클라이언트 요청이 잘못됨5xx - Server Error : 서버에서 오류가 발생했음 위의 응답코드에서 주로 발생하는 코드에 대해 간략하게 설명하고자 한다 1xx - Information - 실제 자주 볼수 있는 응답코드는 아님 2xx - Success - 200 OK - 성공적으로 수행됨 3xx - Redirection - 301 Moved Permanently - 영구적으로 redirection ..

웹서버 2019.10.08

[정보] HTTP/2 이해

HTTP/2(원래는 HTTP/2.0)는 WWW에 의해 사용된 HTTP의 주요 새버전이다. 구글에서 개발한 SPDY 프로토콜의 기반을 둔다. Chrome, Opera, Firefox, Internet Explorer11, Safari, Amazone Silk와 Edge Browser를 포함한 주요 브라우저는 2015년 말까지 HTTP/2 기능을 추가하였다. HTTP/2는 기존 HTTP 1.1에 비해 성능 개선에 주안점을 두었다. 주요 특징은 다음과 같다. 1. Multiplexed Streams 하나의 연결로 여러개의 메시지를 주고 받을 수 있는 구조이다. 응답은 순서에 관계 없이 stream으로 주고 받는다. HTTP/1.1의 Connection Keep-Alive, Pipelining의 기능을 개선하였..

웹서버 2019.06.11

[정보] Nginx 기동/종료/재시작 하기

Nginx 기동, 종료, 재시작하기Nginx를 어떻게 기동시키고, 실행 중일때, 어떻게 종료시키고, 재시작시키는지를 설명하고자 한다.Nginx 기동하기Nginx는 보통 /usr/bin/nginx 라는 명령어로 기동시킨다.예시#1) $ /usr/bin/nginx 예시#2) 기동 시에 다양한 옵션 설정할 수 있음 (옵션은 아래에 설정되어 있음) $ /usr/bin/nginx -t -c ~/myynginx.conf -g "pid /var/run/nginx.pid; worker_processes 2;" 옵션들 -?, -h 도움말(Help) 출력 -v 버전 정보 출력 -V 버전 정보는 물론 컴파일러 버전, 구성파일 파라미터 정보 출력 -t 기동하지 않고, 구성 파일 문법 등 온전성을 점검함 -s 시그널 마스터 프..

웹서버/nginx 2019.05.26

[정보] magnus.conf 파일

magnus.conf 파일의 주요 범주 1. Init Functions : 서버 모듈, 플러그인 모듈, 로그 파일 초기화 2. Server Information : ExtraPath, TempDir, TempDirSecurity, User 등 서버 관련 설정 1) TempDir - 임시 파일 생성을 위한 디렉터리 2) User - 로그인할 유저, 설정하지 않으면 기동 시에 계정을 사용(예, webservd) 3. Language Issues : DefaultLanguage 등 언어 이슈에 대해 설정 4. DNS Lookup : AsyncDNS, DNS 등 DNS 관련 설정 5. Threads, Processes, and Connections : 스레드, 프로세스, 연결, KeepAlive 등 관련 파라미..

[Tips] URL redirect와 rewrite 이해

1. 개요URL redirect는 클라이언트 사이드(브라우저)에서 다른 URL을 요청하는 것이고, 이는 브라우저 주소창에 새로운 URL이 표시된다. URL rewrite는 서버 사이드의 URL 재작성이고, 브라우저 주소창에 변화가 없다. 이는 사용자로부터 URL 변경을 감추기 위함이기 떄문이다. 2. Redirect와 Rewrite 비교Redirect Rewrite 클라이언트 사이드 서버 사이드 redirect는 상태코드에 따라 다름 - 301 : Moved Permanently - 302 : FOUND - 307 : Temporary Redirect redirect 상태코드와 관련없음 예시) http://www.mydomain.com 이 http://www.newdomain.com으로 redirect ..

웹서버 2019.01.03