CANUNCLASSIFIED

RemoteCollectionofNetworkInformation (ReCoN)

ScottMilne ScottMilneConsultingInc. Preparedby: ScottMilne ScottMilneConsultingInc. 280AlbertStreet,Suite1000(10thFLOOR) Ottawa,Ontario K1P5G8 TaskID:0007 Version:1.0.2 PSPCContractNumber:W7714-176208/001/IPS TechnicalAuthority:JonathanRisto,ResearchEngineer Contractor'sdateofpublication:January2020 ThebodyofthisCANUNCLASSIFIEDdocumentdoesnotcontaintherequiredsecuritybannersaccordingtoDNDsecurity standards.However,itmustbetreatedasCANUNCLASSIFIEDandprotectedappropriatelybasedonthetermsandconditions specifiedonthecoveringpage.

DefenceResearchandDevelopmentCanada ContractReport DRDC-RDDC-2020-C076 May2020 CANUNCLASSIFIED CANUNCLASSIFIED

IMPORTANTINFORMATIVESTATEMENTS

ThisdocumentwasreviewedforControlledGoodsbyDefenceResearchandDevelopmentCanadausingtheScheduletothe DefenceProductionAct.

Disclaimer:ThisdocumentisnotpublishedbytheEditorialOfficeofDefenceResearchandDevelopmentCanada,anagencyofthe DepartmentofNationalDefenceofCanadabutistobecataloguedintheCanadianDefenceInformationSystem(CANDIS),the nationalrepositoryforDefenceS&Tdocuments.HerMajestytheQueeninRightofCanada(DepartmentofNationalDefence) makesnorepresentationsorwarranties,expressedorimplied,ofanykindwhatsoever,andassumesnoliabilityfortheaccuracy, reliability,completeness,currencyorusefulnessofanyinformation,product,processormaterialincludedinthisdocument.Nothing inthisdocumentshouldbeinterpretedasanendorsementforthespecificuseofanytool,techniqueorprocessexaminedinit.Any relianceon,oruseof,anyinformation,product,processormaterialincludedinthisdocumentisatthesoleriskofthepersonso usingitorrelyingonit.Canadadoesnotassumeanyliabilityinrespectofanydamagesorlossesarisingoutoforinconnection withtheuseof,orrelianceon,anyinformation,product,processormaterialincludedinthisdocument.

Templateinuse:C20-0226-03436-coverdcd.dotm

© HerMajestytheQueeninRightofCanada(DepartmentofNationalDefence),2020 © SaMajestélaReineendroitduCanada(MinistèredelaDéfensenationale),2020

CANUNCLASSIFIED RemoteCollectionofNetworkInformation(ReCoN) ScottMilne ScottMilneConsultingInc. PreparedByScottMilne ScottMilneConsultingInc. TaskID:0007 Version:1.0.2 PSPCContractNumber:W7714-176208/001/IPS TechnicalAuthority:JonathanRisto Contractor’sdateofpublication:January2020

Page1of31 RemoteCollectionofNetworkInformation(ReCoN) TaskID:0007 ScottMilne Jan08,2020 Version1.0.2 REVISIONHISTORY

DATE VERSION DESCRIPTION AUTHOR

Dec2019 1.0.0 ScottMilne

Dec2019 1.0.1 UpdatedbasedonfeedbackfromDRDC ScottMilne

Jan2020 1.0.2 UpdatedbasedonfeedbackfromDRDC ScottMilne

Page2of31 TableofContents 1. INTRODUCTION...... 4 1.1 ABSTRACT...... 4 1.1.1 Backgroundconcept...... 4 1.1.2 Results...... 4 1.1.3 Conclusion...... 4 1.2 PROJECTSCOPE...... 5 1.2.1 WindowsHosts...... 5 1.2.2 LinuxHosts...... 6 1.2.3 NetworkInfrastructureElements...... 6 1.2.4 Firewall...... 7 1.2.5 Peripherals...... 7 1.2.6 AdditionalConsiderations...... 7 1.3 REFERENCES...... 8 1.3.1 Product:Lansweeper...... 8 1.3.2 Product:SolarWinds...... 8 1.3.3 Product:GLPIwithFusionInventory...... 8 1.4 ASSUMPTIONS...... 8 2. OVERVIEW...... 8 2.1 OVERALLSUMMARY...... 8 2.1.1 TestNetwork...... 8 2.1.2 ProductsEvaluated...... 9 2.1.3 ProductsNotFullyEvaluated...... 10 3. DETAILEDANALYSIS...... 11 3.1 LANSWEEPER...... 11 3.1.1 TestNetworkTopology...... 12 3.1.2 Section6.1to6.5Summary...... 12 Figure3:TestTopology...... 12 3.1.3 Section6.6results...... 12 3.2 SOLARWINDS...... 16 3.2.1 TestNetworkTopology...... 16 3.2.2 Section6.1to6.5Summary...... 17 3.2.3 Section6.6Results...... 17 3.3 GPLWITHFUSIONINVENTORY...... 22 3.3.1 TestNetworkTopology...... 22 3.3.2 Section6.1to6.5Summary...... 23 3.3.3 Section6.6Results...... 23 4. CONCLUSION...... 26 APPENDIXA...... 27 Section6.1-Windows...... 27 Section6.2-Linux...... 28 Section6.3-NetworkInfrastructureElements...... 29 Section6.4-Firewall...... 30 Section6.5–Peripherals...... 31

Page3of31 1. Introduction 1.1 Abstract

1.1.1 Backgroundconcept 1. TheCOSWsectionatDRDChasbeenconductingsignificantworkintheareaofautomatedCND. Thecapabilitytoaccuratelyidentifyproblemsinthenetworkandtoofferremediationtechniques requiresthatspecificinformationbeavailablefromtheassetsanddevicesonthenetwork.Network identificationactivitiesencountervariousnetworkstates.Thestatesthatthisworkwillberequiredto considerinclude: · Fullnetworkconnectivityanduninterruptedaccesstointernalandexternalresources(e.g.classic enterprisenetworkwithinternetconnectivity). · Limitedorunstable/intermittentnetworkbandwidthtoremotesites(e.g.networkconnections betweensomenetworksitesislimited) · Noexternalnetworkaccess(e.g.anisolatednetwork) 2. Foreachofthenetworkstates1-3above,theCOSWsectionrequirestheinformationlistedin Sections6.1-6.5tobeprovidedwithconsiderationofthefactorslistedinSection6.6.Foreach categoryofdevice/information,ataminimumtwoproductsmustbeidentifiedthatcanprovidethe listedinformation.Bothopensourceandcommercialsolutionsshouldbeconsideredifavailable. 3. Theintentofanend-solutionistobothgatherandcombineinformationoneachtypeofassetintoa centralrepository.Therefore,solutionsthataddressallofthedifferenttechnologieswouldbeof interest,aswouldsolutionsthatmakesuchintegrationpossiblethroughopenAPIsorbyexposing theirdatabases.Suitabilityofeachsolutiontothisgoalshouldalsobeconsidered.

1.1.2 Results 1. Theresultsdisplaytheexistenceofproductscapableofcollectingtherequiredinformation,and whereoutoftheboxfunctionalitylacks,canbesupplementedbycustomizations. 2. Throughtheuseofprovidedconfigurationoptimizations,productscanworkinanetwork disadvantagedenvironment.This,whenusedinconjunctionwithproductagents,canallowforalarge amountofflexibilitywhenworkingindifferentconnectedenvironments.Thisfunctionalityalso allowsforscalabilitytolargeinstallationaswellasheterogeneousconnectionstatesatellitesites

1.1.3 Conclusion 1. Productscurrentlyonthemarketplaceexistthatcan,withacertainamountofcustomization,collect andmaintainaninventoryofnetworkelementsinavariableconnectionstateenvironment.

1.2 Résumé

1.2.1 Conceptd'arrière-plan 1. LasectionCOSWdeRDDCaeffectuédestravauximportantsdansledomainedesCND automatisés.Lacapacitéàidentifieravecprécisionlesproblèmesduréseauetàproposerdes techniquesdecorrectionnécessitequedesinformationsspécifiquessoientdisponiblesàpartirdes actifsetdespériphériquesduréseau.Lesactivitésd'identificationderéseaurencontrentdifférents

