11
CGI 와 와와 PLUS 와와와

CGI 와 보안

Embed Size (px)

DESCRIPTION

CGI 와 보안. PLUS 오태호. 목차. CGI 란 ? CGI 의 보안상 문제점 CGI 로 인한 보안구멍 유형 CGI 프로그래밍 시 주의점 안전한 웹서버의 운영 방침 AFS 에서의 문제점 AFS 에서의 문제점 해결 방법. CGI 란 ?. 웹 서버 , 웹 브라우저 , 프로그램간의 인터페이스 정적인 HTML 을 보완하기 위해 생김 여러 가지 프로그래밍 언어로 구현 가능 PERL Script 가 많이 사용됨. CGI 의 보안상 문제점. 외부의 사용자가 서버의 프로그램 실행 가능 - PowerPoint PPT Presentation

Citation preview

Page 1: CGI 와 보안

CGI 와 보안

PLUS

오태호

Page 2: CGI 와 보안

목차• CGI 란 ?

• CGI 의 보안상 문제점• CGI 로 인한 보안구멍 유형• CGI 프로그래밍 시 주의점• 안전한 웹서버의 운영 방침• AFS 에서의 문제점• AFS 에서의 문제점 해결 방법

Page 3: CGI 와 보안

CGI 란 ?

• 웹 서버 , 웹 브라우저 , 프로그램간의 인터페이스

• 정적인 HTML 을 보완하기 위해 생김• 여러 가지 프로그래밍 언어로 구현 가능• PERL Script 가 많이 사용됨

Page 4: CGI 와 보안

CGI 의 보안상 문제점• 외부의 사용자가 서버의 프로그램 실행 가능• CGI 프로그램이 필요이상으로 많은 권한을

가짐

Page 5: CGI 와 보안

CGI 로 인한 보안구멍 유형• 쉘 명령어를 실행시킬 때

– 쉘 명령어를 CGI 프로그램이 실행시킬 때 원하는 쉘 명령어를 수행하도록 조작

• 버퍼오버플로우– CGI 프로그램도 버퍼오버플로우 공격을

받을 가능성이 있음• 파일을 열 때

– 파일을 열 때 원하는 파일을 열도록 조작

Page 6: CGI 와 보안

CGI 로 인한 보안구멍 유형• 환경변수에 의존적인 실행을 할 때

– PATH 와 같은 환경변수를 바꿀 가능성이 있음

• 웹서버의 자식프로세스의 권한을 이용– CGI 프로그램으로 웹서버의

자식프로세스의 권한으로 명령어 실행 가능

Page 7: CGI 와 보안

CGI 프로그래밍 시 주의점• 사용자의 입력을 자세히 검사• 버퍼오버플로우가 일어나지 않게• 환경변수에 의존적인 프로그래밍은

금물– 예 ) PATH, IFS, . . .

Page 8: CGI 와 보안

안전한 웹서버의 운영 방침

• Chroot 를 이용해서 웹서버를 설치– 불필요한 파일에 접근하는 것을 막음

• CGI wrapper 를 설치– CGI 프로그램의 소유자의 권한으로

프로그램 실행• CGI 프로그램을 컴파일

– CGI 프로그램의 소스 유출 방지

Page 9: CGI 와 보안

안전한 웹서버의 운영 방침

• 웹서버를 root 권한으로 실행하지 않음– 모든 CGI 프로그램이 root 의 권한으로

실행되기 때문에 아주 위험• 웹서비스 외 다른 서비스는 하지 않음

– 웹의 보안구멍과 다른 서비스의 보안구멍을 같이 이용해서 공격할 가능성이 있음

Page 10: CGI 와 보안

AFS 에서의 문제점• CGI wrapper 가 AFS 에서 정상적으로

작동하지 않음• 모든 CGI 프로그램이 www_adm 의 AC

L 로 실행

Page 11: CGI 와 보안

AFS 에서의 문제점 해결 방법• 일시적인 해결 방법

– cgi-bin 에 www_adm 에게 rl 로 설정– data 파일이 있는 곳을 www_adm 에게 rlw

이나 rliw 로 설정– data 파일을 절대로 신뢰하지 말 것

• 근본적인 해결 방법– CGI 프로그램이 소유자의 ACL 로 실행– CGI 프로그램이 소유자의 홈 밖으로 접근 X