Good answers from Rob and Andy, thanks! --- A. Soroka The University of Virginia Library
> On Feb 1, 2016, at 6:08 AM, Rob Vesse <[email protected]> wrote: > > They can still run the Fuseki command at their terminal with the --version > flag e.g. > > $ fuseki-server --version > Jena: VERSION: 3.0.1 > Jena: BUILD_DATE: 2015-12-08T09:24:07+0000 > ARQ: VERSION: 3.0.1 > ARQ: BUILD_DATE: 2015-12-08T09:24:07+0000 > RIOT: VERSION: 3.0.1 > RIOT: BUILD_DATE: 2015-12-08T09:24:07+0000 > TDB: VERSION: 3.0.1 > TDB: BUILD_DATE: 2015-12-08T09:24:07+0000 > Fuseki: VERSION: 2.3.1 > Fuseki: BUILD_DATE: 2015-12-08T09:24:07+0000 > > > Which simply prints the versions of the various components and exits > > Rob > > On 31/01/2016 17:05, "A. Soroka" <[email protected]> wrote: > >> Just for the record, Andy, do we now have a standard way of determining a >> running version for when it is necessary to answer a question? >> >> I’m thinking here of folks who may have “inherited” a deployed Fuseki >> install and who then run into questions or troubles (it could happen to >> anyone {grin}), and what we can tell them to do if we need to know the >> version to help them. Maybe there is a good place to check in the config >> directory? Or would we have to go inside the WEB-INF/lib jars and look at >> metadata there? >> >> --- >> A. Soroka >> The University of Virginia Library >> >>> On Jan 31, 2016, at 11:57 AM, Andy Seaborne <[email protected]> wrote: >>> >>> https://issues.apache.org/jira/browse/JENA-1125 >>> >>> Output of version should only be in developer mode now. >>> "developer mode" means anything that is not a formal release, i.e. with >>> a version number without SNAPSHOT. >>> >>> Andy >>> >>> On 28/01/16 21:03, Andy Seaborne wrote: >>>> If you want to lock down a java-based webapp server, jetty, tomcat, >>>> fuseki whatever, then another starting point is to put it behind a >>>> reverse proxy (httpd, nginx etc), slave the java server to only receive >>>> request from localhost i.e. the reverse proxy. >>>> >>>> httpd, nginx have a much greater range of facilities to defend the >>>> service. >>>> >>>> On 28/01/16 11:36, Massimiliano Ricci wrote: >>>>> Dear All, >>>>> for a customer we'd like to use Fuseki 2.3.1. on Linux RedHat as a >>>>> standalone server. >>>>> Unfortunatelly we've encountered an anomaly of "Information Exposure" >>>>> (CWE-200 - http://cwe.mitre.org/data/definitions/200.html), in >>>>> particular >>>>> the Fuseki and JETTY versions are showed. For example, if I submit an >>>>> incorrect query, it's shown: >>>>> >>>>> Error 400: ... >>>>> Fuseki - version 2.3.1 .... >>>>> >>>>> And in response header: >>>>> >>>>> HTTP/1.1 200 OK >>>>> Date: Thu, 28 Jan 2016 10:20:34 GMT >>>>> Cache-Control: must-revalidate,no-cache,no-store >>>>> Pragma: no-cache >>>>> Content-Type: text/plain;charset=utf-8 >>>>> Content-Length: 31 >>>>> Server: Jetty(9.3.z-SNAPSHOT) >>>>> >>>> >>>> CWE-200 is about private or useful information to an attacker. >>>> >>>> Counting version numbers as sensitive or attack information is >>>> debatable >>>> IMO. At most, it is minor - it's all in the POM files and source code >>>> for open source - and attacking an unknown version is a matter of >>>> running an attack on all possible versions in parallel. >>>> >>>> Even the Apache webserver at www.apache.org puts in the version: >>>> >>>> Server: Apache/2.4.7 (Ubuntu) >>>> >>>> >>>> Why it says "9.3.z-SNAPSHOT" I don't know - this is a known Jetty issue >>>> - the version of Jetty is not a snapshot and it was pulled from maven >>>> central. Weirdly, current development, same Jetty, prints >>>> 9.3.3.v20150827. >>>> >>>> The Apache Jena release process will not proceed if a SNAPSHOT is >>>> found, >>>> not that maven central has snapshots at all. >>>> >>>>> In order to don't show the Jetty version I've modified the >>>>> >>>>> "jena-3.0.1-source-release\jena-3.0.1\jena-fuseki2\examples\fuseki-jett >>>>> y-https.xml": >>>>> >>>>> >>>>> <?xml version="1.0"?> >>>>> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" " >>>>> http://www.eclipse.org/jetty/configure_9_3.dtd"> >>>>> >>>>> <Configure id="Server" class="org.eclipse.jetty.server.Server"> >>>>> <New id="httpConfig" >>>>> class="org.eclipse.jetty.server.HttpConfiguration"> >>>>> <Set name="sendServerVersion"><Property >>>>> name="jetty.httpConfig.sendServerVersion" >>>>> deprecated="jetty.send.server.version" default="false" /></Set> >>>>> </New> >>>>> </Configure> >>>> >>>>> >>>>> but running fuseki: >>>>>>> java -Xmx16384M -jar fuseki-server.jar >>>>>>> --jetty-config=fuseki-jetty.xml >>>>> --port=8080 --loc=/mytdb /myDataSet >>>>> the following exception was raised: >>>>> 10:36:11 INFO Server :: Jetty server config file = >>>>> /space/weblogic/apache-jena-fuseki-2.3.1/fuseki-jetty.xml >>>>> 10:36:11 ERROR Server :: SPARQLServer: Failed to >>>>> configure >>>>> server: 0 >>>>> java.lang.ArrayIndexOutOfBoundsException: 0 >>>> >>>> That means the jetty configuration file has not defined a connector. >>>> >>>> If that was the whole file fuseki-jetty.xml then it's incomplete. The >>>> connector is created by <Call name="addConnector"> in the example. >>>> >>>> There are examples at: >>>> >>>> >>>> http://www.eclipse.org/jetty/documentation/current/configuring-connector >>>> s.html#jetty-connectors >>>> >>>> >>>> I used fuseki-jetty-https.xml with only the setting for >>>> name="sendServerVersion" changed and it worked (no Server line for >>>> Jetty) >>>> >>>>> at >>>>> >>>>> org.apache.jena.fuseki.jetty.JettyFuseki.configServer(JettyFuseki.java: >>>>> 266) >>>>> >>>>> at >>>>> >>>>> org.apache.jena.fuseki.jetty.JettyFuseki.buildServerWebapp(JettyFuseki. >>>>> java:222) >>>>> >>>>> at >>>>> org.apache.jena.fuseki.jetty.JettyFuseki.<init>(JettyFuseki.java:91) >>>>> at >>>>> >>>>> org.apache.jena.fuseki.jetty.JettyFuseki.initializeServer(JettyFuseki.j >>>>> ava:86) >>>>> >>>>> at >>>>> >>>>> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java >>>>> :358) >>>>> >>>>> at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:58) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:45) >>>>> at >>>>> >>>>> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd >>>>> .java:95) >>>>> >>>>> at >>>>> org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:60) >>>>> I think because Fuseki is using the wrong version Jetty >>>>> (9.3.z-SNAPSHOT >>>>> instead 9.3.3). >>>> >>>> Fuseki at the 2.3.1 release is running with 9.3.3.v20150827 >>>> >>>> See >>>> https://github.com/apache/jena/blob/jena-3.0.1/jena-fuseki2/pom.xml >>>> >>>>> >>>>> For Fuseki version I didn't find any solution. >>>>> >>>>> Could anyone suggest us how to figure out this issue? >>>>> There are proprerties to set to avoid it? >>>>> Do I have to open an issue on JIRA? >>>>> >>>>> Thanks, >>>>> Max >>>>> >>>> >>>> Andy >>>> >>> >> > > > >