Page4of31 étatsderéseau.Lesétatsquecestravauxdevrontprendreenconsidérationsontlessuivants: •Connectivitéréseaucomplèteetaccèsininterrompuauxressourcesinternesetexternes(par exemple,réseaud'entrepriseclassiqueavecconnectivitéInternet). •Bandepassanteréseaulimitéeouinstable/intermittenteversdessitesdistants(parexemple,les connexionsréseauentrecertainssitesréseausontlimitées) •Pasd'accèsauréseauexterne(parexempleunréseauisolé) 2. Pourchacundesétatsderéseau1à3ci-dessus,lasectionCOSWexigequelesinformations énuméréesauxsections6.1à6.5soientfourniesentenantcomptedesfacteursénumérésàlasection 6.6.Pourchaquecatégoried'appareil/d'informations,aumoinsdeuxproduitsdoiventêtreidentifiés pourfournirlesinformationsrépertoriées.Lessolutionsopensourceetcommercialesdoiventêtre envisagéessiellessontdisponibles. 3. Lebutd'unesolutionfinaleestderassembleretdecombinerdesinformationssurchaquetyped'actif dansunréférentielcentral.Parconséquent,lessolutionsquitraitentdetouteslesdifférentes technologiesseraientintéressantes,toutcommelessolutionsquipermettentunetelleintégrationvia desAPIouvertesouenexposantleursbasesdedonnées.L'adéquationdechaquesolutionàcet objectifdoitégalementêtreconsidérée.

1.2.2 Résultats 1. Lesrésultatsmontrentl'existencedeproduitscapablesdecollecterlesinformationsrequiseset,làoù lafonctionnalitéprêteàl'emploifaitdéfaut,peuventêtrecomplétéspardespersonnalisations. 2. Grâceàl'utilisationdesoptimisationsdeconfigurationfournies,lesproduitspeuventfonctionnerdans unenvironnementréseaudéfavorisé.Ceci,lorsqu'ilestutiliséconjointementavecdesagentsde produit,peutpermettreunegrandeflexibilitélorsdutravaildansdifférentsenvironnements connectés.Cettefonctionnalitépermetégalementuneévolutivitéversunegrandeinstallationainsi quedessitessatellitesàétatdeconnexionhétérogène

1.2.3 Conclusion 1. Ilexistedesproduitsactuellementsurlemarchéquipeuvent,avecuncertaindegréde personnalisation,collecteretmainteniruninventairedesélémentsderéseaudansunenvironnementà étatdeconnexionvariable.

1.3 ProjectScope 1. Toidentifyproductsthatsatisfysomeoralloftherequirementslistedbytargetcategory-Windows hosts,Linuxhosts,NetworkElements,Firewalls,andPeripherals.Aminimumof2productsmustbe identifiedforeachoftherequirementslisted. 2. Allproductsidentifiedthroughthisworkmustbestandalonepiecesofsoftware,notnativeoperating systemcommands.Theproductsmustalsobeactivelymaintainedorupdatedproducts. 3. ForeachoftheproductsidentifiedtheAdditionalConsiderationssectionneedstobedocumented

1.3.1 WindowsHosts 1. IPaddress(s)

Page5of31 2. Hostname/Computername 3. OSname 4. OSversion 5. Installedmemorymake,size,slotlocationandserialnumbers 6. Installedhard-drivemake,model,installationlocationandserialnumbers 7. Motherboardserialnumber 8. Installedhardware(e.g.cards) 9. SystemUUID/DeviceID 10.Securitysoftwareinstalledandstate(enabledordisabled) 11.Activesecuritysoftwareconfiguration(ifpossible) 12.Openportsandassociatedprocesses(attimeofcollection) 13.Installedsoftware(name,version,dateinstalled,location) 14.Installedpatchesanddateinstalled 15.Runningprocesses(attimeofcollection) 16.Firewallstate 17.Firewallsettings

1.3.2 LinuxHosts 1. IPaddress(s) 2. Hostname/Computername 3. OSname 4. OSversion 5. Installedmemorymake,size,slotlocationandserialnumbers 6. Installedharddrivemake,model,installationlocationandserialnumbers 7. Motherboardserialnumber 8. Installedhardware(e.g.cards) 9. SystemUUID/DeviceID 10.Securitysoftwareinstalledandstate(enabledordisabled) 11.Activesecuritysoftwareconfiguration(ifpossible) 12.Openportsandassociatedprocesses(attimeofcollection) 13.Installedsoftware(name,version,dateinstalled,location) 14.Installedpatchesanddateinstalled 15.Runningprocesses(attimeofcollection) 16.Firewallstate 17.Firewallsettings

1.3.3 NetworkInfrastructureElements 1. IPaddressesassignedtothedevice(IPv4andIPv6) 2. Makeandmodelinformation 3. Installedsoftwareversion(s) 4. Runningsoftwareversion 5. Installedmodels/daughterboards 6. Portsavailable(IPv4andIPv6)(e.g.48portswitch,allports) 7. Portsactive(IPv4andIPv6)(e.g.15portswithconnectivitydetected) 8. CAMtable 9. Routingtable(iflayer3)(IPv4andIPv6) 10.Configuration 11.ACL’s(ifconfigured)(IPv4andIPv6) 12.MAC’sassociatedwitheachactiveport(IPv4andIPv6) 13.Netflowdata(ifavailable)(IPv4andIPv6)

Page6of31 14.Portstatistics(attimeofcollection)(IPv4andIPv6)

1.3.4 Firewall 1. IPaddressesassignedtothedevice(IPv4andIPv6) 2. Makeandmodelinformation 3. Installedsoftwareversion(s) 4. Runningsoftwareversion 5. Installedmodels/daughterboards 6. Portsavailable(IPv4andIPv6) 7. Portsactive(IPv4andIPv6) 8. CAMtable 9. Configuration/ruleset(IPv4andIPv6) 10.MAC’sassociatedwitheachactiveport(IPv4andIPv6)

1.3.5 Peripherals 1. IPaddressesassignedtothedevice(IPv4andIPv6) 2. Makeandmodelinformation 3. Installedsoftwareversion(s) 4. Runningsoftwareversion 5. Installedmodels/daughterboards 6. Servicesavailableandactive(IPv4andIPv6) 7. Configuration(ifavailable)

1.3.6 AdditionalConsiderations 1. Deploymentmethodfortool(agentvsagentless) 2. Expandability(addingnewmodulesandfunctionalitytothetool) 3. Datastorage(howisthisdone) 4. Manualdataentry(methods,ifany) 5. Timeoutconcerns(e.g.networkdelays) 6. Abilitytoprovideareal-timeviewofthenetwork(e.g.dailyscan,immediateupdate) 7. Acceptanceanduseoftheproduct 8. Bandwidthconsumptionforproperusage 9. Abilitytointegratewithothersystems/productsandwhichproducts 10.Method/protocolsusedtocollectinformationfromthetargetsystems 11.Howdataispushedand/orpulled(exported)fromtheproduct(e.g.API,XML) 12.Abilitytoconfigureandcustomizesettings 13.Howchangestoinformationispresentedtotheusers 14.Howchangestoinformationispropagatedtoothersystems/clients/subscribers 15.Howthedataisnativelypresentedtotheuser(e.g.tabular,graphically) 16.Abilitytosendcustomizedoruniquecommandstothemonitoreddevicesthroughtheproduct 17.Howdoestheproducthandleunknownoremptyvalueswithinthedata 18.Howdoestheproductshandleerrorsindatacollectionandprocessing 19.Howlargeofanetworkcantheproductmonitor 20.Costtodeployona1,000nodenetwork 21.Otherdevicessupportedbeyondtherequesteddeviceslisted

Page7of31 1.4 References

1.4.1 Product:Lansweeper · https://www.lansweeper.com

1.4.2 Product:SolarWinds · https://www.solarwinds.com/network-performance-monitor · https://www.solarwinds.com/server-configuration-monitor · https://www.solarwinds.com/user-device-tracker · https://www.solarwinds.com/solutions/orion · https://www.solarwinds.com/network-configuration-manager

1.4.3 Product:GLPIwithFusionInventory · http://fusioninventory.org · https://glpi-project.org/

1.5 Assumptions · Accesstothedeviceseitherdirectlyorviathenetwork · Anadministratorlevelaccount/accessisavailable · Bothmanagedandnon-manageddevices · Systemsarenotlockeddowntothepointthatcollectionisblocked · Firewallswillallowtherequiredaccesstotargetsystems · Obfuscatingtechnologyisnotbeingused · Virtualinstancesandcloneshaveallbeenproperlypreparedusingstepssuchas‘sysprep’on Windows · NetworkdevicesrespondtoICMPandICMPtrafficisallowedtotraversethenetwork unhindered · WhenAgentbasedsolutionsarenotpossibleordesirable,thatWMIand/orSNMPisallowed, configured,andcantraversethenetworkunhindered

2. Overview 2.1 OverallSummary 1. Giventhespecificsetofrequirementssupplied,itwasdeterminedthat3NetworkInventoryproducts wouldbestrepresentthecapabilitiescurrentlyavailableinthemarketplace.Therewasanadditional4 productsthatdidnotmakeitthroughthefullevaluationforreasonsthataredescribedbelow.Given thatthisreportisnotintendedtobeanexhaustivesurveyofthelandscape,andotherthanthecriteria identified,therewasnospecificusecase,itwasdeterminedthatthiswouldsuffice. 2. Alloftheproductstestedinbothanonlineandofflineenvironmentand,unlessotherwise noted,therewasnodegradationinperformance.

2.1.1 TestNetwork 1. AlltestingwasdoneonasingleworkstationrunningVMWareWorkstation15whichranall ofthevirtualmachines.TheCisco2950,HP2600nLaserJetprinterandthe unmanagedswitchwereallseparatephysicaldevices.ESXiwasavirtualmachinerunning

Page8of31 withinVMWareWorkstation15andthePaloaltoFirewallwasavirtualmachinerunning withinthatESXiinstance. 2. Thetestnetworkwasflatinitstopologysinceitwasdeemedthatthislevelofcomplexity wasallthatwasneededtoevaluatethefunctionalityofthevariousproductswithrespectto theidentifiedrequirements. 3. Testswereperformedwiththeinternetconnectioncominginattheunmanagedswitchwhich meantthatallofthedevicesincludingtheTest_ServerhadaccesstotheInternet.Testswere laterperformedwiththeInternetconnectionsevered(unpluggedfromtheunmanaged switch),isolatingtheentirenetworkfromtheInternet.Installationswerenotperformedwith theinternetdisconnected,thisbeingsaid,the3productsthatwerefullyevaluatedgaveno indicationinthedocumentationortheinstallationprocesswhichwouldindicatethatthey couldnotbeinstalledoffline. 4. SNMPv2cwasconfiguredwiththesameCommunitystringfortheCiscoCatalyst2950, PaloaltoFirewallandtheHP2600nLaserJetprinter. 5. Alllocaladministratoranduserpasswordsweresettothesamevalue.

Figure1:Testnetworktopology 2.1.2 ProductsEvaluated 1. Lansweeper:Offerscentralizedhardware,softwareanduserinventoryandreportingwith anintuitiveandup-to-dateuserinterface 2. Solarwinds:Suiteofproductsthatofferacomprehensivevarietyofnetworkadministration productmodulesthatsitatopoftheOrionapplicationframework 3. GLPIwithFusionInventory:Opensourceassetmanagementsolutionwithaminimalist userinterface,whatitlacksinpresentationitmakesupforasacosteffectivesolution

Page9of31 2.1.3 ProductsNotFullyEvaluated 1. TripwireEnterprise:TripwireseemstoconcentrateonCompliancereportsandreporting. Therearepoliciesthatcanbedefinedfordeterminingifasystemiscompliant. · Therearerulestogathertheinformationthatisneededtodeterminecompliance. · Youcanwritetheserulestopullanydatathatyouwouldlike,andyoucanmakeareportthatwill displayinventoryinformation,butthisissomethingthatyouneedtodo. · Outoftheboxitdoesnotpullalltheinformationthatyouwouldneedtoproduceahardware inventorywiththedepthofinformationthatisrequired. · WindowsandLinuxinformationwassparse.OutoftheboxInformationaboutnetworkelements, firewallsorperipheralswasnotgathered. 2. NetworkInventoryAdvisor-ClearAppsTherewereissueswithNetworkInventory Advisor(NIA)networkscans: · Itpulledonlybasicnetworkinformation(ipaddress,hostname)fromtheperipheral(HP2600n LaserJetPrinter) · DidnotpickuptheWindows2019targetserverduringnetworkscans,andwasonlyabletopull informationwhenatargeted(entereditsIP)scanwasperformedonthemachine. · SubnetscandidnotfindeitheroftheLinuxmachines,PaloaltoFirewall,ortheESXihost.Target scansoftheLinuxmachineswereabletopullinformation.AtargetedscanofthePaloalto firewallcausedtheNIAservertofreezeup(unresponsiveUI). · Thereseemedtobeagoodvarietyofexportoptionsforthereports,butbecauseofthetrial licenseIwasunabletotestthese. · EvenwhenthetargetmachineshadbeendetectedbyNIA,onlytheWindowsmachinehadgood coverageonthecriteria.TheinformationpulledfromtheLinuxmachinewassparse,andsinceI couldnotsuccessfullyscanthePaloalto,Icouldnotdeterminewhatinformationcouldhavebeen pulled. 3. NetworkInventory–Spiceworks:Networkscanningseemedtoworkwellwiththeability todefinesubnetsandcredentialsforthevarioushosttypes. · Therewasnotgoodcoverageofthecriteriawiththeserverpullinglessthanhalfoftherequired itemsforWindows,evenlessforLinux,NetworkInfrastructureElements,Firewallsand Peripherals. · Whentestingconnectedtotheinternet,adswerebeingdisplayedontheserverinterface. · Thepaidversionwassupposedtogetridoftheadsandbecapableofrunningoffline,butdueto thepoorperformanceingatheringtherequiredinformation,theserverwasnevertestedoffline. TheAgentwasonlyabletorunonWindowsallotherinformationgatheringwouldneedtorely onremoteprotocols(SNMP,ICMP,etc.) 4. Splunk:Splunkonitowndoesnotcollecttherequiredinformationandwasnotcapableof performingthescans. · Add-onswereavailablethatdidcollectsomeoftherequiredinformation,butcoveragefor WindowsandLinuxwassparse. · Additionally,out-of-the-box,notalloftheinformationthatwasbeingcollectedhaddisplaysand sothesewouldneedtobedevelopedbytheenduser.ThisalsomadeevaluationofSplunk difficultsinceitcouldnoteasilybeverifiedthatthecorrectinformationwasbeingcollected

Page10of31 3. DetailedAnalysis 3.1 Lansweeper 1. Lansweeperasacompany,originatedinBelgiuminthemid2000’sandhascontinuedto evolveitscoreproductofanassetinventorysystemtoincludeITHelpdeskfunctionality. ThecentralizedserveristargetedtorunontheWindowsoperatingsystem,withAgent softwarethatcanbedeployedtoWindows,LinuxandMacOS.Inventoryinformationcanbe collectedagentlessviaSNMP,WMI,SSH,andWinRMwhichsupplementstheAgentbased collection. 2. TheLansweeperagentsoftware(LsAgent)canbeusedtorelayinformationfromahost devicetotheLansweeperserverdirectlyorberelayedthroughacloudbasedserverifadirect connectionisnotpossible.InformationistransmittedusingTLS1.2,ensuringthatthedatais encryptedintransit. 3. ThedenselypackedUIislogicallylaidouttodisplaythemostinformationpossiblewhile stillremainingintuitivetouse.

Figure2:Lansweeperuserinterface

Page11of31 3.1.1 TestNetworkTopology AgentsweredeployedtotheUbuntu_TargetandWindowsServer2019_Targetmachines

3.1.2 Section6.1to6.5Summary Fromtheperspectiveofthelistedrequirements,Lansweeperwasquitecapable,beingableto identifymostoftheitemsthatwererequired.Thedownsidewasthelackofcustomizationswith respecttoretrievingandstoringnewhostattributes,makingitunabletoretrieveallofthe attributesidentifiedbytherequirements.

Figure3:TestTopology

3.1.3 Section6.6results

3.1.3.1 Deploymentmethodfortool 1. Lansweepercanoperatewithanagent,LsAgent,orwithout.Withoutanagenttheproduct willuseWMI(Windows),SSH(Linux)andSNMP(otherNetworkDevices)togather informationfromthetargetmachines.ICMPwillbeusedtoperforminitialscansto determineifamachineexistsataparticularIPaddress.LaterICMPwillbeusedtofindout ifthedeviceisstillrespondingtonetworktraffic. 2. ToinitiallypopulateLansweeperwithallofthenetworkelementsanetworkscancanbe performed.GlobalWindowscredentialscanbeenteredforWindowsWMIscans,global SSHcredentialsforthe*nixscans,andglobalSNMPcredentialscanbeenteredforthe SNMPenableddevices.Forlaterscans,theabilitytoentercredentialsforothertypesof devicescanbeenteredthroughtheScanning→ScanningCredentialspage. 3. Theagentcanbedeployedinoneoftwoways: · loggingintothetargetmachine,downloadingtheagent,performinganinstallation · performingasilentinstallfromtheLansweeperservertoaWindowsmachine. 4. ThedownloadandinstallmethodfortheAgentisstraightforwardfor*nixandWindows machines,justdownloadtheAgentforWindowsorLinuxfromeitherthewebsitelocatedat https://www.lansweeper.com/download/lsagentorcopiedfromthelocalLansweeperserver fromthedefaultdirectoryC:\ProgramFiles(x86)\Lansweeper\PackageShare\Installers,run theinstallerandfollowtheprompts. 5. ForWindowsorLinuxmachinesyoucancreate/useasilentinstallerthatwillpush/pullthe LsAgentfromtheservertothetargetWindowsmachine.Thisactionisperformedasan InstallerPackage,andthesecanbefoundundertheDeployment→InstallerPackagespage intheLansweeperserverUI.ThereshouldalreadybyanInstallerPackagefortheLsAgent whichtargetsWindows,soitshouldjustbeamatteroftargetingthesubnetorspecific

Page12of31 resourcestoinstalltheLsAgentto.IfyouwanttotargetaLinuxmachine,thentheinstaller willneedtobecreatedbutthisprocessisrelativelystraightforward.Progressforthe installationcanbeseenundertheDeployment→InstallerLogspage. 6. RegardlessofhowLsAgentwasinstalled,afterLsAgentisinstalledyoucancheckinthe LansweeperserverUIundertheScanning→LsAgentScanningpagetomakesurethatthe machineisnowshowingupashavingreportedbacktotheserverthatithasanagent installed.

3.1.3.2 Expandability(addingnewmodulesandfunctionalitytothetool) 1. It’spossibletocreatecustomregistrykeyscanning,althoughaccordingtothedocumentation “Retrievingallvalueswithinakeyorsearchingtheentireregistryforaspecificvalueisnot possible” 2. https://www.lansweeper.com/knowledgebase/report-based-on-registry-keys/ 3. Thiswouldmeanscanningforallfirewallruleswouldnotbepossiblebutyouwouldbeable tocheckthestatusofasingledefinedfirewallrulewiththismechanism. 4. Scanninganewfilesattributes(Windowsonly),newSNMPOIDandCustomPerformance Scanning(Windowsand*nixonly)canallbedoneinasimilarUIfoundunderthe “Scanning->DataSelection”menuheader. 5. NewAssetActionscanbedefinedinthe“Configuration->AssetPages”sectionoftheUI. Theseactionswillbeexecutedfromtheserver,andwillneedtotakethisintoaccount.These ActionscannotretrieveinformationtobestoredordisplayedbyLansweeper.

3.1.3.3 Datastorage(howisthisdone) 1. BydefaultLansweeperinstallswithMicrosoftSQLCompact(4GBlimit)onthesame machine.LansweepercanalsomakeuseofMS-SQLServerinstalledonaseparatemachine.

3.1.3.4 Manualdataentry(methods,ifany) 1. ManualeditingandaddingofanassetcanbedonethroughtheAssetview.Assetscanalso bemanuallyimportedviaimportofaspreadsheet. 2. ThedataforascanneddevicecanbeeditedviatheAssetpageforthatdeviceandselecting toedittheassetfromthelefthandmenu.Informationthatispulledviaascanwilltake precedenceovermanuallyentereddataunlessthatfieldislockedfromscanning.Notall fieldsarelockable,somanualeditsfornon-lockablefieldsshouldbedonewiththisinmind.

3.1.3.5 Timeoutconcerns(e.g.networkdelays) 1. Foractivescanningatimeoutwillresultinafailuretoretrievedatafromthatdevice.Errors (includingtimeouts)willbedisplayedunderScanning->ScanningErrors.Useofthe LsAgentcanalleviatetimeoutssincetheLsAgentcanbeconfiguredtoforwarddatatoa CloudRelayserverifitcannotreportbacktotheLansweeperscanserverdirectly.

3.1.3.6 Abilitytoprovideareal-timeviewofthenetwork(e.g.dailyscan,immediate update) 1. LansweeperScanServerwillpollnetworkdevicesonauserdefinedschedulewithdaily scansbeingthedefault.IfusingtheLsAgent,theagentwillreportbackdailyunless configuredotherwise.Thescanservercanbedirectedtoimmediatelyscannetwork

Page13of31 resourcesthroughtheuserinterface,andprogressofthescancanbemonitoredviathe ScanningQueue.

3.1.3.7 Acceptanceanduseoftheproduct 1. Lansweepercannotboasttobeusedbyxnumberofthetop1000companies,butwhatitcan boastisthatforendusersitseemstobewellreceived.Reviewstendtorateitamongthetop softwareintheITAssetManagementcategory,thisdespitethefactthatitdoesnothavea largerecognizablecompanylikeHP,CiscoorMicrosofttolendthemcredibility. 2. Lansweeperboastsadecentsizedlistofworldwidepartnersfordeploymentandsalesofits coreproductwhichcanbefoundat 3. https://www.lansweeper.com/find-a-partner/

3.1.3.8 Bandwidthconsumptionforproperusage 1. Anormalscheduledscanwillquiteoftenbelessthan50KBforaWindowsorLinuxnode, whileanentirerescanoraninitialscancanbearound500KB.

3.1.3.9 Abilitytointegratewithothersystems/productsandwhichproducts 1. HascurrentintegrationswithSCCM,VMwareAirwatch. 2. Acurrentlistofintegrationscanbefoundathttps://www.lansweeper.com/integrations/ 3. LicenseDashboard-asoftwarelicensemonitor https://www.licensedashboard.com/combining-license-manager-and-lansweeper/ 4. UnifyCloud-acloudsolutionproviderhttps://www.unifycloud.com/ 5. PlixerScrutinizer-anetworktrafficanalysissystem https://www.plixer.com/products/scrutinizer/

3.1.3.10Method/protocolsusedtocollectinformationfromthetargetsystems 1. Lansweepercanpulldatafromanydevicethathasoneormoreofthefollowingprotocols enabled:Bonjour,DNS-SD,FTP,HTTP,HTTPS,JetDirect,mDNS,SIP,SMTP,SNMP (SNMPv1,SNMPv2orSNMPv3),SSDP,SSH,Telnet,UPnPorWMI

3.1.3.11Howdataispushedand/orpulled(exported)fromtheproduct(e.g.API,XML) 1. ReportdatacanbeexportedtoExcel(XLSX),CSVorXML.Thisisdonemanuallyinthe reportsectionoftheuserinterface. 2. ReportdatacanalsobesentautomaticallyonaconfiguredscheduleviaemailinExcel (XLSX),XMLorHTMLformats. 3. AssetdatacanbeexporteddirectlyfromtheAssettablesintheUIasExcel(XLSX),CSVor XMLfiles.Thisagainisdonemanually. 4. FinallythedataisallstoredinaMSSQLdatabaseandtheschemadocumentationis availabledirectlythroughtheLansweeperUIundertheReportssection.Thiswouldallowfor programmaticqueriesandexportsfromthedatabase.

3.1.3.12Abilitytoconfigureandcustomizesettings 1. TheviewandbehavioroftheLansweeperservercanbemodifiedviatheConfigurationmenu intheLansweeperUI.

Page14of31 3.1.3.13Howchangestoinformationispresentedtotheusers 1. AlertswillbedisplayedtotheuserintheLansweeperUIDashboardMainPagebydefault withthisplacementbeingconfigurable. 2. Itemsofnotearehighlightedinred.

3.1.3.14Howchangestoinformationispropagatedtoothersystems/clients/subscribers 1. Alertscanbesentviaemailnotificationstoauserdefinedlistofrecipients.

3.1.3.15Howthedataisnativelypresentedtotheuser(e.g.tabular,graphically) 1. Summaryinformationispresentaschartswithmoredetailedinformationpresentedastables.

3.1.3.16Abilitytosendcustomizedoruniquecommandstothemonitoreddevices throughtheproduct 1. ThroughtheuseofCustomActionsyoucanruncommandsfromtheserver.CustomActions canbedefinedintheConfiguration-->AssetPagespageunderAssetActionssection.Ofnote though,thereisnoeasywayforanActiontopulldatawhichcanthenbeusedtopopulatethe assetinLansweeper.

3.1.3.17Howdoestheproducthandleunknownoremptyvalueswithinthedata 1. Forvaluesthatareerroneous,thesewouldbereplacedby“undefined”,“unknown”orsimilar textinthedatadisplayedtotheuser.

3.1.3.18Howdoestheproductshandleerrorsindatacollectionandprocessing 1. Datacollectionoccursasynchronouslyinwhatappearstobemultiplethreads.Whatthis meansinpracticeisifanassetfailstorespondtoarequest,thatthepollingofotherresources isnothinderedwhileawaitingthatresponse.Inordertoseehowitwouldrespond, Lansweeperwasintentionallymisconfiguredtoscananon-existentsubnet;sending commandstomachinesthatwerepoweredoff;enteringwrongcredentials.Atnopointdid theserverseemsluggishorunresponsive.ScanningerrorscanbefoundintheScanning menuorintheScanningErrorssectionofanyoftheScanningpages.

3.1.3.19Howlargeofanetworkcantheproductmonitor 1. Multiplescanserverscanbedeployedtosupportthousandsofnodeseach,withthescan serversreportingtoacentralizeddatabaseserver.Giventhisarchitectureit’spossibleto support10softhousandsofnodesonanetworkorbeyond.

3.1.3.20Costtodeployona1,000nodenetwork 1. Availableasanannualsubscriptionfor$1pernode.So1000nodeswouldbe$1000 annually.

3.1.3.21Otherdevicessupportedbeyondtherequesteddeviceslistedin6.1through6.5 1. ThereisfullsupportforMacOSincludingaversionoftheLsAgent.Alsohastheabilityto scan/monitorVMware,HyperVandCitrixvirtualizationinstallations,cloudbasedAWSand Azureresources,Android,iOS,WindowsMobile,ChromeOSdevices.Afulllistingofthe assettypesandbrandscanbeseenathttps://www.lansweeper.com/assets/

Page15of31 3.2 SolarWinds 1. Foundedin1999,SolarWindsisbasedoutofAustinTexasandasamulti-billiondollar companyhasacquiredanumberofcompaniesandassociatedIP,toexpanditsofferingsin thenetworkmanagementsector. 2. TheOrionPlatformisasingleframeworkthattheapplicationmodulesarepluggedinto.This allowsfortheexpansionoffunctionalitythroughtheadditionofnewproductmoduleswhen requirementschange.ModulesliketheNetworkPerformanceMonitorandServer ConfigurationMonitorarelicensedseparatelysothatonlyfunctionalitythatisneededis licensed. 3. NetworkPerformanceMonitor(NPM)canmapthenetwork,monitornodesonthenetwork andprovidealertswhencriteriaaremet. 4. ServerConfigurationMonitor(SCM)offershardwareandsoftwareinventorytrackingas wellasserverconfigurationmanagement. 5. NetworkConfigurationManager(NCM)keepstrackofnetworkconfiguration,allowsforthe automationofconfigurationandmanagementtasksoveroneormultipledevices. 6. UserDeviceTracker(UDT)allowsforthediscovery,monitoringandmanagementof switchportsandinterfaces.

Figure4:SolarWindsuserinterface

3.2.1 TestNetworkTopology TheSolarWindsagentwasinstalledontheWindowsServer2019_Target,CentOS_Targetandthe Ubuntu_Targetmachines.

Page16of31 Figure5:SolarWindstestnetworktopology

3.2.2 Section6.1to6.5Summary 1. SolarWindsandtheOrionPlatformoffersasingleconsistentframeworkontowhichvarious applicationmodulescanbeinstalled.ThesemoduleslikeNetworkPerformanceMonitor (NPM)andSCM(ServerConfigurationManager)offerafunctionalitytailoredtoaspecific problemspace.Thisallowstheentireplatformtobequitecapableascanbeseeninthe summarymatrixinAppendixA.Inthoseareaswhereoutoftheboxfunctionalitywas lacking,theabilitytoaddcustomattributes,filledthegaps.

3.2.3 Section6.6Results

3.2.3.1 Deploymentmethodfortool 1. NetworkDiscoveryattemptstouseWMI(Windows),SNMP(NetworkDevices),andICMP forallothermachines(includingLinux).Youcanchoosetoadddevicesthatonlyrespondto ICMP,whichwouldbethecaseforLinuxmachines,ormachineswithoutproperly configuredWMIorSNMPsettings. 2. OncenodeshavebeendiscoveredAgentscanbepushedtothenodethroughtheserverUI. Thisprocesscandeployagentstoseveralmachinesatonce,anddifferentcredentialscanbe assignedifnecessary.AgentscanbepushedtoWindowsorLinuxmachinesinthisway. 3. Alternatively,youcanchoosetojustaddthenodewithoutscanningbysupplyingtheaddress andcredentials,thenhaveSolarwindsautomaticallyinstalltheagent. 4. FinallytheagentscanbeinstalledfromthetargetmachinesbydownloadingtheWindowsor Linuxinstallerontothetargetmachineandrunningtheinstaller.Whilethisisthemost “traditional”methodofinstallation,itisalsotheleastpreferred.TheAddNodewith automaticagentinstallmentionedpreviously,beingthepreferredmethodaccordingtothe Solarwindsdocumentation.

Page17of31 5. Ifagentlessmonitoringispreferred,thenSolarwindswillmakeuseofWMIforWindows machinesandSNMPfornon-Windowsmachines.SinceWMIcangatherthemajorityof information,deploymentoftheAgentonWindowsmaynotbeascritical.ButwithLinux theagentisprettymuchrequiredinordertogetaproperamountofinformation.ICMPis alsousedformonitoringtherunningstatusofdiscoverednodes.

3.2.3.2 Expandability(addingnewmodulesandfunctionalitytothetool) 1. “TheOrionSDKisopensourcesoftwarethatmakesiteasierforsystemadministratorsand developerstouseSWIS.Itcanhelpyoutoautomate processes,integratewithotherproducts,oraccessinformationfromOrion.TheOrionSDK includesSWQLStudio,whichisagraphicalquerytoolforrunningSWQLqueries.” https://github.com/solarwinds/OrionSDK/ 2. Customreportscanbecreatedtodisplayinformationthatbydefaultwouldnotbedisplayed otherwise. 3. CustompropertiescanbeaddedthroughatoolavailableatStart-->allprograms-- ->SolarWindsOrion-->GroupingandAccessControl--->Custom PropertyEditoronthemachinethatOrionisinstalledon. 4. CustomPollerscanbeconfiguredtomonitorcustomstatisticsbasedonOIDswithUniversal DevicePollers,availableasanapplicationintheWindowsStartmenuatStart> SolarWindsOrion>UniversalDevicePoller. 5. Custombash,pythonorscriptscanberunonremote*nixhostsandtheresultsreturned totheserver,thisisavailablethroughtheCustomDevicePollers. 6. CustomPowershellscriptscanberunonremoteWindowshostsandtheresultsreturnedto theserver,thisisavailablethroughtheCustomDevicePollers.

3.2.3.3 Datastorage(howisthisdone) MakesuseofMS-SQLServerorAzureSQLwiththedatabaseschemaavailablehere: https://solarwinds.github.io/OrionSDK/schema/

3.2.3.4 Manualdataentry(methods,ifany) 1. NodescanbeenteredmanuallyviatheOrionWebConsolemenu,navigatetoSettings→ ManageNodes,selectAddNodeandfillintherequiredinformation 2. CustompropertiescanbeaddedviatheAdmin→ManageCustomProperties→Manage CustomPropertiespage.Custompropertiesshouldbeusedtorecorditemslikeassetnumbers thatcanbereportedorqueriedon. 3. Nodename,pollingsettings,alertthresholds,andcustompropertiescanbeeditedforan individualnodeintheSettings→ManageNodesviewbyselectingtheEditPropertiesfor thetargetnode. 4. Notallfieldsareeditable,withmostofthefieldsthatcanbepolledbeinguneditable.

3.2.3.5 Timeoutconcerns(e.g.networkdelays) 1. OrionagentscanoperateineitherServerinitiatedcommunicationmodeorAgentinitiated modesoifadevicehasinfrequentnetworkaccesschangingbetweenmodescanbetterfit withtheenvironment.

Page18of31 2. Agentscanbeconfigureddirectlyontheclientmachinesincaseswheretheservercannot communicatewiththeAgentsdirectly. 3. Serverinitiatedpollingcanbeconfiguredtooccurasfrequentlyorinfrequentlyasdesired. Timeoutandretryvaluesaswellashealthcalculationandthresholdvaluescanlikewisebe configuredsoastoallowformoreorlesstolerancetonetworkaberrations. 4. Forremotesites,additionalinstancesoftheOrionservercanbeinstalledandthenthis informationaggregatedbacktoacentralizedEnterpriseOperationsConsole.

3.2.3.6 Abilitytoprovideareal-timeviewofthenetwork(e.g.dailyscan,immediate update) 1. PollingcanbeAgentorServerinitiated.Schedulesforreportingcanbeconfiguredonthe clientAgentmachinesorontheServerdependingonthedirectionofreporting.Reporting canoccuratwhateverfrequencyisrequiredtoallowforareal-timedisplay.Thisneedstobe balancedwiththenetworkoverheadincurredashighfrequencypollingofalargenumberof nodesmayimpactnetworkperformanceasawhole.

3.2.3.7 Acceptanceanduseoftheproduct 1. TheSolarwindsgroupofproductsappearstohavewideindustryuse,andboastslarge customerslikeLockheedMartin,EmersonElectric,NielsenandAccenture.Withinthe SolarwindsOrionplatform,therequiteafewproductsthatexist,eachwiththeirownmetrics andattributethattheymonitor.NPM(NetworkPerformanceMonitor)seemstohavethe widestappeal,withthesolidimplementationofnetworkperformancemonitoring.While NPMdoesnotsupportallofthefeaturesthatthisreportfocuseson,itwasvaluablefor pullingdownafewofthemoreperformanceorientatedattributes.SCM(Server ConfigurationMonitor),whilehavingasmalleraudience,stillseemstobereviewedhighly.

3.2.3.8 Bandwidthconsumptionforproperusage 1. PollsforaspecificWindowsorLinuxhostwillconsumeapproximately50KBofdata. Dependingontheconfigurationoftheindividualproductmodule,theremayalsobemore frequenttraffictosupportrealtimeupdates.Thiswillagainvarybyproductand configurationofthatproduct.

3.2.3.9 Abilitytointegratewithothersystems/productsandwhichproducts 1. InadditiontothelargenumberofinterrelatedproductsavailablefromSolarWindsonthe Orionplatform,thereareaplethoraofintegrationsareavailablewithjustafewbeing: 2. MicrosoftAzureservices 3. CiscoWorksLANManagementSolution 4. CitrixXenApp 5. BlackberryEnterpriseServer 6. AppInsightforActiveDirectory 7. NagiosLinuxFile&DirectoryCountScript

3.2.3.10Method/protocolsusedtocollectinformationfromthetargetsystems 1. PrimaryprotocolsusedbythePollersareSNMP,WMIandICMP.StandardTCPwith TLS1.2communicationwouldbeusedtocommunicatebetweentheOrionServerandAgents deployedonclientmachines.

Page19of31 3.2.3.11Howdataispushedand/orpulled(exported)fromtheproduct(e.g.API,XML) 1. InformationcanbemanuallyexportedtoXLS,XML,HTML,TXT.Additionally,theOrion SDKcouldbeusedoreveninteractingwiththeOriondatabasedirectlytoextract information.

3.2.3.12Abilitytoconfigureandcustomizesettings 1. Allaspectsofpolling,informationdisplay,datastoragecanbecustomizedthroughoneor multipleoftheOrionapplications.

3.2.3.13Howchangestoinformationispresentedtotheusers 1. InthemaindisplayanAlertsiconinthetoprightwilldisplayasummarycountofeventsthat havetranspired.Aswell,forServerConfigurationManagerasanexample,theconfiguration eventsaredisplayedbydefaultinapanelonthebottomrightoftheview.Theseviewscan beindividuallyconfiguredtodisplaymoreorlessinformation,andtheirpositioncanbe changedtobettersuittheuser.

3.2.3.14Howchangestoinformationispropagatedtoothersystems/clients/subscribers 1. Alertscanbesentviaemail,pagingorSMSservice,playasoundwhenanalertistriggered, sendanSNMPtrap,usethespeechsynthesizertoreadalerts.

3.2.3.15Howthedataisnativelypresentedtotheuser(e.g.tabular,graphically) 1. Thedefaultsetofviewsareamixoftables,graphsandcharts.Graphsareavailableto displaynetworktopologyaswellasrelayingphysicalandgeographiclayouts.Chartsrelay summaryinformationlikenodeOScounts.Tablesrelaysummaryinformationaboutaseries ofhosts.Propertypagesareavailableformoredetailedinformationaboutdifferentelements. SincetheplatformishighlyextensiblewithaccesstotheSDK,itisquitepossibletocreate viewsthatdonotcurrentlyshipwiththeproducts.

3.2.3.16Abilitytosendcustomizedoruniquecommandstothemonitoreddevices throughtheproduct 1. Custombash,pythonorperlscriptscanberunonremote*nixhosts,andcustomPowershell scriptscanberunonremoteWindowshostsandtheresultsreturnedtotheserver.

3.2.3.17Howdoestheproducthandleunknownoremptyvalueswithinthedata 1. Minorholesinthedatawillbepresentedasemptystrings,ifthedatawascorruptthenan alert/eventwouldbepresentedtotheuser(s)

3.2.3.18Howdoestheproductshandleerrorsindatacollectionandprocessing 1. Whiletasksaredescribedtoberunninginthebackground,implyingthattheyarebeingrun asynchronously,themainserverUIseemstobecomelessresponsivewhenperformingtasks likedeployingagents.Thisalsoseemstohappenwhenimportingnewnodes.Thiscould havebeenanartifactofthetestdeployment,orsomethingthatcouldpossiblybeoptimized throughadjustingtheserverconfiguration.Thisisanunknownatthistime. 2. EventsandAlerts,whichincludeerrorsarepresentedintheDashboardfortherelevant product.

Page20of31 3.2.3.19Howlargeofanetworkcantheproductmonitor 1. AdditionalPollingEnginesaswellasadditionalOrionWebServerEnginescanbeaddedfor distributedpollingandmanagementoflargenetworks.Licensingandresourceswouldbethe onlyconstraintforthesizeofthenetworkmonitored.

3.2.3.20Costtodeployona1,000nodenetwork 1. Purchasefeesincludeaperpetuallicensefortheproductandthefirstyearofmaintenance included.Ongoingannualmaintenancefeeswillbeapproximately20-25%oftheoriginal purchasecost. 2. ServerConfigurationMonitorlistsas$23,000fora1000nodelicense. 3. NetworkPerformanceMonitorlistsas$19,795fora2000nodelicenseor$10,695fora500 nodelicense 4. NetworkTopologyMapperlistsas$1,495foranunlimitednodelicense 5. NetworkConfigurationManagerlistsas$12,295fora1000nodelicense.

3.2.3.21Otherdevicessupportedbeyondtherequesteddeviceslistedin6.1through6.5 1. AnySNMPenableddevicecanbesupportedsinceadditionalOIDscanbeimported.Direct supportisavailableforanydevicethatusesSNMPMIB2.Foralistofsupporteddevices visithttps://documentation.solarwinds.com/en/Success_Center/orionplatform/Content/core- supported-vendors-added-in-2019-4.htm

Page21of31 3.3 GPLwithFusionInventory 1. GLPIisafreeITAssetManagementsystemwritteninPHPanddistributedundertheGNU GeneralPublicLicense.Theprojectwasstartedin2003andin2015roadmapmanagement anddevelopmentleadershipwashandedovertoTechlib.Theopensourcestatusremainsone ofthecoretenantsofGLPI,andtheprojectremainsonGitHubunderthe-project,open fordevelopment. 2. FusionInventoryagentandGLPIpluginarefreeandopensource,withprojectsonGitHub foundunderthefusioninventoryproject.TheFusionInventoryAgentisresponsiblefor collectingtheassetinformationfromthenetworknodesandforwardingittotheFusion InventorypluginforGLPI,whichthentranslatestheinformation,injectsitintotheGLPI datamodelsmakingitavailablewithinGLPI.

Figure6:GLPIuserinterface

3.3.1 TestNetworkTopology

Page22of31 Figure7:GLPIandFusionInventorytestnetworktopology 3.3.2 Section6.1to6.5Summary 1. FusionInventorywasabletocollectmostoftheinformation,itisthelackofsimple customizationthathasFusionInventorylaggingbehindtheothertwoproducts.Thatsaid, sincetheprojectisopensource,andthereareallowancesforrunningarbitraryperlmodules attheagents,itispossibletoaddcustomizedcodeontheagents,itisjustmoreeffort.

3.3.3 Section6.6Results

3.3.3.1 Deploymentmethodfortool 1. Agentsareusedtoscanthenetwork,soalthoughitispossibletodeployagentstonumerous machines,it’snotrequired.TheagentswilluseSNMP,ICMPandWMItoscanfornetwork elements. 2. FusionInventoryAgentinstallationisofficiallyamanualprocess,requiringthattheagentis downloadedtothetargetmachine(WindowsorLinux)theninstalledaccordingtothe installationdocumentsfoundathttp://fusioninventory.org/documentation/agent/installation/ 3. Thiscanbeaverymanualprocesswithseveralinstallationstepsandprerequisites.For WindowsthereisanunofficialVisualBasicscriptthatwillattempttopulldownthe WindowsagentinstallerandinstallittoaspecifiedlistofWindowsmachines.Thelinkfor thisscriptcanbefoundattheendoftheWindowsagentinstallationpage.Asimilarmethod forLinuxinstallationscouldalsobedevelopedusingPerl,Bashorotherscriptinglanguage, quiteeasily. 4. TheFusionInventoryAgentcanbetaskedwithpollingusingWMI(forWindows),SNMP (forothernetworkdevices)andICMPforbasiconlinestatusindicators.

3.3.3.2 Expandability(addingnewmodulesandfunctionalitytothetool) 1. ThesourceforboththeFusionInventoryAgentandtheFusionInventorypluginforGLPI areavailableonGitHubundertheFusionInventoryproject: https://github.com/fusioninventory

Page23of31 2. NewfieldscanbepulledfromanAgenthostbycreatingandaddingaPerlmoduletothe Agentdirectorystructure.ThenserversidePHPscriptswillneedtobewritteninorderfor GLPItounderstand,storeandvisualizethenewcontent.Theprocedureandexamplesfor thiscanbefoundathttp://fusioninventory.org/documentation/agent/additional_content.html

3.3.3.3 Datastorage(howisthisdone) 1. Dataisstoredinadatabase,namelyMySQL>=5.6orMariaDB>=10.0 2. Thedatabasestructureisdocumentedherehttps://glpi-developer- documentation.readthedocs.io/en/master/devapi/database/dbmodel.html Note:thisisnotacompleteschema.

3.3.3.4 Manualdataentry(methods,ifany) 1. DatacanbeinputmanuallyintheGLPIUIundertheAssetsmenu,selectingtheassettype menu,thenselectingthe“+”nexttothebreadcrumbssectionoftheUI. 2. AssetscanalsobecreatedviatheAdministration->FusionInventory- >Tasks->ImportagentXMLfileaction.Thiswillimporttheassetdefinedinthe XMLfilethatwasproducedbythefusioninventory-netinventoryapplicationonaclient machine.

3.3.3.5 Timeoutconcerns(e.g.networkdelays) 1. TheGLPIserverwillreachouttotheinstalledagentsonanadministratordefinedscheduleto pulltheinformationneeded.Thereisasomewhatlimitedabilitytomodifythefrequencyof agentcontact,withincrementsof1hourfrom1hourupto10days(240hours).TheSNMP timeoutvaluescanbeadjustedforeachagentonthenetwork. 2. Itisalsopossibletorunfusioninventory-*commands(examples:fusioninventory- netdiscovery;fusioninventory-netinventory)fromwhereanagentisinstalledandexportthe resultstoanXMLfile.ThisXMLfilecanthenbemanuallyimportedtotheFusion InventorypluginontheGLPIserver.Thisallowsforthemaintenanceofinventory informationfornodesthatareentirelydisconnectedfromtheGLPIserver.

3.3.3.6 Abilitytoprovideareal-timeviewofthenetwork(e.g.dailyscan,immediate update) 1. Thescheduledcontactfrequencycanbeasoftenasonceanhour.Animmediatescancanbe requestedoftheagentsthroughtheserver.

3.3.3.7 Acceptanceanduseoftheproduct 1. GLPIhasbeenaroundforover15yearsasanopensourceproject.Itsgatheredusersfrom largeFrenchandEuropeancompanieslikeAirbus,LaPosteandMeteoFrance.Beingan opensourceproduct,itsabilitytobecustomizedisquiteextensive.Thereareseveralpartners (listedherehttps://glpi-project.org/partners/)thatcanprovidesupportandassistancefor installation,hostingandcustomization.

3.3.3.8 Bandwidthconsumptionforproperusage 1. ForanormalscheduledscanthetrafficbetweentheGLPIserverandanUbuntuagenttotaled around250KBbidirectional,andabout75KBbidirectionalfortheWindowsagent.Notethat

Page24of31 thisishighlydependentonthetasksassociatedwitheachoftheagents(netdiscovery, netinventory,inventory,etc.)andthenumberofnodesthattheyarereportingon.

3.3.3.9 Abilitytointegratewithothersystems/productsandwhichproducts 1. GLPIwillworkwithOCSInventoryinadditiontoFusionInventory. 2. FusionInventorywillworkwithcompatibleserverssuchasOCSInventory,GLPI,OTRS, Uranos

3.3.3.10Method/protocolsusedtocollectinformationfromthetargetsystems 1. FusionInventoryAgentcommunicateswiththeGLPIserverusingzlibcompressedXML transmittedviaHTTP/HTTPS. 2. TheFusionInventoryAgentwillutilizeWMI,SNMPandICMPtodiscoverandinventory hostsonanetwork.

3.3.3.11Howdataispushedand/orpulled(exported)fromtheproduct(e.g.API,XML) 1. Informationcanbecollecteddirectlyfromtheagent(usingfusioninventory-*applications) andthiswouldbeformattedinXML. 2. InGLPItheinventorycanbeexportedasanXMLfile. 3. ThereisalsotheabilitytoperformaSQLorXMLdumpofthedatabasefromtheGLPI serverundertheAdministration→Maintenancepage.

3.3.3.12Abilitytoconfigureandcustomizesettings 1. ThereisalimitedabilitytoconfigureGLPIandFusionInventory.SincetheUIisrather spartan,andthescopeisratherlimited,theconfigurationoptionsshouldbeenoughtosatisfy mostusecases.

3.3.3.13Howchangestoinformationispresentedtotheusers 1. UnderthespecificassetintheHistoricalsection,alistofchangeswillbeprovidedalong withthedateofchange.

3.3.3.14Howchangestoinformationispropagatedtoothersystems/clients/subscribers 1. Notificationsaredistributedviaemail.

3.3.3.15Howthedataisnativelypresentedtotheuser(e.g.tabular,graphically) 1. Theuserinterfacerelieslargelyontabulardisplaysofinformation.

3.3.3.16Abilitytosendcustomizedoruniquecommandstothemonitoreddevices throughtheproduct 1. Theredoesnotseemtobewaythroughtheuserinterfacetosendcustomorunique commandstoanagenttoexecute.Iftherewerecommandsthatneededtobeimplemented, thesecouldbecodedintotheagent,giventhattheFusionInventoryagentisopensourceand hastheabilitytorunarbitraryperlmodulescopiedintoitsdirectorytreeasreferredtointhe pagehttp://fusioninventory.org/documentation/agent/additional_content.html

Page25of31 3.3.3.17Howdoestheproducthandleunknownoremptyvalueswithinthedata 1. Dependingonthedatathatismissingitcouldeitherbeskippedanddisplayedasanempty value,orifitwasrequiredfortheassetrules,thentheupdatecouldberejected.

3.3.3.18Howdoestheproductshandleerrorsindatacollectionandprocessing 1. ErrorsinupdatescouldresultinafailurethatwouldpresentitselfintheLogsfoundunder theAdministrationmenuitem,orundertheAdministration→FusionInventory→Rules→ Assetsskippedduringimport 2. GLPIserverhasamorepassiveroleinmanagingagentsthattheotherproductsreviewed. TheGLPIserverreallyjustqueuesjobrequestsfortheagents,theagentsretrievethesejobs andexecutethemremotely,thentheresultsarereturnedbacktotheGLPIserversometime later.Theserverthereforeisnotimpactedbylongrunningpollsbyagents.Additionally,the FusionInventoryGLPIpluginparsestheresultsthatarereturnedfromtheagents,andif thereisanerrorintheseresults,it’sremoved/replacedbyplaceholders(emptyorerrorstring) beforeit’scommittedtotheGLPIdatabaseandmadeavailableforconsumptionontheGLPI server.ThismakesGLPIandFusionInventorypluginquiteresistanttoerrorsinreported data.

3.3.3.19Howlargeofanetworkcantheproductmonitor 1. GLPIoutoftheboxisdocumentedtosupportthousandsofmonitoredclients.

3.3.3.20Costtodeployona1,000nodenetwork 1. Solongasthisisnotpurchasedfromaresellerwithsupportagreementsoracloudservice agreement,thenanonsiteinstallationwouldbefree.

3.3.3.21Otherdevicessupportedbeyondtherequesteddeviceslistedin6.1through6.5 1. CurrentlythereisaGLPIAndroidAgentavailableathttps://github.com/glpi-project/android- inventory-agent 2. Supportedplatformsforthefusioninventoryagentare: o OSX, o Linux, o Windows, o AIX,Solaris, o HP-UX, o BSD,and o Android 4. Conclusion Whilethereisnooneproductthatsatisfiesallofthecriteriaoutofthebox,itispossiblewitha certainamountofcustomizationtogetcoverageonmostofthecriteria.SolarWindswiththe singleOrionPlatformandawidearrayofproductmodules,comestheclosesttosatisfyingallof therequirements.GLPIwithFusionInventorydoestrackalargenumberoftherequired attributes,butforthoseattributesthatneedtobeaddeditcomesatthecostofalargeamountof timeandeffortinwritingcustomscriptstopull,parse,storeanddisplaytheinformation. Lansweepersatisfiesalotoftherequirementsbutlacksthelevelofcustomizationthatwouldbe requiredtofullycoverthecriterialist.

Page26of31 AppendixA Thefollowingtablesrefertothesectionsaslaidoutintherequirementdocument. ‘x’indicatesthattheproductisabletogatheranddisplaythatcriteriaitemwithitsdefaultoutof theboxconfiguration ‘C’indicatesthattheproductisabletogatherthatinformationwithsomeuserdefinedcustomization ‘-’indicatesthattheproductisnotabletogathertheinformation

Section6.1-Windows solarwinds:Network PerformanceMonitor andServer Fusion Configuration Inventory Product LanSweeper ManageronOrion andGLPI

Windows

IPaddress(s) x x x

Hostname/Computername x x x

OSname x x x

OSversion x x x

Installedmemorymake,size,slotlocationandserialnumbers x x(seenote1) x

Installedhharddrivemake,model,installationlocationandserial numbers x x x

Motherboardserialnumber x x

Installedhardware(e.g.cards) x x x

SystemUUID/DeviceID x C x C(see Securitysoftwareinstalledandstate(enabledordisabled) x x note2)

Activesecuritysoftwareconfiguration(ifpossible) x C C

Openportsandassociatedprocesses(attimeofcollection) - C C

Installedsoftware(name,version,dateinstalled,location) x x x

Installedpatchesanddateinstalled x x x

Runningprocesses(attimeofcollection) x C C

Firewallstate C x C

Firewallsettings C C C Notes:1.SerialNumberwasnotbeingcollected/displayed

Page27of31 2.Antivirussoftwarewaslistedunderinstalledsoftwarebutwasnotdetectedand/orlistedinthe antivirussoftwaresection

Section6.2-Linux solarwinds: Network Performance Monitorand Server Configuration Fusion Manageron Inventory Product LanSweeper Orion andGLPI

Linux

IPaddress(s) x x x

Hostname/Computername x x x

OSname x x x

OSversion x x x

Installedmemorymake,size,slotlocationandserialnumbers x x x

Installedhard-drivemake,model,installationlocationandserial numbers x C x

Motherboardserialnumber x x x

Installedhardware(e.g.cards) x x x

SystemUUID/DeviceID x C x C(see note Securitysoftwareinstalledandstate(enabledordisabled) - C below)

Activesecuritysoftwareconfiguration(ifpossible) - C C

Openportsandassociatedprocesses(attimeofcollection) - x C

Installedsoftware(name,version,dateinstalled,location) x C x

Installedpatchesanddateinstalled - C x

Runningprocesses(attimeofcollection) - C C

Firewallstate - C C

Firewallsettings - C C Note:Antivirussoftwarewaslistedunderinstalledsoftwarebutwasnotdetectedand/orlistedin theantivirussoftwaresection

Page28of31 Section6.3-NetworkInfrastructureElements solarwinds: Network Performance Monitorand Server Configuration Fusion Manageron Inventory Product LanSweeper Orion andGLPI

NetworkInfrastructureElements

IPaddressesassignedtothedevice(IPv4andIPv6) x x x

Makeandmodelinformation x x x

Installedsoftwareversion(s) x x x

Runningsoftwareversion - x x - (see note Installedmodels/daughterboards - - below) Portsavailable(IPv4andIPv6)(e.g.48portswitch,all ports) x x x Portsactive(IPv4andIPv6)(e.g.15portswith connectivitydetected) x x x

CAMtable x x x

Routingtable(iflayer3)(IPv4andIPv6) - x C

Configuration - x C

ACL’s(ifconfigured)(IPv4andIPv6) - x C

MAC’sassociatedwitheachactiveport(IPv4andIPv6) x x x

Netflowdata(ifavailable)(IPv4andIPv6) - x -

Portstatistics(attimeofcollection)(IPv4andIPv6) - x C Note:Thereweresectionsdedicatedtodisplayingthisinformation,buttheinformationwasnot present,morethanlikelyduetothemethodofimportwhichwasthemanualimportusingthe resultsofthefusioninventory-netinventoryapplication

Page29of31 Section6.4-Firewall solarwinds: Network Performance Monitorand Server Configuration Fusion Manageron Inventory Product LanSweeper Orion andGLPI

Firewall C(seenote IPaddressesassignedtothedevice(IPv4andIPv6) x x below)

Makeandmodelinformation x x x

Installedsoftwareversion(s) - x x C(seenote Runningsoftwareversion - x below) - (see note Installedmodels/daughterboards - - below)

Portsavailable(IPv4andIPv6) x x x

Portsactive(IPv4andIPv6) x x x

CAMtable - x C

Configuration/ruleset(IPv4andIPv6) - x C

MAC’sassociatedwitheachactiveport(IPv4andIPv6) x x x Note:Thereweresectionsdedicatedtodisplayingthisinformation,buttheinformationwasnot present,morethanlikelyduetothemethodofimportwhichwasthemanualimportusingthe resultsofthefusioninventory-netinventoryapplication

Page30of31 Section6.5–Peripherals solarwinds: Network Performance Monitorand Server Configuration Fusion Manageron Inventory Product LanSweeper Orion andGLPI

Peripherals C(seenote IPaddressesassignedtothedevice(IPv4andIPv6) x x below)

Makeandmodelinformation x x x C(seenote Installedsoftwareversion(s) - x below) C(seenote Runningsoftwareversion x x below) -(seenote Installedmodels/daughterboards - - below) C(seenote Servicesavailableandactive(IPv4andIPv6) x x below) C(seenote Configuration(ifavailable) - C below) Note:Thereweresectionsdedicatedtodisplayingthisinformation,buttheinformationwasnot present,morethanlikelyduetothemethodofimportwhichwasthemanualimportusingthe resultsofthefusioninventory-netinventoryapplication

Page31of31

DOCUMENTCONTROLDATA *Securitymarkingsforthetitle,authors,abstractandkeywordsmustbeenteredwhenthedocumentissensitive 1. ORIGINATOR(Nameandaddressoftheorganizationpreparingthedocument.2a. SECURITYMARKING ADRDCCentresponsoringacontractor'sreport,ortaskingagency,isentered (Overallsecuritymarkingofthedocumentincluding inSection8.) specialsupplementalmarkingsifapplicable.) ScottMilneConsultingInc. CANUNCLASSIFIED 280AlbertStreet,Suite1000(10thFLOOR) Ottawa,Ontario K1P5G8 2b. CONTROLLEDGOODS NON-CONTROLLEDGOODS DMCA

3. TITLE(Thedocumenttitleandsub-titleasindicatedonthetitlepage.) RemoteCollectionofNetworkInformation(ReCoN)

4. AUTHORS(Lastname,followedbyinitials–ranks,titles,etc.,nottobeused) Milne,S.

5. DATEOFPUBLICATION 6a. NO.OFPAGES 6b. NO.OFREFS (Monthandyearofpublicationofdocument.) (Totalpages,including (Totalreferencescited.) Annexes,excludingDCD, coveringandversopages.) January2020 31 0

7. DOCUMENTCATEGORY(e.g.,ScientificReport,ContractReport,ScientificLetter.) ContractReport

8. SPONSORINGCENTRE(Thenameandaddressofthedepartmentprojectofficeorlaboratorysponsoringtheresearchanddevelopment.) DRDC–OttawaResearchCentre DefenceResearchandDevelopmentCanada,Shirley'sBay 3701CarlingAvenue Ottawa,OntarioK1A0Z4 Canada 9a. PROJECTORGRANTNO.(Ifappropriate,theapplicable 9b. CONTRACTNO.(Ifappropriate,theapplicablenumberunder researchanddevelopmentprojectorgrantnumberunderwhich whichthedocumentwaswritten.) thedocumentwaswritten.Pleasespecifywhetherprojector grant.) W7714-176208/001/IPS 05ac

10a.DRDCPUBLICATIONNUMBER(Theofficialdocumentnumber 10b.OTHERDOCUMENTNO(s).(Anyothernumberswhichmaybe bywhichthedocumentisidentifiedbytheoriginating assignedthisdocumenteitherbytheoriginatororbythesponsor.) activity.Thisnumbermustbeuniquetothisdocument.) DRDC-RDDC-2020-C076

11a.FUTUREDISTRIBUTIONWITHINCANADA(Approvalforfurtherdisseminationofthedocument.Securityclassificationmustalsobe considered.) Publicrelease

11b.FUTUREDISTRIBUTIONOUTSIDECANADA(Approvalforfurtherdisseminationofthedocument.Securityclassificationmustalsobe considered.)

12. KEYWORDS,DESCRIPTORSorIDENTIFIERS(Usesemi-colonasadelimiter.) Cyber;ComputerNetworkDefence(CND);ComputerNetworking;assetinventory 13. ABSTRACT/RÉSUMÉ(Whenavailableinthedocument,theFrenchversionoftheabstractmustbeincludedhere.)