Wir haben die Aktionen zusammengefasst, die ausgeführt werden müssen, wenn beim Ausführen eines Tools namens OWASP-Abhängigkeitsprüfung ein Fehler auftritt (E / A-Ausnahme: Zurücksetzen der Verbindung).
Grob gesagt trat ein Fehler auf, weil das in der Umgebung verwendete JDK die von der Site, von der die Sicherheitsanfälligkeitsinformationen abgerufen wurden, angegebene Verschlüsselungssuite nicht unterstützen konnte. Die Lösung bestand darin, eine Bibliothek namens BouncyCastle hinzuzufügen, die eine API für die Verschlüsselung des JDK der Umgebung bereitstellt.
Ursprünglich arbeitete ich an der Zusammenarbeit zwischen Vuls und OWASP Dependency Check. https://vuls.io/docs/ja/usage-scan-non-os-packages.html#usage-integrate-with-owasp-dependency-check-to-automatic-update-when-the-libraries-are-updated-experimental
ERROR - IO Exception: Connection reset
2018-03-08 10:28:05,137 org.owasp.dependencycheck.utils.Downloader:280
DEBUG - Exception details
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:197)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:944)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1342)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1369)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1353)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at org.owasp.dependencycheck.utils.Downloader.getLastModified(Downloader.java:268)
at org.owasp.dependencycheck.utils.Downloader.getLastModified(Downloader.java:235)
at org.owasp.dependencycheck.data.update.NvdCveUpdater$TimestampRetriever.call(NvdCveUpdater.java:507)
at org.owasp.dependencycheck.data.update.NvdCveUpdater$TimestampRetriever.call(NvdCveUpdater.java:480)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at java.lang.Thread.run(Thread.java:748)
In derselben Situation gab es ein Problem. https://github.com/jeremylong/DependencyCheck/issues/561
Es ist lang, aber immerhin https://github.com/jeremylong/DependencyCheck/issues/561#issuecomment-257045439 Es gab nicht genug Hüpfburg.
Es gibt auch einen Kommentar, dass es in Ordnung ist, weil das neueste OpenJDK enthalten ist. https://github.com/jeremylong/DependencyCheck/issues/561#issuecomment-267774165
https://stackoverflow.com/questions/40305004/java-tls-connection-reset-using-some-jdks
Das Zurücksetzen der Verbindung wurde festgelegt, da das JDK die von nvd.nist.gov verwendete TLS-Kommunikationsverschlüsselungssuite, die die Informationen zur Sicherheitsanfälligkeit bereitstellte, nicht unterstützen konnte.
Es ist in Ordnung, wenn das JDK die entsprechende Verschlüsselungssuite unterstützt.
Weise https://stackoverflow.com/questions/31971499/ecdhe-cipher-suites-not-supported-on-openjdk-8-installed-on-ec2-linux-machine
Japanisches Verfahren https://www.intra-mart.jp/document/library/sso/public/im_sso_setup_guide/texts/install/login_server_config/security_provider/index.html
$ type java
java is /usr/bin/java
$ ls -lha /usr/bin/java
lrwxrwxrwx 1 root root 22 August 13 2017/usr/bin/java -> /etc/alternatives/java*
$ ls -lha /etc/alternatives/java
lrwxrwxrwx 1 root root 46 13. August 2017/etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java*
$ cd /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/ext # <-Bcprov hier-jdkXX-YYY.Stellen Sie das Glas auf
$ vim /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/security/java.security # <- java.Sicherheitsstandort
$ cd /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/ext
$ sudo wget http://www.bouncycastle.org/download/bcprov-jdk15on-159.jar
$ sudo vim /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/security/java.security
#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
+ security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
# the NSS security provider was not enabled for this build; it can be enabled
# if NSS (libnss3) is available on the machine. The nss.cfg file may need
$ ./dependency-check/bin/dependency-check.sh -f XML -o ./result.xml -s /web/current/api/current --project dev-api -l ./owasp.log
[ERROR] Exception from bundle-audit process: java.io.IOException: Cannot run program "bundle-audit" (in directory "/tmp/dctemp668de20e-5168-4592-ada8-6b73ba425d34"): error=2,Es gibt keine solche Datei oder kein solches Verzeichnis. Disabling Ruby Bundle Audit Analyzer
Ich habe einen Fehler erhalten, aber der Fehler war, dass ich Ruby in der zu scannenden Umgebung verwendet habe und das Bundle-Audit nicht ausgeführt werden konnte.
https://rubygems.org/gems/bundler-audit
Inzwischen sollten Sie den Titelfehler behoben haben.
Darüber hinaus werden auch die Einstellungen für das Bundle-Audit beschrieben. Ist es einfach.
$ sudo gem install bundler-audit
Ändern Sie das Ausgabeziel des Ergebnisses in /tmp/result.xml
$ ./dependency-check/bin/dependency-check.sh -f XML -o /tmp/result.xml -s /web/current/api/current --project dev-api -l ./owasp02.log
Es endete normal.
das ist alles.