기본 콘텐츠로 건너뛰기

힘내라 청춘. 20171210


이 블로그의 인기 게시물

데일 카네기 인간관계론 정리

Remove-Server-Header

응답 메시지 내 서버 버전 정보 제거 1. Apache 1) 조치 방법 “/etc/htpd/conf/httpd.conf” 파일 안에서 1. ServerTokens OS → ServerTokens Prod 2. ServerSignature On → ServerSignature Off 로 변경한 후 아파치를 재시작하면 헤더 값의 아파치 버전 정보 및 OS 정보를 제거할 수 있다. 2) 참고 URL http://zetawiki.com/wiki/CentOS_ 아파치_보안권장설정_ServerTokens_Prod,_ServerSignature_Off 2. IIS 1) 조치 방법 IIS 6.0 urlscan_setup 실행. 설치. \windows\system32\inetsrv\urlscan\urlscan.ini 파일을 열어 다음 수정(RemoveServerHeader=0 을 RemoveServerHeader=1 로 변경) 서비스에서 IIS Admin Service 재시작. IIS 7.0 IIS 관리자를 열고 관리하려는 수준으로 이동합니다. 기능 보기에서 HTTP 응답 헤더를 두 번 클릭합니다. HTTP 응답 헤더 페이지에서 제거할 헤더를 선택합니다. 작업 창에서 제거를 클릭하고 예를 클릭합니다. 2) 참고 URL IIS 6.0 : http://gonnie.tistory.com/entry/iis6- 응답헤더-감추기 IIS 7.0 : https://technet.microsoft.com/ko-kr/library/cc733102(v=ws.10).aspx 3. jetty 1) 조치 방법 “jetty.xml” 파일에서 jetty.send.server.version=false 설정 2) 참고 URL http://attenuated-perspicacity.blogspot.kr/2009/09/jetty-61x-hardening.html 4. Nginx ...

build with Address sanitizer

Address Sanitizer와 함께 빌드하기 GCC와 CLANG로 빌드 시 Adress sanitizer를 구성하는 예시이다. 오브젝트 코드 주소를 소스 코드 행 번호와 파일 이름으로 변환하려면 ASAN_OPTIONS=symbolize=1 옵션이 필요하다. GCC 사용 시 권장 방법은 -static-libasan 을 사용하여 ASAN에 정적으로 링크하는 것이다. ( ldd 명령어를 이용하여 이를 확인해보자.) ldd ldd(List Dynamic Dependencies)는 프로그램이나 공유 라이브러리들이 요구하는 공유 라이브러리(shared libraries)를 출력하는 명령 행(Command Line)프로그램이다. –version : ldd의 버전을 출력한다. -v, –verbose : 심볼 버전 정도등 모든 정보를 출력한다. -d, –data-relocs -r, –function-relocs –help : 사용방법을 출력한다. 출처 : joinc - ldd main.cpp 다음은 스택 오버플로우 취약점이 있는 간단한 소스코드이다. int main( int argc, char **argv) { int stack_array[ 100 ]; stack_array[ 1 ] = 0 ; return stack_array[argc + 100 ]; // BOOM } Makefile . PHONY: using -gcc using -gcc -static using -clang using -gcc : g ++- 4.8 -o main -gcc -lasan -O -g -fsanitize = address -fno -omit -frame -pointer main . cpp && \ ASAN_OPTIONS = symbolize = 1 ASAN_SYMBOLIZER_PATH = $(shell which llvm -s...