2009년 5월 14일 목요일

APM 보안

########## Apache 보안 세팅 ##################

httpd.conf 파일 수정

* ServerTokens Prod                             # 서버 정보 누출 최소화
* UserDir disabled 혹은 UserDir 부분 주석 처리  # 필요없을시 계정정보 누출 줄임
* SSL(443) 세팅되어 있을 경우                   # 최신 OpenSSL로 업그레이드
* CustomLog logs/access_log combined            # Referer 정보 남김
* 필요없는 Alias, AliasMatch, Directory 제거   
* 로그 로테이트 설정
* ErrorDocument 404 http://메인페이지   # 메인 페이지를 열도록 설정(에러페이지가 512바이트 넘지않으면 Redirect 활용)


vi /etc/logrotate.d/httpd

/usr/local/apache/logs/*log {
    daily
    rotate 2
    create
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}


######### PHP 보안 세팅 ###################

php.ini 파일 수정

register_globals = Off   # [디폴트] 글로벌함수 Off 처리(제로보드 설치시 on 필요)
allow_url_fopen = Off    # URL을 이용한 파일 오픈 금지
display_errors = Off     # 디버깅 단계를 거친후 이상없으면 처리
log_errors = On          # 로그파일로서 에러 남김
magic_quotes_gpc = On    # [디폴트] 쿼팅 처리를 통한 문자열 조작 금지
session.save_path = /tmp # 안전한 세션관리
mysql.trace_mode = Off   # [디폴트] 에러메세지를 서버에 로그로 남기기, 웹상으로 노출 방지


######## MYSQL 보안 세팅 ###################

my.cnf 파일 수정

mysqladmin -u root password '패스워드'  # 초기 세팅 이후 MYSQL 패스워드 설정
skip-networking                         # 외부접근 필요없다면 주석해제
#log-bin      # Replication 필요없을시 주석 처리(바이너리 로그로 인한 Mysql 성능저하 막음)



 

댓글 없음:

댓글 쓰기