Upload
priscilla-fox
View
39
Download
1
Embed Size (px)
DESCRIPTION
CGI 와 보안. PLUS 오태호. 목차. CGI 란 ? CGI 의 보안상 문제점 CGI 로 인한 보안구멍 유형 CGI 프로그래밍 시 주의점 안전한 웹서버의 운영 방침 AFS 에서의 문제점 AFS 에서의 문제점 해결 방법. CGI 란 ?. 웹 서버 , 웹 브라우저 , 프로그램간의 인터페이스 정적인 HTML 을 보완하기 위해 생김 여러 가지 프로그래밍 언어로 구현 가능 PERL Script 가 많이 사용됨. CGI 의 보안상 문제점. 외부의 사용자가 서버의 프로그램 실행 가능 - PowerPoint PPT Presentation
Citation preview
CGI 와 보안
PLUS
오태호
목차• CGI 란 ?
• CGI 의 보안상 문제점• CGI 로 인한 보안구멍 유형• CGI 프로그래밍 시 주의점• 안전한 웹서버의 운영 방침• AFS 에서의 문제점• AFS 에서의 문제점 해결 방법
CGI 란 ?
• 웹 서버 , 웹 브라우저 , 프로그램간의 인터페이스
• 정적인 HTML 을 보완하기 위해 생김• 여러 가지 프로그래밍 언어로 구현 가능• PERL Script 가 많이 사용됨
CGI 의 보안상 문제점• 외부의 사용자가 서버의 프로그램 실행 가능• CGI 프로그램이 필요이상으로 많은 권한을
가짐
CGI 로 인한 보안구멍 유형• 쉘 명령어를 실행시킬 때
– 쉘 명령어를 CGI 프로그램이 실행시킬 때 원하는 쉘 명령어를 수행하도록 조작
• 버퍼오버플로우– CGI 프로그램도 버퍼오버플로우 공격을
받을 가능성이 있음• 파일을 열 때
– 파일을 열 때 원하는 파일을 열도록 조작
CGI 로 인한 보안구멍 유형• 환경변수에 의존적인 실행을 할 때
– PATH 와 같은 환경변수를 바꿀 가능성이 있음
• 웹서버의 자식프로세스의 권한을 이용– CGI 프로그램으로 웹서버의
자식프로세스의 권한으로 명령어 실행 가능
CGI 프로그래밍 시 주의점• 사용자의 입력을 자세히 검사• 버퍼오버플로우가 일어나지 않게• 환경변수에 의존적인 프로그래밍은
금물– 예 ) PATH, IFS, . . .
안전한 웹서버의 운영 방침
• Chroot 를 이용해서 웹서버를 설치– 불필요한 파일에 접근하는 것을 막음
• CGI wrapper 를 설치– CGI 프로그램의 소유자의 권한으로
프로그램 실행• CGI 프로그램을 컴파일
– CGI 프로그램의 소스 유출 방지
안전한 웹서버의 운영 방침
• 웹서버를 root 권한으로 실행하지 않음– 모든 CGI 프로그램이 root 의 권한으로
실행되기 때문에 아주 위험• 웹서비스 외 다른 서비스는 하지 않음
– 웹의 보안구멍과 다른 서비스의 보안구멍을 같이 이용해서 공격할 가능성이 있음
AFS 에서의 문제점• CGI wrapper 가 AFS 에서 정상적으로
작동하지 않음• 모든 CGI 프로그램이 www_adm 의 AC
L 로 실행
AFS 에서의 문제점 해결 방법• 일시적인 해결 방법
– cgi-bin 에 www_adm 에게 rl 로 설정– data 파일이 있는 곳을 www_adm 에게 rlw
이나 rliw 로 설정– data 파일을 절대로 신뢰하지 말 것
• 근본적인 해결 방법– CGI 프로그램이 소유자의 ACL 로 실행– CGI 프로그램이 소유자의 홈 밖으로 접근 X