일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- roundcube
- PHP
- WebView
- Mail Server
- UML
- 설치
- mysql
- 우분투
- 안드로이드 푸시
- 자동 생성
- Android
- xe
- C#
- curl
- chart.js
- 자바스크립트
- 안드로이드
- not working
- FCM
- android 효과음
- dovecot
- javascript
- C# IO
- html5
- 안드로이드 gcm
- 안드로이드 푸쉬
- 폼메일
- soundpool
- php 취약점
- php 시큐어코딩
- Today
- Total
그러냐
Webshell 대응 방안 php 취약점 본문
Webshell 대응 방안
1. 탐지된 파일 삭제
PLURA V5 에서 웹쉘로 탐지한 파일이 시스템 개선, 유지 또는 보수를 위한 파일이 아닌 경우 격리하거나 삭제를 권고합니다.
2. 업로드 확장자 체크
White list 방식으로 허용된 확장자(ex> .png, .gif, .pdf)만 업로드할 수 있도록 Server 측에서 체크합니다.
3. 업로드 파일 이름 변경, 이동 및 실행권한 제거
1) 업로드 파일이 저장되는 경로에 실행권한을 제거합니다.
2) 업로드된 파일명을 DB에 저장하고 이름과 매핑되는 난수를 생성하여 파일명을 대체합니다.
3) 업로드된 파일 확장자를 서버에서 실행되지 않은 형태로 변경하거나 확장자를 제거한다.
4) 업로드된 파일을 URL요청으로 접근할 수 없는 곳으로 이동합니다.
4. 서버 보안 설정
- Apache conf
이미지 파일에 존재하는 php code 가 실행되지 않도록 업로드 디렉터리에 php 코드가 실행되는 것을 방지합니다.
이러한 설정은 업로드된 이미지 파일에 실행 php code 가 존재하더라도 실행되지 않습니다.
<Directory /home/web/public_html/upload_dir>
php_admin_value engine Off
</Directory>
- PHP conf
1) disable_functions 설정
php 에서 지원하는 함수 기능을 허용하지 않는 옵션입니다.
이 옵션으로 시스템 명령이 실행되는 것을 방지할 수 있습니다.
disable_functions = system, exec, shell_exec, passthru, phpinfo, show_source, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo
2) allow_url_fopen 설정
php 에서 원격지에 있는 파일을 읽어오지 못 하도록 하는 옵션입니다.
이 옵션으로 원격지의 악성스크립트(webshell)가 실행되는 것을 방지할 수 있습니다.
allow_url_fopen = Off
5. 업로드 장소 물리적 분리
웹 서버와 파일 업로드 서버를 물리적으로 분리하여 파일 업로드를 이용한 공격으로부터 웹 서버 침투를 방어합니다.
출처 : http://blog.plura.io/?p=6079
'php 시큐어코딩' 카테고리의 다른 글
파일 업로드/다운로드 취약점 - 업로드 (0) | 2023.02.17 |
---|---|
웹 보안 가이드라인 1. XSS - 초안 (1) | 2017.03.20 |
[PHP] strcmp 취약점을 이용한 인증 우회 (0) | 2017.01.26 |
PHP "==" 연산자 취약점 (0) | 2017.01.26 |
PHP $_SERVER['PHP_SELF'] 취약점 (0) | 2017.01.26 |