내 프로젝트 포티 스캔을 실행하면 내가보안 정보 또는 스택 추적을 누출하지 않고 오류를 기록하는 방법은 무엇입니까?
LOGGER.error(e.getMessage(),e);
를 사용하여 예외를 기록하고있어 것을 볼 않는 그것은 attckers이 정보에 대한 액세스 권한을 얻을에서 시스템 정보를 얻을 수 있기 때문에 이것은 올바른 방법이 아니다 말한다 이것과 공격 계획.
보안을 강화하지 않고 가장 좋은 방법은 무엇입니까?
내 프로젝트 포티 스캔을 실행하면 내가보안 정보 또는 스택 추적을 누출하지 않고 오류를 기록하는 방법은 무엇입니까?
LOGGER.error(e.getMessage(),e);
를 사용하여 예외를 기록하고있어 것을 볼 않는 그것은 attckers이 정보에 대한 액세스 권한을 얻을에서 시스템 정보를 얻을 수 있기 때문에 이것은 올바른 방법이 아니다 말한다 이것과 공격 계획.
보안을 강화하지 않고 가장 좋은 방법은 무엇입니까?
대부분의 경우이 논리는 솔직하게 말도 안됩니다. LOGGER 객체는 로컬 파일 시스템에 작성해야하며, 원격 공격자가 파일 시스템에 액세스 할 수있는 경우 방법 큰 문제가 발생합니다.
필요에 따라 로그 파일에 대한 액세스를 제한 한 다음 마음에 기록하십시오.
프로덕션 환경에서 로그 오프를 전환 할 수 있지만 최종 사용자가 오류를보고하고 어떤 일이 발생했는지 모를 때 큰 단점이 될 수 있습니다.
로그를 중요한 데이터로 취급하고 운영 체제 수준에서 데이터베이스 파일에 액세스하는 것과 같은 액세스를 보호해야합니다. 침입자가 데이터베이스에 액세스하면 어쨌든 시스템을 손상시킵니다. 기껏해야 시스템 관리자 만 로그 파일에 액세스 할 수 있어야하며 필요할 때만 개발자에게 제공해야합니다 (생산 등의 중대한 오류).
일반적으로 잘 설계되고 유지 관리되는 시스템에 동의하는 경향이 있습니다. 그러나 당신은 "mysite.com \ logforj.log"와 BAM을 입력 할 수있는 시스템의 수에 놀랄 것입니다. 로그 파일을보십시오. – LaJmOn
웹 루트에 로그인하는 경우 개발자를 해고해야합니다 .-) –
하지만 더 심각하게 "우리 사이트에 소스 코드를 호스트하면 사람들이 우리 소스 코드를 다운로드 할 수 있습니다 !!!"라고 말하는 것과 같습니다. 고쳐? 소스 코드 또는 로그 파일을 사이트에 올려 놓지 마십시오! –