TIP게시판

제목 LAMP 웹사이트를 위한 10가지 간단한 보안 작업
글쓴이 kirrie 작성시각 2010/05/27 09:25:52
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 17608   RSS

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 상위에 두는게 필요.
태그 보안,lamp
 다음글 $this->uri->get() 추가 (11)
 이전글 [수정]액티브 레코드에서 서브쿼리 사용하기. (1)

댓글

변종원(웅파) / 2010/05/27 10:24:09 / 추천 0
지킬건 지킵시다. ㅎㅎ

서치 / 2010/05/27 11:21:15 / 추천 0
대부분 맞는 말이군요.

다만 실제 프로그래밍시에는 저것들 중에 신경쓰지 못하는 경우도 발생한다는 것(일정 준수)

가능한 지키되 모자른 것은 보완한다입니다.
터프키드 / 2010/05/28 12:11:02 / 추천 0
감사합니다! PHP보안책이 있긴한데 대부분 안지킨듯..
문제는 항상............................. 바쁜일정에 있다는거죠ㅠㅠ
배강민 / 2010/05/28 12:40:27 / 추천 0

@터프키드 저도 오렐리꺼 PHP보안 있는뎅... 기본적인것들이지만, 당연하지만,  자꾸 안지키게 되는게...

습관화해야는딩....