RadarURL
웹 프로그래밍

LAMP 웹사이트를 위한 10가지 간단한 보안 작업

by JaeSoo posted Aug 11, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

10 Simple Security Tasks for Locking Down Your LAMP Website

developer.com 에 게시된 내용입니다.
영어긴한데, 타이틀만 읽어도 굉장히 도움이 됩니다.

1. Filter All Input
사용자 입력은 절대 믿지 마라. 이건 철칙이죠. GET, POST, COOKIE 등이 변조되지 않고 들어오리라고 믿는 것은 너무 순진한 생각입니다.

2. Escape All Output
사용자 입력 뿐만 아니라 아웃풋되는 결과도 이스케이핑(htmlentities함수) 하라는 내용.

3. Use Prepared Statements
쿼리 날릴때 바인딩 하라는 이야깁니다. 바인딩 하면 이스케이핑이나 쿼리 문자열의 길이를 신경쓰지 않아도 됩니다.

4. Disable Error Reporting
퍼블리시된 사이트에서 error_reporting(0); 이거 안하는 사이트 꽤 많더군요. 에러메세지는 해커에게 좋은 정보를 제공합니다.

5. Audit Your httpd.conf File
httpd.conf파일을 살펴보라는 내용입니다. 4번과 마찬가지로 서버에 대해 쓸데없는 정보를 보여줄 필요는 없습니다.
(예를 들어 아파치 버전이 몇이고 php버전이 몇이고 모듈은 뭘 쓰고 있고 등등)

6. Upgrade Early and Often
이건 좀 그런데, 본인이 사용하는 LAMP 버전에 대해서 잘 숙지하고 있다면 보안패치 정도만 해줘도 될듯..
제일 좋은건 패키지로 까는겁니다. 담부턴 걍 업데이트만 하면 됨.

7. Restrict the MySQL User Privileges
mysql 접속 사용자의 권한을 최대한 조여줍니다. 쓸데없이 file 권한같은거 줄 필요 있나요?

8. Disable your phpinfo Script
phpinfo() 함수 쓰지 못하게 하라는 내용.

9. Disable Potentially Dangerous PHP Functions
잠재적으로 위험한 커맨드 함수들 (exec, system 등등) 을 사용하지 못하도록 설정하라는 내용. 전역적으로 disable시키고 정 필요하다면 특정한 디렉토리에서만 실행되도록 합시다.

10. Mind the Document Root
document root 밑에 있는건 기본적으로 웹브라우져에서 모두 접근이 가능합니다. 중요한 파일들은 document root 상위에 두는게 필요.

 

 

출처 : http://www.cikorea.net/tip/view/502/page/1/q/use_prepared_statements


Articles

69 70 71 72 73 74 75 76 77 78