서비스 취약점 확인 [닫기]

서비스 취약점 확인 [닫기]

서비스의 conf 파일(일반적으로 nginx apache mongodb cassandra ssh 등으로 사용됨)을 확인하고 패턴을 검색하는 일종의 bash 스크립트를 작성해야 합니다(예: mongod.conf에 권한이 있는지 확인: 라인 활성화 또는 다음과 같은지 확인). SSH 로깅은 키를 통해 활성화되며, 각 서비스가 최신 버전인지 확인하고 기본 사용자를 비활성화하여 서비스 보안을 보장합니다.

하지만 아직 해결할 수 없는 문제가 하나 있습니다. ;) - 내 스크립트가 작동하는지 증명해야 합니다. - 공통 서비스의 취약점을 검사할 수 있는 애플리케이션을 알고 있나요? 웹사이트, 즉 서비스를 말하는 것이 아닙니다. 스크립트를 실행하기 전과 후에 이 테스트를 수행할 수 있습니다. 짜잔! 제 스크립트가 세상을 구하고 있습니다. ;)

어떤 답변이라도 매우 감사하겠습니다.

정말 감사합니다 :3

답변1

당신이 나에게 요구하는 것은 표준 모니터링 스크립트를 작성하는 것 같습니다.

이 문제를 해결하는 가장 좋은 방법은 프로그래밍 언어를 선택하고 이를 사용하여 모든 언어를 작성하는 것입니다.

Bash 스크립팅은 특정 작업에 불안정하기 때문에 최선의 선택이 아닙니다. 많은 일을 할 수 있지만 이를 유지하는 것은 큰 문제이며 다양한 외부 바이너리를 사용하고 오류를 처리하는 등의 문제로 복잡합니다. 매우 혼란스럽고 그렇지 않습니다. 예외 및 다른 언어를 처리합니다.

각 데이터베이스 및 기타 사항에 대한 드라이버와 함께 JVM 언어(Java, Scala, Groovy)를 사용하는 것이 좋습니다. C#은 모든 라이브러리를 갖추고 있기 때문에 좋은 선택입니다.

그렇지 않다면 Python, PHP, Perl 등 수많은 드라이버와 API가 있습니다.

따라서 이 주제를 진지하게 받아들이고 one of the most important things각 서비스가 적절하게 테스트되었는지 확인해야 합니다.

스크립트를 작성하는 경우 기존 네트워크 모니터링 프런트 엔드(예: Thruk가 포함된 Nagios)를 사용하여 해당 스크립트 및 알림/보고서의 예약된 실행을 지원할 수 있습니다.

또한 pnp4nagios를 사용하여 표시기를 그릴 수 있습니다.

또한 취약점 검색과 모니터링은 서로 다른 두 가지라는 점에 유의하세요. 첫 번째에는 OpenVAS와 Nessus가 있고 두 번째에는 Nagios, Solar Winds 등이 있습니다. 당신이 원하는 것은 Nagios 등과 함께 사용자 정의 스크립트를 사용하는 것입니다.

이는 프로그래밍을 배우는 아주 좋은 방법이기도 합니다. 당신에게 필요한 것은 아주 간단한 스크립트를 작성하는 것 뿐이며, 큰 스트레스 없이 많은 것을 배울 수 있습니다. 하루에 2~3시간을 투자해 인프라를 깊이 이해해 보세요. Eclipse 또는 IntelliJ로 시작하고 Gradle을 사용하여 간단한 프로젝트를 빌드할 수 있습니다. Gradle에는 우수한 자동화 기능이 있고 Java에는 우수한 지원이 있으므로 장기적으로 보면 만족할 것입니다. 개발팀에 도움을 요청할 수 있습니다. pnp4nagios를 사용하여 그래픽을 그리기 위해 어떤 문자열이 반환되어야 하는지는 Nagios 플러그인 설명서를 확인하세요.

로그를 데이터베이스로 추출해 볼 수도 있으며 이는 매우 유용합니다.

이제 좀 더 실용적인 정보를 살펴보겠습니다. Java 애플릿을 원격으로(Nagios 플러그인) 실행하거나 Nagios 시스템에서 로컬로 실행할 수 있습니다(선호). 이렇게 하면 SSH(Java 또는 Python)를 통해 시스템에 연결하고, 파일을 읽고, 다운로드하고 구문 분석할 수 있습니다. 따라서 일부 시나리오에서는 일부 네트워크 작업이 필요합니다.

클라우드 API를 사용할 수도 있습니다.

기존 Nagios 플러그인과 함께 SNMP를 사용할 수도 있으므로 모든 작업을 수행하기 위해 Java를 사용할 필요가 없습니다.

전용 솔루션을 사용하여 특정 데이터베이스를 모니터링할 수 있으며, 스크립트를 직접 작성하지 않는 경우(Nagios가 최고임) 웹에서 데이터베이스 성능을 모니터링할 수 있는 도구를 찾을 수 있습니다.

마지막으로 모니터링 스크립트는 데이터베이스에서 비밀번호를 확인할 수 있습니다. 그것이 일반적으로 하는 일입니다. 그리고 RAM, 디스크 공간 등이 부족하지 않습니다.

올바르게 수행하는 방법은 다음과 같습니다.

  1. 모든 호스트 등과 같은 인프라의 데이터베이스에는 자동 감지 기능이 있을 수 있습니다. 이는 인프라 구축/자동화와 관련이 있습니다. 클라우드를 사용하는 경우 여러 데이터베이스가 될 수 있습니다.

  2. 로그 및 기타 문서를 포함하는 또 다른 데이터베이스로 Nagios의 실행 로그와 (4)에서 실행된 스크립트 결과를 포함합니다. 여기서 다른 로그를 얻을 수 있습니다. MongoDB는 좋을 것입니다. 카산드라도 할 수 있습니다.

  3. 나기오스

    • checkdatabase(2)를 실행하고 검사가 성공했는지 그리고 결과가 무엇인지 확인하십시오.
    • 데이터베이스 로그를 확인하여 백그라운드 스크립트가 실행 중인지 확인합니다. (2)
  4. 비밀번호/액세스 확인을 실행하는 백그라운드 스크립트

    • 데이터베이스(1)의 모든 시스템에 빈 루트 비밀번호가 없거나 기본 비밀번호가 설정되어 있지 않은 경우
    • 데이터베이스(1)의 모든 시스템이 특정 로그인을 허용하는 경우
    • 결과를 데이터베이스에 기록합니다. (2)
    • OpenVAS를 실행할 수도 있으며 결과는 (2)로 추출될 수 있습니다.
  5. 따라서 기본 비밀번호가 있거나 비밀번호가 없는 경우 (1)에서 버전(1) 또는 서버를 업데이트할 수 있습니다. 또한 Nagios에 대한 생성 검사를 빌드(1)하여 특정 측정항목을 모니터링하고 생성할 수도 있습니다. 많은 Nagios 시스템을 실행할 수 있습니다. Database(2)를 사용하여 다양한 소스에서 로그를 가져올 수 있습니다(이를 위해서는 어댑터가 필요함). 이러한 로그를 기반으로 무차별 대입 크래킹 내용을 확인하고 전략을 조정할 수 있습니다.

Nessus와 OpenVAS도 거대한 돼지입니다. 따라서 Nagios를 사용하여 호스트를 구체적으로 검사하는 것은 간단하고 효과적인 방법입니다. 또한 Nessus와 OpenVAS는 기본 비밀번호나 누락된 비밀번호를 확인하는 데 좋은 솔루션이 아닙니다. 전용 스크립트가 이 문제를 해결하는 더 좋은 방법입니다.

관련 정보