Apache에서 POST 데이터를 기록하는 가장 좋은 방법은 무엇입니까?
매개 변수가있는 GET 요청 형식 또는 POST 요청 (예 : 표준 URL 인코딩 및 구분 된 POST 데이터 사용)의 데이터를 수락하는 사이트 API가 있다고 가정 해보십시오. API 호출을 기록하고 분석하려는 경우 GET 요청이 apache 로그에 있기 때문에 쉽게 수행 할 수 있습니다. 아파치 로그에서 POST 데이터를 얻는 간단한 방법이 있습니까?
(물론 애플리케이션에서 POST 데이터를 명시 적으로 기록 할 수 있지만 코드에서 걱정하지 않아도되는 구성 수준의 방법을 원합니다.)
Apache의 mod_dumpio를 사용하십시오 . 명백한 이유로 조심하십시오.
mod_dumpio 는 첫 번째 널 문자에서 바이너리 페이로드 로깅을 중지합니다 . 예를 들어 multipart/form-data
gzip 파일을 업로드하면 mod_dumpio로 처음 몇 바이트 만 표시 될 것입니다.
또한 Apache httpd.conf
는 /modules
폴더 에있는 경우에도이 모듈을 언급하지 않을 수 있습니다 . 수동으로 추가 LoadModule
하면 정상적으로 작동합니다.
대답하기 늦었지만. 이 모듈은 다음을 수행 할 수 있습니다 : https://github.com/danghvu/mod_dumpost
다음을 설치 mod_security
하고 넣을 수 있습니다 /etc/modsecurity/modsecurity.conf
.
SecRuleEngine On
SecAuditEngine On
SecAuditLog /var/log/apache2/modsec_audit.log
SecRequestBodyAccess on
SecAuditLogParts ABIJDFHZ
정확히 대답은 아니지만 Apache 자체에서이를 수행하는 방법은 들어 본 적이 없습니다. 확장 모듈로 가능할 것 같지만, 하나가 작성되었는지는 모르겠습니다.
한 가지 우려 사항은 POST 데이터가 상당히 클 수 있으며 로깅되는 양에 제한을 두지 않으면 잠시 후 디스크 공간이 부족할 수 있다는 것입니다. 해커가 서버를 엉망으로 만들 수있는 경로입니다.
[ModSecurity][1]
POST 데이터를 보는 데 사용할 수 있습니다 .
Debian / Ubuntu에 설치 :
$ sudo apt install libapache2-mod-security2
권장 구성 파일을 사용하십시오.
$ sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Apache를 다시로드합니다.
$ sudo service apache2 reload
이제 아래에 기록 된 데이터를 찾을 수 있습니다. /var/log/apache2/modsec_audit.log
$ tail -f /var/log/apache2/modsec_audit.log
--2222229-A--
[23/Nov/2017:11:36:35 +0000]
--2222229-B--
POST / HTTP/1.1
Content-Type: application/json
User-Agent: curl
Host: example.com
--2222229-C--
{"test":"modsecurity"}
실제로 응용 프로그램에서 할 것입니다. 물론 로거 시스템에 따라 런타임에 구성 할 수 있습니다. 예를 들어 Apache Log (log4j / cxx)를 사용하는 경우 이러한 URL에 대한 전용 로거를 구성한 다음 런타임에 XML 파일에서 구성 할 수 있습니다.
더 쉬운 옵션은 서버에 도달하기 전에 POST 데이터를 기록하는 것입니다. 웹 응용 프로그램의 경우 Burp Proxy 를 사용하고 Firefox를 HTTP / S 프록시로 사용하도록 설정 한 다음 실시간으로 '유선에서'데이터를 볼 수 있습니다.
브라우저없이 API 요청을하는 경우 SoapUI는 매우 유용하며 유사한 정보를 표시 할 수 있습니다. Burp를 통해 연결하도록 SoapUI를 구성 할 수있을 것입니다 (하지만 추측).
내장 된 포렌식 로그 기능을 사용할 수도 있습니다.
참조 URL : https://stackoverflow.com/questions/989967/best-way-to-log-post-data-in-apache
'developer tip' 카테고리의 다른 글
WordPress 사이트에서 bitnami 배너를 제거하려면 어떻게해야합니까? (0) | 2021.01.09 |
---|---|
어레이를 빠르게 제로화하는 방법은 무엇입니까? (0) | 2021.01.09 |
웹 개발에 대한 기본적이지만 중요한 질문이 있습니까? (0) | 2021.01.08 |
여러 줄 셀로 테이블을 코딩하는 방법 (0) | 2021.01.08 |
전체 분기가 아닌 git 부분 병합 (0) | 2021.01.08 |