Simulation network exploitation SEDR tool suite: system manual
Transcription
Simulation network exploitation SEDR tool suite: system manual
Simulation network exploitation SEDR tool suite: system manual Bobby Chawla, Bassem Mikhael and Oliver Schoenborn The scientific or technical validity of this Contract Report is entirely the responsibility of the Contractor and the contents do not necessarily have the approval or endorsement of Defence R&D Canada. Defence R&D Canada --- Ottawa CONTRACT REPORT DRDC Ottawa CR 2008-313 April 2009 Simulation network exploitation SEDR tool suite: system manual Bobby Chawla Bassem Mikhael Oliver Schoenborn CAE Professional Services Prepared By: CAE Professional Services 1135 Innovation Dr. Suite 300 Kanata, ON K2K 3G7 Contract Project Manager: Leo Roberts, 613-293-8993 W8475-06BM04 CSA: Nacer Abdellaoui, Defence Scientist, 613-998-4582 The scientific or technical validity of this Contract Report is entirely the responsibility of the Contractor and the contents do not necessarily have the approval or endorsement of Defence R&D Canada. Defence R&D Canada – Ottawa Contract Report DRDC Ottawa CR 2008-313 April 2009 Contract Scientific Authority Original signed by Nacer Abdellaoui Nacer Abdellaoui Defence Scientist Approved by Original signed by Julie Tremblay Julie Tremblay H/CARDS Approved for release by Original signed by Pierre Lavoie Pierre Lavoie DRP Chair © Her Majesty the Queen in Right of Canada, as represented by the Minister of National Defence, 2009 © Sa Majesté la Reine (en droit du Canada), telle que représentée par le ministre de la Défense nationale, 2009 Abstract …….. This document is a system manual for the Synthetic Environment Distributed Resources (SEDR) Tool Suite. It allows simulation experts to increase the re-usability of simulation systems in other projects and by non-expert users, by facilitating the discovery and viewing of simulation-related documents as well as the execution of “executable data” in the form of “control recipes” that encode the start-up sequence of a distributed simulation. This manual describes the tool suite as a system, i.e. its components, how to install it, how the components interoperate, etc. Résumé …..... Ce document représente le manuel du système du kit d’outils des ressources distribuées des environnements synthétiques (SEDR). Il permet aux experts de la simulation d’accroître les possibilités de réutilisation des systèmes de simulation et d’étendre cette réutilisation à d'autres projets. Il offre aussi aux utilisateurs non-experts, la facilité de la découverte et l'affichage des documents connexes de la simulation, ainsi que l'exécution des éléments exécutables par le biais de l’outil de contrôle. Ce manuel décrit les différentes composantes du kit, leurs installations, leur interopérabilité, etc. DRDC Ottawa CR 2008-313 i This page intentionally left blank. ii DRDC Ottawa CR 2008-313 Executive summary Simulation network exploitation: SEDR tool suite: system manual B. Chawla, B. Mikhael, O. Schoenborn; DRDC Ottawa CR 2008-313; Defence R&D Canada - Ottawa; April 2009. Introduction or background: This document is a system manual for the Synthetic Environment Distributed Resources (SEDR) Tool Suite. It should assist system administrators in the installation, account creation, and maintenance of the SEDR applications. Results: These are the Synthetic Environment Distributed Resources Access (SEDRA) portal, its accompanying tool the Synthetic Environment Distributed Resource Data Entry (SEDReDE) portal, the Synthetic Environment Distributed Resources Control (SEDReC) station, and the Remote Python Call (RPyC) Python library for remote procedure call server. Significance: SEDRA, SEDReDE and SEDReC were developed to address simulation network exploitability issues identified in the early stages of the Simulation Network Exploitation (SNE) Advanced Research Program (ARP) project (13jb) in 2005 in the Future Forces Synthetic Environments (FFSE) group at DRDC-Ottawa. The SEDR tool suite allows simulation experts to increase the re-usability of simulation systems in other projects and by non-expert users, by facilitating the discovery and viewing of simulationrelated documents as well as the execution of “executable data” in the form of “control recipes” that encode the startup sequence of a distributed simulation. DRDC Ottawa CR 2008-313 iii Sommaire ..... Simulation network exploitation: SEDR tool suite: system manual Chawla, B., Mikhael, B., Schoenborn, O.; DRDC Ottawa CR 2008-313; R & D pour la défense Canada – Ottawa; Avril 2009. Introduction ou contexte: Ce document est le manuel du système du kit d’outils des ressources distribuées des environnements synthétiques (SEDR). Il est destiné aux administrateurs du système pour aider durant l'installation, la création de compte, et le maintien des applications du SEDR. Résultats: Ce kit est composée du portail d’accès des ressources distribuées des environnements synthétiques (SEDRA), l’outil d'accompagnement de SEDRA identifiee comme le portail de saisie de données ressources distribuées des environnements synthétiques (SEDReDE), de la station de contrôle des ressources distribuées des environnements synthétiques (SEDReC), et la librairie de télécommande d’appel Python (RPyC) du serveur d’appel de procédure a distante. Importance: SEDRA, SEDReDE et SEDReC ont été mis au point pour répondre aux problèmes recensés au sein de la section environnements synthétiques des Forces du Future (ESFF) lors des premières étapes du projet «Exploitation de réseau de simulations» (SNE) à RDDC groupe Ottawa. La suite d'outils SEDR permet aux experts d'accroître les possibilités de réutilisation des systèmes de simulation dans d'autres projets et permet aux utilisateurs non-experts, de facilement découvrir et voir les documents connexes de la simulation, ainsi que l'exécution des éléments exécutable par le biais des «recettes de contrôle» qui codent la séquence de démarrage de la simulation distribuée. iv DRDC Ottawa CR 2008-313 Table of contents Abstract …….. ................................................................................................................................. i Executive summary ........................................................................................................................ iii Table of contents ............................................................................................................................. v List of figures ................................................................................................................................ vii 1 Overview of Document............................................................................................................. 1 1.1 Concept of Operation .................................................................................................... 1 1.2 Intended Audience......................................................................................................... 1 1.3 Terminology .................................................................................................................. 2 1.3.1 User Terminology ........................................................................................... 2 1.3.2 Machine Terminology..................................................................................... 3 2 Overview of SEDR system ....................................................................................................... 4 2.1 Clients............................................................................................................................ 4 2.1.1 SEDRA portal ................................................................................................. 4 2.1.2 SEDReC station .............................................................................................. 4 2.1.3 SEDReDE portal ............................................................................................. 5 2.2 Servers ........................................................................................................................... 5 2.2.1 Database Server(s) .......................................................................................... 5 2.2.2 Resource Server(s) .......................................................................................... 5 2.2.3 Simulation Servers(s) ...................................................................................... 5 3 System requirements................................................................................................................. 6 3.1 Clients............................................................................................................................ 6 3.2 Servers ........................................................................................................................... 6 4 Installation ................................................................................................................................ 7 4.1 Prerequisites .................................................................................................................. 7 4.2 Description of Dependencies......................................................................................... 8 4.2.1 Python-related dependencies........................................................................... 8 4.2.2 Python-related dependencies........................................................................... 9 4.2.3 Database and Repository servers .................................................................... 9 4.2.4 Simulation servers......................................................................................... 10 4.2.5 Optional components .................................................................................... 10 4.3 Installing the SEDRA Portal Client............................................................................. 11 4.3.1 Install dependencies ...................................................................................... 11 4.3.1.1 (Optional) Install SQL support ................................................... 12 4.3.2 Install client application ................................................................................ 12 4.3.3 Create Desktop shortcut ................................................................................ 12 4.4 Installing Database Servers ......................................................................................... 12 4.4.1 MySQL.......................................................................................................... 13 DRDC Ottawa CR 2008-313 v 4.5 4.6 4.7 4.4.1.1 Installing and Setting up MySQL ............................................... 13 4.4.1.2 Create an empty MySQL database ............................................. 18 4.4.1.3 Create user accounts ................................................................... 18 4.4.1.4 Create modifier accounts ............................................................ 21 Installing Repository Servers ...................................................................................... 21 Installing SEDReC ...................................................................................................... 22 4.6.1 Install dependencies for SEDReC client ....................................................... 22 4.6.2 Install client application ................................................................................ 23 4.6.3 Simulation servers......................................................................................... 25 Installing SEDReDE.................................................................................................... 26 4.7.1 Prerequisites .................................................................................................. 27 4.7.1.1 Installing and configuring the Apache 2.2.6 Web Server.......... 27 4.7.1.2 Setting Up Apache 2.2.6 Web Server Security and Resources. . 29 4.7.2 Install the SEDReDE web page and Java applet........................................... 30 4.7.3 Install JRE on each client.............................................................................. 30 References ..... ............................................................................................................................... 31 List of symbols/abbreviations/acronyms/initialisms ..................................................................... 33 vi DRDC Ottawa CR 2008-313 List of figures Figure 1: MySQL: Server Setup Wizard. ...................................................................................... 13 Figure 2: MySQL: Setup type. ...................................................................................................... 14 Figure 3: MySQL: MySQL.com signup........................................................................................ 14 Figure 4: MySQL: Setup Wizard completed, but…...................................................................... 15 Figure 5: MySQL: Server Instance Configuration. ....................................................................... 15 Figure 6: MySQL: install options on Microsoft Windows XP...................................................... 16 Figure 7: MySQL: Setting root password...................................................................................... 16 Figure 8: MySQL: Creating a Server instance. ............................................................................. 17 Figure 9: MySQL: Successful installation of Server..................................................................... 17 Figure 10: MySQL: Logging into MySQL Administrator. ........................................................... 19 Figure 11: MySQL: Adding new users in MySQL. ...................................................................... 20 Figure 12: MySQL: Setting user privileges................................................................................... 21 Figure 13: SEDReC: Example shortcut to run client with yourRecipe.xml.................................. 23 Figure 14: SEDReC: Step 5 in associating a file extension to an executable................................ 24 Figure 15: SEDReC: Create a shortcut to start RPyC’s tls_server on each sim host .................... 26 Figure 16: Apache: Server information. ........................................................................................ 27 Figure 17: Apache: setup type....................................................................................................... 28 Figure 18: Apache: Installed features............................................................................................ 28 Figure 19: Apache: Http Service Icon. .......................................................................................... 29 DRDC Ottawa CR 2008-313 vii This page intentionally left blank. viii DRDC Ottawa CR 2008-313 1 Overview of Document This document is a system manual for the Synthetic Environment Distributed Resources (SEDR) Tool Suite. It should assist system administrators in the installation, account creation, and maintenance of the SEDR applications. These are the Synthetic Environment Distributed Resources Access (SEDRA) portal, its accompanying tool the Synthetic Environment Distributed Resource Data Entry (SEDReDE) portal, the Synthetic Environment Distributed Resources Control (SEDReC) station, and the Remote Python Call (RPyC) Python library for remote procedure call server. SEDRA, SEDReDE and SEDReC were developed to address simulation network exploitability issues identified in the early stages of the Simulation Network Exploitation (SNE) Advanced Research Program (ARP) project (13jb) in 2005 in the Future Forces Synthetic Environments (FFSE) group at DRDC-Ottawa. The SEDR tool suite allows simulation experts to increase the re-usability of simulation systems in other projects and by non-expert users, by facilitating the discovery and viewing of simulationrelated documents as well as the execution of “executable data” in the form of “control recipes” that encode the start-up sequence of a distributed simulation. 1.1 Concept of Operation SEDRA allows a User to access a variety of information and documentation about simulation resources through a single Graphical User Interface (GUI). This GUI is intended to facilitate the discovery of, searching through, and access to, a set of simulation resources available on a distributed network of computers. The resources may be described in one or more databases on a network, while SEDRA allows this information to be presented in a user-friendly and useful manner. SEDRA also allows accessing “recipes”* of software configurations and execution management of experiments over a distributed network of computers. SEDRA delegates the task of viewing, executing, and editing of recipes to the SEDReC station. 1.2 Intended Audience This system manual is for the administrators of the system to assist in the x installation, x account creation, and x maintenance of the SEDR system. * A structured description of the sequence of steps necessary to launch a system, readable by both humans and some of the SEDR applications. Also referred to as a “control recipe”. DRDC Ottawa CR 2008-313 1 This includes SEDRA, SEDReDE, SEDReC, as well as, the installation of RPyC on any remote systems. The usage of SEDR applications is described in separate User Manuals. Having read this manual you should be able to: 1. Install the various packages required for the system, 2. Have an understanding of which machines require which software, 3. How to install the SEDR software, 4. An appreciation of the different account types, and which users should have what level of permissions. The readers of this manual should be comfortable with modern computer systems, and their graphical user interfaces. Also, a familiarity with how to unpack, and install software of various environments (e.g. Windows, Linux) would be very useful. The basic concepts of setting up web-services using “Apache HTTP Server”, TCP/IP networking, such as hostnames, IP addresses, and URLs would be advisable as well. 1.3 Terminology In this document, different terms are used for the different users of the SEDR system, which interact with the system in different manners. There are also different types of machine configurations for the various machines. 1.3.1 User Terminology The people, or “actors”, are: 1. Portal Admin: in charge of a. User account management for a given DB, b. Installation and maintenance of Portals and DBs, c. Data backup, d. Notifications to users as to URLs of DBs etc. The Portal Admin would only access the system only during installation, update and removal of the application. 2. System Administrators: a. Make the knowledge available via the SEDRA, which they install on several computers, and a URL to access the database. 2 DRDC Ottawa CR 2008-313 b. They also maintain the web servers, if necessary to access the information referred to in the portal. c. Install RPyC on all simulation host machines which are required for a simulation recipe. 3. Modifier: interacts directly with the DB server (not the Portal) to add, change and remove data from the DB; more than one person can have “modifier” status. 4. Experts: incorporate the meta-data into the database using this published method. The expert would be an individual that does not require permission to the SEDRA database itself, but rather the information that it points to. I.e. Once a link from the database is made to a location of the experimental results, the results can modified, without access to SEDRA. 5. User: uses the Portal to discover, view and/or execute simulation resources. 1.3.2 Machine Terminology The computers on the SEDR network have different roles and responsibilities: 1. Client: Machine that is running SEDRA, SEDReC, or SEDReDE, and accessing information from other servers. 2. Database Server: A machine where the SEDRA MySQL database is located, as well as an Apache HTTP server that is configured to access the MySQL database. 3. Document Server: Any machine that has files referred to it by the SEDRA Database server. 4. Simulation Server: Any machine that is used as part of a SEDReC simulation “recipe”. The recipe is acquired from a document server onto the client. SEDReC may start and stop processes on simulation servers, or transfer files between simulation servers, etc. The machine’s task may all reside on one machine, or they may be distributed amongst different machines. DRDC Ottawa CR 2008-313 3 2 Overview of SEDR system The system consists of an integrated set of client tools that can be run individually, interfacing with one or more types of servers distributed on a network. All the clients were designed so they may run on multiple platforms, though some were only tested on MS Windows. 2.1 2.1.1 Clients SEDRA portal SEDRA allows a User to access a variety of information and documentation about simulation resources through a single Graphical User Interface (GUI). This GUI is intended to facilitate the discovery of, searching through, and access to, a set of simulation resources available on a distributed network of computers. The resources may be described in one or more databases on a network, while SEDRA allows this information to be presented in a user-friendly and useful manner. The two main types of simulation resources accessible are “regular” documents and executable documents. The latter are “control recipes” of software configurations and execution management of experiments involving executable simulation components distributed over a network of computers. SEDRA is able to display a basic “preview” of a control recipe, but delegates the task of viewing, executing, and editing of recipes to the SEDReC station. SEDRA is able to interact with several types of database servers, and provides a straightforward plug-in mechanism to support new database types. The three types currently supported are local filesystem (FolderTree), remote HTTP, and MySQL. The operating architecture of SEDRA consists of one client that accesses one or more databases accessed via database servers. The SEDRA databases contain only meta-data, descriptions, and keywords for the various documents on the repository servers across the network. The actual documentation exists in the repositories; e.g. a project report in Portable Document Format (PDF). 2.1.2 SEDReC station The SEDReC station allows a user to describe the sequence of actions necessary to startup a distributed system. SEDReC has no concept of “simulation” itself; it knows how to perform actions on remote simulation servers in a defined order. It knows that these actions can span a finite amount of time and therefore require monitoring for success and completion. Actions available include transferring files, starting, and stopping a process, though several more are planned for future releases. SEDReC can be started from the SEDRA portal. However it can be run standalone as well. Running standalone would be typical while developing a recipe, to reduce the overhead of going through the portal GUI after every recipe change. 4 DRDC Ottawa CR 2008-313 The operating architecture of SEDReC consists of one client that launches one or more processes in simulation servers. Before, or after, a sequence of actions, SEDReC may transfer files between computers over the network. 2.1.3 SEDReDE portal The SEDReDE portal provides a web-based interface to edit simulation resource meta-data stored in a MySQL database. SEDReDE allows the Modifier to easily make and see modifications made to the database in real-time. It has been developed to resemble the SEDRA portal so that familiarity with it will facilitate the use of SEDReDE. SEDReDE is an application written in Java, and then packaged into a Java Applet. The applet is downloaded from the database server, starts up, and points to the MySQL database on the database server’s computer system. 2.2 2.2.1 Servers Database Server(s) The database server runs the MySQL database engine, and stores the SEDReDE Java applet and the Apache HTTP server to access SEDReDE. There is no specific need for Python to be installed on the database server(s), nor a GUI interface. However a modern operating system that supports networking, MySQL version 4.1.21, and Apache version 2.2.5 (or higher) is required. 2.2.2 Resource Server(s) The resource server could be any machine that supports the HTTP protocol to send documents to the client. There is no specific requirement for the document server to have a windowing environment, nor run a particular web server. 2.2.3 Simulation Servers(s) The simulation servers communicate with the SEDReC Client using RPyC. The RPyC implementation is currently setup to run over a secure Transport Layer Security protocol. Therefore it is necessary to have an operating system that supports Python version 2.4 (or higher), RPyC version 2.60, as well as tlslite version 0.3.8 (or higher). There is no specific need for a windowing environment or HTTP access from the simulation machines. However the applications running on the Simulation Server may require these resources. DRDC Ottawa CR 2008-313 5 3 System requirements 3.1 Clients 1. SEDRA and SEDReC: The SEDRA portal and SEDReC station applications are built upon the Python scripting language and the wxPython GUI toolkit. Therefore a modern windowing operating system that supports Python version 2.4.3, and wxPython version 2.6.3.3 (or higher) is required. 2. SEDReDE: The SEDReDE web-based application is run from within a web browser, as a Java Applet. Therefore it is sufficient for systems that must run the SEDReDE client to have Java 1.5 installed. The more recent Java 1.6 cannot be used on some platforms. 3.2 Servers 1. Database server: A database server runs the MySQL database engine, and hosts the SEDReDE Java applet and the Apache HTTP server to access SEDReDE. There is no specific need for Python to be installed on the database server(s), nor a GUI interface. However a modern operating system that supports networking, MySQL version 4.1.21, and Apache version 2.2.5 (or higher) is required. 2. Resource server: A resource server could be any machine that supports the HTTP protocol to send documents to the client. There is no specific requirement for the document server to have a windowing environment, nor run a particular web server. 3. Simulation server: A simulation servers communicate with the Client using RPyC. The RPyC implementation is currently setup to run over a secure Transport Layer Security protocol. Therefore it is necessary to have an operating system that supports Python version 2.4 (or higher), RPyC version 2.60, as well as tlslite version 0.3.8 (or higher). There is no specific need for a windowing environment, nor http access from the simulation machines. However the applications running on the Simulation Server may require these resources. 6 DRDC Ottawa CR 2008-313 4 Installation All clients have dependencies that must be installed on each machine that is going to be used as a client. There are many dependencies such that an one-click install-everything “installer” does not exist for each client. All dependencies are available on the installation CD and instructions are given below for each one. The clients themselves are easy to install: SEDRA and SEDReC clients, being desktop applications written in pure Python, require simply copying the source files to desired location on client machine. The SEDReDE client, being written as a web-based Java Applet, requires copying the compiled Java files to an HTTP-accessible location on the database server. The various servers come as individual packages downloaded from the Internet. These are also on the CD. Their installation and configuration is not covered in this manual, except for aspects specifically related to the SEDR tool suite. The pre-requisites are described in section 4.1, followed in section 4.2 by a description of all needed packages. The installation procedure is described in the remaining sections (4.3 to 4.7). 4.1 Prerequisites Before installing any software, the System Administrator must have access, and log into a privileged account that will allow modification of system files (e.g. ‘root’ or ‘administrator’). In addition, the following must be determined for each stage of the installation: x Clients: Determine which machines will have which kinds of clients: SEDRA, SEDReC, SEDReDE. Install the appropriate dependencies on each, as described in each section. Note that he SEDRA portal and SEDReC station have only been tested on MS Windows XP. The instructions below are therefore specific to that platform. However, all the dependencies are platform independent so installation should follow the same steps as on MS Windows, except that “installers” are typically not available on Linux: building the dependencies from source is necessary in many cases where some C/C++ extensions are involved. Note that Python is pre-installed in several Linux distributions, however the version installed may not be the one used for the SEDRA and SEDReC applications. Linux supports multiple versions of Python on the same system so this hasn’t been an issue. The SEDReDE portal has been tested on MS Windows XP from Internet Explorer and Firefox, as well as on Linux RHEL 4.5 from Firefox. x Database Server: Determine which types of databases will be used and on which machines. Currently supported database types are Folder Tree, HTTP and MySQL. Verify that compatible versions of all packages exist for selected database/machine combinations. If a MySQL database will be used on a machine, that machine must also support the installation of an HTTP server to serve the SEDReDE Java Applet. The HTTP and MySQL servers have only been installed on MS Windows XP systems. x Resource Server: Determine which machines will host resource servers. Those that don’t have an HTTP server running constantly will need to have one installed. DRDC Ottawa CR 2008-313 7 x Simulation Servers: Determine which machines will be available for executing simulationrelated programs. Some servers may have to be setup for “start at boot-time”, while other machines may have to be setup as “serve on demand”, i.e. a user has to manually start the server after login in. Security requirements should guide the choice. The simulation servers have been run successfully on both MS Windows XP and Linux RHEL 4.5. 4.2 Description of Dependencies The SEDR installation disk includes all the required dependencies, and some optional components. This section is not required reading. 4.2.1 Python-related dependencies The SEDRA portal and SEDReC station are based on Python and make use of several Open Source packages that extend the Python run-time environment: 1. Python-2.4.x.msi – The Python language installer for MS Windows platforms. Python [1] is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to other command languages such as “Tcl”, “Perl”, “Ruby”, “Scheme” or “Java”. Some of its key distinguishing features include: Scripting language, Intuitive object orientation syntax, Natural expression of procedural code, Exception-based error handling Dynamic data types Extensions and modules easily written in C, C++ (or Java for Jython, or .NET languages for IronPython) 2. Python-2.4.4.tgz – Linux source for python. Builds out-of-the-box on RHEL 4.5. 3. wxPython2.6-win32-ansi-2.6.3.3-py24.exe – wxPython[2] is a GUI toolkit for the Python programming language. It allows Python programmers to create graphical user interfaces, simply and easily. It is implemented as a Python extension module (native code) that wraps the popular wxWidgets cross platform GUI library written in C++. This file is the installer for wxPython on MS Windows with Python 2.4.x already installed. 4. elementtree-1.2.6-20050316.win32.exe – ElementTree[4] is a package is designed to store hierarchical data structures, such as simplified XML Information Sets (infosets), in memory. For more information see: http://effbot.org/zone/element-index.htm 5. lxml-1.0.3.win32-py2.4.exe – lxml[5] is a Python binding for the libxml2 and libxslt libraries. It provides safe and convenient access to these libraries using the ElementTree API. This file is the installer for wxPython on MS Windows with Python 2.4.x already installed. This 8 DRDC Ottawa CR 2008-313 installer is for windows. For Linux, the .tgz will have to be downloaded and built from source. 6. kid-0.9.3 – Kid[7] is an XML based template language that uses embedded Python to apply a combination of the two technologies. The syntax was inspired by a number of existing template languages, namely XSLT, TAL, and PHP. Kid integrates well with elementtree. It is pure Python hence is platform independent. 7. SQLAlchemy-0.2.8 – The SQLAlchemy SQL Toolkit[8] and Object Relational Mapper is a comprehensive set of tools for working with databases and Python. It has several distinct areas of functionality which can be used individually or combined together. For more information see: http://www.sqlalchemy.org/docs/04/intro.html 8. ctypes-1.0.1.win32-py2.4.exe – ctypes[10] is a foreign function library for Python. It provides C compatible data types, and allows calling functions in DLL/shared libraries. It can be used to wrap these libraries in pure Python. 9. delayedresult.py – The delayedresult.py is a wxPython module that provides asynchronous return values from functions, useful in handling slow or blocking operations while allowing the GUI to remain responsive. 10. MySQL-python.exe-1.2.1_p2.win32-py2.4.exe – MySQL-python[14] is an interface to the popular MySQL database server for Python. It is the Python counterpart to Java’s Connector/J (described below). 4.2.2 Python-related dependencies 1. Java – Java is a powerful and versatile programming language that is largely platform independent. It was developed for desktop and web applications. 2. mysql-connector-java-5.0.4.zip – MySQL provides connectivity for client applications developed in the Java programming language via a JDBC driver, which is called MySQL Connector/J[13]. 4.2.3 Database and Repository servers 1. mysql-essential-4.1.21-win32.msi – the mysql-essential[12] contains only the essential components needed to run the MySQL server on a Windows machine. These include the optimized server binaries for Windows 9x/ME and Windows NT based systems, the command line tools, and the C developer files. 2. mysql-gui-tools-5.0-r12-win32.msi – The GUI tools package includes GUI for database administration (MySQL Administrator), and the MySQL Query Browser[12]. 3. apache_2.2.6-win32-x86-openssl-0.9.8e.msi– Apache[14] is, as of printing of this manual, the most popular web server on the internet. The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, full featured and DRDC Ottawa CR 2008-313 9 freely available source code implementation of an HTTP (Web) server. This dependency is required on the database server if using either HTTP or MySQL database types for storing simulation resource meta-data. It is required on the repository servers if simulation resources will be accessed via HTTP protocol. Note that there are many other HTTP servers that could be suitable replacement. 4.2.4 Simulation servers 1. rpyc-2.60.zip – RPyC[16] (pronounced "are-pie-see") is a transparent, symmetrical python library for distributed-computing. It gives full control over a remote slave-interpreter (a separate python process running on a remote host), which performs operations on behalf of a client RPyC running on the local host. 2. tlslite-0.3.8 – TlsLite[17] is required by the tls_server. The tls_server uses Transport Layer Security (TLS) sockets for communications. This server provides authentication (based on username-password pairs) and data encryption to RPyC communications between SEDReC client and simulation hosts. 4.2.5 Optional components These components are included on the system CD for installation at the discretion of the System Administrator. 1. wxPython2.6-win32-docs-demos-2.6.3.3.exe – The wxPython docs-demos package contains wxPython Documents, Demos, and Samples. This is an optional, but highly recommended for developers. It contains: The wxPython demo Several small sample applications Start Menu launchers for the demo and tools such as PyCrust and XRCed The wxWidgets documentaion, in a MS HTMLHelp file 2. MySQL-python-1.2.2.win32-py2.4.exe – an updated version of MySQL-python, that has not been tested for the current configuration, and therefore is not supported. 3. cElementTree-1.0.5-20051215.win32-py2.4.exe – A ElementTree API[18]. fast C implementation of the 4. ez_setup.py – Easy Install is a python module (easy_install) bundled with setuptools that lets you automatically download, build, install, and manage Python packages. The ez_setup.py script is a Python script that can extends the basic Python install package by automatically fetching dependencies of a package being installed. 5. mfc71.dll – A DLL that is sometimes missing on Windows installations. I.e. if starting the python on Windows systems fails, copy mfc71.dll to c:/winnt/system32 directory 10 DRDC Ottawa CR 2008-313 6. nose-0.9.1.tar.gz – Python-nose[9] is a unittest-based testing framework for Python that makes writing and running unit tests easier. More information can be found at: http://code.google.com/p/python-nose/ 7. SQLAlchemy-0.3.x – Newer versions of SQL Alchemy. There appears to be a bug in this version that prevents it from being used with SEDRA portal. However more recent versions may be usable. 8. lxml-1.1.1.win32-py2.4.exe – a newer version of lxml. Does not work with SEDRA. 4.3 Installing the SEDRA Portal Client SEDRA client installation consists of three steps: install each dependency, install client, create Desktop short-cut. Note that some dependencies are shared with SEDReC, hence if SEDReC is already installed the common steps can be skipped. 4.3.1 Install dependencies Before installing SEDRA, it is necessary to install the necessary dependencies. The sequence of the installation is important since some packages rely on the existence of others. All of the following packages are located in the “dependencies” folder on the SEDR Installation disk. Following steps must be done in order: 1. Using the computer’s browser, navigate to the SEDR installation disk. Run the python installer: Python-2.4.3.msi. All the default options are fine. 2. Install wxPython2.6-win32-ansi-2.6.3.3-py24.exe. All defaults are fine. 3. Install ElementTree by running elementtree-1.2.6-20050316.win32.exe. 4. Install lxml 1.0.3. Use the lxml-1.0.3.win32-py2.4.exe version. 5. Extract kid-0.9.3 to a folder of your choice, then: a. Open command shell, b. Goto (cd) to kid root folder c. Do "c:\Python24\python setup.py install". If the setup script fails: download the most recent version of ez_setup.py (at http://peak.telecommunity.com/dist/ez_setup.py) and retry. DRDC Ottawa CR 2008-313 11 4.3.1.1 (Optional) Install SQL support 1. Install sqlalchemy 0.2.8. Note that more recent versions of sqlAlchemy are reported not to work. 2. Install the mysql-python package (DB API for MySQL) 3. Install MySQL-python-1.2.2.win32-py2.4.exe 4.3.2 Install client application The software for SEDRA exists in the “src” folder on the SEDR Installation disk. This folder can be copied to a location on the Client machine (i.e. c:\arp13j\ for Windows, or /usr/local/arb13jb/ for Linux). Note that SEDRA may run using Python 2.3.x if necessary. In this case, 1. Obtain a Python-2.3-compatible installer for each of the dependencies listed in section 4.3.1, and install each one; 2. Install the subprocess module (introduced in Python 2.4): Download from the website http://www.lysator.liu.se/~astrand/popen5/, then extract and run python setup.py install from extraction folder (in Command window). This will install the subprocess module in the native Python distribution; 3. Comment out the lines that start with '@' in the NetServices.py module (located in the “src/portal/utils” folder). The NetServices.py unit test will not run without these lines but the module itself will be fully functional for SEDRA. There may be other modifications required, though the above did suffice in early versions of the system. 4.3.3 Create Desktop shortcut After installing all the dependencies and the “src” folder on the Client Machine, the System Admin can create a shortcut for SEDRA on the users desktop to simplify the start-up of the application. The SEDRA application can be found in src/SEDRA.pyw. 4.4 Installing Database Servers Installation of database servers depends on the type of database used: FolderTree: this is merely a folder on local file system, with XML files representing the metadata. Hence a FolderTree database exists on same host as a SEDRA client that uses it. There is nothing else to install. 12 DRDC Ottawa CR 2008-313 HTTP: this type of database server is merely a web server. Installation of a web server is not covered in this manual (and will not be necessary if pre-configured hosts are used), but would follow, in the case of an Apache web server, steps similar to those of section 4.7.1.1 and 4.7.1.2. 4.4.1 4.4.1.1 MySQL Installing and Setting up MySQL To install MySQL run the ‘MySQL/mysql.4.1.22.setup.exe’ file from the SEDR installation disk. Note that version ‘mysql.5.0.45.win32.zip’ is reputed not to install properly in Windows 2000, therefore ensure that you are using version 4.1.22. Figure 1: MySQL: Server Setup Wizard. It is necessary to go through two steps in the installation procedure: First the “MySQL Server Setup” (Figure 1) and then the “MySQL Server Instance Configuration Setup” (Figure 5). DRDC Ottawa CR 2008-313 13 Figure 2: MySQL: Setup type. During the “MySQL Server Setup” select a “complete install” (Figure 2). The installer will proceed to install the package, and then invite you to create a “MySQL.com” account. There is no requirement to create an account for using this application. Figure 3: MySQL: MySQL.com signup. Once the “Sign-Up Screen” has been bypassed, the first part of the setup is completed. At this time, the installer gives the option to configure the MySQL server (Figure 4). Select the “Configure the MySQL Server now” and then select “Finish”. If the “Configure Now” option is accidentally not selected, the application can be run by selection “Instance configuration” in the “Start->Applications->MySQL->MySQL 4.1” menu. 14 DRDC Ottawa CR 2008-313 Figure 4: MySQL: Setup Wizard completed, but…. For the “Server Instance Configuration” screen, select “Standard Configuration” (rather than Detailed Configuration) (Figure 5). Figure 5: MySQL: Server Instance Configuration. Ensure that both “Install as windows service” and “Include bin directory in Windows Path” (Figure 6) DRDC Ottawa CR 2008-313 15 Figure 6: MySQL: install options on Microsoft Windows XP. Enter the root password for the account, and select “Enable root access from remote machines” (Figure 7) The system is setup to use a root password of “simulation” Figure 7: MySQL: Setting root password. 16 DRDC Ottawa CR 2008-313 Figure 8: MySQL: Creating a Server instance. Once the appropriate options are set, the application invites you to apply your selections. Select the “Execute” button (Figure 8), which will lead you to a successful installation (Figure 9) screen. Figure 9: MySQL: Successful installation of Server. DRDC Ottawa CR 2008-313 17 4.4.1.2 Create an empty MySQL database To create an empty MySQL database, first install the MySQL browser tools mysql-gui-tools-5.0r12-win32.msi from the SEDR installation disk. The default parameters are sufficient. 1. Login to the "MySQL Query Browser" from the GUI tools Installation use the 'root' as the username and 'simulation' as the password. 2. Do not specify a default schema and ignore the warning about not having one specified 3. In the "Schemata" section of the user interface, right-click and select "Create New Schema" 4. Enter the name "ffse" and press OK 5. Right-click on the newly created schema and select "Make Default Schema". 6. Using the File Pull down menu, select "Open Script..." and select the following SQL script 'Create_SimTables_Cleaned_Manual.sql' 7. Press the "Execute" Button - this will generate the empty database schema 8. Close this script by closing the tab from the user interface 9. Using the File Pull down menu, select "Open Script..." and select the following SQL script 'Insert_FFSE_Tree.sql' 10. Press the "Execute" Button - this will generate the FFSE simulation resource tree 4.4.1.3 Create user accounts Access to the database is restricted depending on the privilege required for a particular user. For example a Modifer would need to be able to edit the information in the database, but not change the schema; a User would not be modifying the database, nor would an Expert. 1. Start the MySQL Administrator tool and login as root. 18 DRDC Ottawa CR 2008-313 Figure 10: MySQL: Logging into MySQL Administrator. 2. Select "User Administration" from the options and the press "add new user". DRDC Ottawa CR 2008-313 19 Figure 11: MySQL: Adding new users in MySQL. 3. The "User Information" Tab will now be enabled - in the "MySQL User" field, enter the text "arp_user". Enter the same value in the both the "Password" and "Confirm Password" fields. 4. Select the "Schema Privileges" tab and make sure that the "ffse" schema in the schemata section is selected (Figure 12). Using the '<' button to move Privileges from the “Available Privileges” to the “Assigned Privileges” column, assign to the user the "SELECT" privilege only 20 DRDC Ottawa CR 2008-313 Figure 12: MySQL: Setting user privileges. 5. Press the "Apply Changes" button - the "arp_user" will now appear in the list of user accounts. 4.4.1.4 Create modifier accounts 6. Repeat Steps 2-5 for the user "arp_modifier" using "pa9w34@8s!Ks&K" for the password. Assign the arp_modifier ALL available privileges. 4.5 Installing Repository Servers All simulation resources must reside in repositories accessible via HTTP. A repository contains files that can be reached via URL’s. There are many HTTP servers available both Open Source and COTS. SEDRA is independent of which one is used, hence the choice, installation and setup of repository servers is beyond the scope of this manual. DRDC Ottawa CR 2008-313 21 An example repository is available on the CD. This can be copied to the HTTP server’s filesystem area, as described here: 1. Setup an HTTP server on a machine (call it A), if not already available 2. Copy the three folders in src/http_setup/htdocs to a location of your choice on machine A, 3. If installing the Apache server: use the info in conf/httpd.conf to setup access to the folders you just copied 4. If machine A is not localhost (same host as SEDRA), change all occurrences of 'localhost' in URL's in all xml files in your two htdocs/portalTestDB folders, to hostname of A (e.g., at FFSE, A=131.136.161.42) 4.6 Installing SEDReC Installing SEDReC is done in three steps: x Install dependencies on host that will be running the SEDReC client; x Install source for SEDReC client on same host; x Install simulation server software on each simulation host. 4.6.1 Install dependencies for SEDReC client Each host that will run the SEDReC station client must be setup as follows. Note that some dependencies are shared with SEDRA, hence if SEDRA is already installed on the same host, some steps can be skipped. 1. Using the computer’s browser, navigate to the dependencies folder on the SEDR installation disk. 2. Run the Python installer: Python-2.4.x.msi. Use the installer with highest value of x. All the default options are fine. 3. Run the wxPython installer: wxPython2.6-win32-ansi-2.6.3.3-py24.exe. All defaults are fine. 4. Run the ElementTree installer: elementtree-1.2.6-20050316.win32.exe. 5. Extract RPyC from the rpyc-2.60.zip file to the c:/Python24/Lib/site-packages. 6. Navigate to the tlslite-0.3.8 folder, and run the tlslite installer: tlslite-0.3.8.win32-py2.4.exe. Accept all default options. 7. Run the lxml installer: lxml-1.0.3.win32-py2.4.exe. 8. Run the ctypes installer: ctypes-1.0.1.win32-py2.4.exe. Accept all default options. 22 DRDC Ottawa CR 2008-313 4.6.2 Install client application As with SEDRA, SEDReC exists in the “src” the folder on the SEDR Installation CD. This folder can be copied over to the SEDReC client host to a location of your choice. This is unnecessary if SEDRA has already been installed on the same system. The SEDReC client doesn’t currently support “File | Load”. Rather, the control recipe to load must be specified at run time. This is easily done from the Command shell, in which case the installation of SEDReC client is over. However, if only a few control recipes are going to be executed from the host (typically the case), a shortcut can be created for each recipe XML file and put (e.g.) on the desktop. An example startup shortcut appears in Figure 13. This shows that the “src” folder was copied to a folder named “C:\SEDR” and that the recipe file is located in “C:\SEDR” and named recipe.xml. The startup script for SEDReC is named recipe_station.pyw. Figure 13: SEDReC: Example shortcut to run client with yourRecipe.xml. DRDC Ottawa CR 2008-313 23 Note that using a Command shell or shortcut is unnecessary if SEDReC is only going to be started from SEDRA. Note also that Figure 13 assumes that .pyw files have been associated with the correct Python interpreter executable. To do this: 1. Open any folder; 2. Go to Tools | Folder Options; this opens the Folder Options dialog; a. Select New; this opens a Create New Extension dialog; b. Enter pyw in the File Extension text field and select OK to close the dialog; 3. Back in the Folder Options dialog, select Change next to the Opens with: label for the new extension and select Select the program from a list and then select OK (Figure 14); this opens an Open With dialog; a. Select Browse at the bottom of that dialog, navigate “C:\Python24\pythonw.exe”, select Open to accept that executable to b. Click OK to finalize the association of that executable with the new file extension. This closes the Open With dialog. 4. Close the Folder Options dialog. Figure 14: SEDReC: Step 5 in associating a file extension to an executable. 24 DRDC Ottawa CR 2008-313 4.6.3 Simulation servers MS Windows On each host that will act as a simulation server, perform the following sequence of steps: 1. Install Python, RPyC, tlslite, and ctypes as described in section 4.6.1; 2. Create a shortcut to RPyC’s TLS server script: a. Navigate to C:\Python24\Lib\site-packages and right-click with mouse on the tls_server.py file b. Select Send To | Desktop (Create Shortcut), as shown in Figure 15. A shortcut appears on the Desktop. c. This can be moved to the Startup folder (e.g. C:\Documents and Settings\All Users\Start Menu\Programs\Startup) to have the script start automatically upon any user logging in. d. Furthermore, if the host is setup to automatically login upon boot-up (achieved by having only one account on the host – the administrator account), then RPyC’s TLS server will be started automatically upon boot-up. Linux RHE 4.5 Python is installed by default, but it must be a version compatible with RPyC. The RPyC and tlslite are pure Python hence the installation involves, in each case: 1. Download a Linux-compatiable package from the RPyC and tlslite websites and extract them to a folder 2. Open a console and cd to the RPyC folder 3. Run “python setup.py install”. Take note of where the library has been installed by looking at the output of the command. 4. Repeat for tlslite. 5. (Optional) Make tls_server.py run automatically upon boot-up or login. There are many ways of doing so it is left as an exercise for the user. Note that on Linux, the installation folder for Python libraries (i.e. packages) is different from MS Windows. Step 3 should indicate where the tls_server.py script can be found (e.g. if RPyC was installed in /usr/lib/python24/package, then the script would be in /usr/lib/python24/site/RPyC/Servers). DRDC Ottawa CR 2008-313 25 Figure 15: SEDReC: Create a shortcut to start RPyC’s tls_server on each sim host 4.7 Installing SEDReDE Installing SEDReDE is slightly more involved than the other applications, because SEDReDE has the ability to modify the databases; processes have to be put in place to prevent the inadvertent modification of database information. The installation involves: 1. Install prerequisites: a database server, an HTTP-based Applet server on same host as database 2. Install SEDReDE applet in applet server file area 3. Install (if not pre-installed with OS) Java Runtime Environment (JRE) on each client machine that will access the SEDReDE Applet URL 26 DRDC Ottawa CR 2008-313 4.7.1 Prerequisites x At least one MySQL database must be available: setup as per section 4.4.1, including user accounts for Users to browse the database, and modifier accounts for Modifiers that will add/delete/maintain the information in the database x On the same host as the MySQL database, an Apache web server must be installed to handle Serving the SEDReDE Java Applet to a remote machine Authenticated access to the applet 4.7.1.1 Installing and configuring the Apache 2.2.6 Web Server 1. Double Click the "apache_2.2.6-win32-x86-openssl-0.9.8e.msi" installer file 2. Select Next after the title screen is displayed. 3. Accept the license agreement and press 'Next'. 4. Click Next at the Readme Screen. 5. Leave all of the default values in tact at the Server Information screen and then press next (Figure 16). Figure 16: Apache: Server information. 6. Select "Custom" for the setup type and press 'Next' (Figure 17). DRDC Ottawa CR 2008-313 27 Figure 17: Apache: setup type. 7. For each feature listed, press the drop down menu button and select the option "This feature, and all subfeatures, will be installed on local hard drive.” then press 'Next' (Figure 18). Figure 18: Apache: Installed features. 8. Click "Install" at the Setup Confirmation screen. 28 DRDC Ottawa CR 2008-313 9. If setup was successful, then the Installation Wizard Completed screen will be displayed click “Finished” 10. The Http Service Control Icon should now be visible in the task bar (Figure 19). Figure 19: Apache: Http Service Icon. 4.7.1.2 Setting Up Apache 2.2.6 Web Server Security and Resources. Once Apache is installed, it needs to be configured to allow restricted access to the SEDReDE Java software, so that only authorised users can modify the database. This section describes how to setup the .htaccess system, assuming that the default installation directories were used (i.e. /usr/share/Apache2.2, or c:\Program Files\Apache Software Foundation\Apache2.2) 1. In the …/Apache2.2/htdocs folder, create a folder called "SEDReDE" 2. Similarly, create a folder called "security" in "…/Apache2.2" 3. Using a text editor, create a file called ".htaccess" in the SEDReDE folder created in step 1, which contains the following lines: AuthUserFile …/pache2.2/security/.htpasswd AuthName "The Simulation Network Tool Suite Server" AuthType Basic require valid-user 4. save and close this file 5. start a command prompt from the start menu and navigate to "…/Apache2.2/bin" 6. From the command prompt, enter the following command htpasswd -nb malo_dev rab 7. Copy the text from the last line of the output from this command to the clipboard. DRDC Ottawa CR 2008-313 29 8. Open a text editor and paste this single line to the text file. 9. Save this text file to the "…/Apache2.2/security" directory with the name ".htpasswd" 10. Locate the httpd.conf file in the "…/Apache2.2/conf" folder and open it in a text editor. 11. Add the SEDReDE directory into the list of directories managed by Apache. The following directory entry should be added in the appropriate location within this file: I.e. the list of <Directory>s preceding the <IfModule dir_module>. <Directory "…/Apache2.2/htdocs/SEDReDE"> Order allow,deny Allow from all AllowOverride AuthConfig </Directory> Replacing the … with the appropriate path. 12. Add the following alias entry to the appropriate location within the httpd.conf file (I.e. the <IfModule alias_module>): <IfModule alias_module> DirectoryIndex index.html Alias /SEDReDE "…/Apache2.2/htdocs/SEDReDE" </IfModule> 13. Save and close the httpd.conf file and then restart the apache server 4.7.2 Install the SEDReDE web page and Java applet From the SEDR installation disk, copy all files from the src/Applet folder to the "…/Apache2.2/htdocs/SEDReDE" folder. 4.7.3 Install JRE on each client Install the Java executable. 30 DRDC Ottawa CR 2008-313 References ..... [1] Python (online), http://www.python.org (Access date: 12 Nov. 2008) [2] wxPython (online), http://www.wxpython.org (Access date: 12 Nov. 2008) [3] wxGlade (online), http://wxglade.sourceforge.net/ (Access date: 12 Nov. 2008) [4] elementTree (online), http://effbot.org/zone/element-index.htm (Access date: 12 Nov. 2008) [5] lxml (online), http://pypi.python.org/pypi/lxml/ (Access date: 12 Nov. 2008) [6] Easy Install (online), http://peak.telecommunity.com/DevCenter/EasyInstall (Access date: 12 Nov. 2008) [7] Kid (online), http://www.kid-templating.org/ (Access date: 12 Nov. 2008) [8] SQLAlchemy (online), http://www.sqlalchemy.org/ (Access date: 12 Nov. 2008) [9] Nose (online), http://code.google.com/p/python-nose/ (Access date: 12 Nov. 2008) [10] Ctypes (online), http://python.net/crew/theller/ctypes/ (Access date: 12 Nov. 2008) [11] J2SDK (online), http://java.sun.com (Access date: 12 Nov. 2008) [12] MySQL DBMS (online), http://dev.mysql.com/downloads/mysql/ (Access date: 12 Nov. 2008) [13] MySQL Connector/J (online), http://dev.mysql.com/downloads/connector/j (Access date: 12 Nov. 2008) [14] MySQL-Python (online), http://mysql-python.sourceforge.net/ (Access date: 12 Nov. 2008) [15] Apache Web Server (online), http://www.apache.org (Access date: 12 Nov. 2008) [16] RPyC (online), http://rpyc.wikispaces.com/ (Access date: 12 Nov. 2008) [17] Tlslite (online), http://trevp.net/tlslite/ (Access date: 12 Nov. 2008) [18] cElementTree (online), http://pypi.python.org/pypi/cElementTree/ (Access date: 12 Nov. 2008) [19] Mozilla FireFox (online), http://www.mozilla.org (Access date: 12 Nov. 2008) DRDC Ottawa CR 2008-313 31 This page intentionally left blank. 32 DRDC Ottawa CR 2008-313 List of symbols/abbreviations/acronyms/initialisms ARP Advanced Research Program DB Database DND Department of National Defence DRDC Defence Research & Development Canada DRDKIM Director Research and Development Knowledge and Information Management FFSE Future Forces Synthetic Environments GUI Graphical User Interface HTTP Hypertext Transfer Protocol MALO Maritime Air-Littoral Operations (a project at FFSE) RPyC Remote Python Calls (Python package for interacting with remote computers via Python) SE Synthetic Environments SEDR Synthetic Environment Distributed Resources SEDRA SEDR Access SEDReC SEDR Control SEDReDE SEDR Data Entry SNE Simulation Network Exploitation URL Uniform Resource Locator XML Extensible Markup Language (a way of structuring information) R&D Research & Development DRDC Ottawa CR 2008-313 33 This page is intentionally left blank 34 DRDC Ottawa CR 2008-313 DOCUMENT CONTROL DATA (Security classification of title, body of abstract and indexing annotation must be entered when the overall document is classified) 1. ORIGINATOR (The name and address of the organization preparing the document. Organizations for whom the document was prepared, e.g. Centre sponsoring a contractor's report, or tasking agency, are entered in section 8.) 2. CAE Professional Services 1135 Innovation Dr. Suite 300 Kanata, ON K2K 3G7 3. SECURITY CLASSIFICATION (Overall security classification of the document including special warning terms if applicable.) UNCLASSIFIED TITLE (The complete document title as indicated on the title page. Its classification should be indicated by the appropriate abbreviation (S, C or U) in parentheses after the title.) Simulation network exploitation: SEDR tool suite: system manual 4. AUTHORS (last name, followed by initials – ranks, titles, etc. not to be used) Chawla, B., Mikhael, B., Schoenborn, O. 5. DATE OF PUBLICATION (Month and year of publication of document.) April 2009 7. 6a. NO. OF PAGES 6b. NO. OF REFS (Total containing information, (Total cited in document.) including Annexes, Appendices, etc.) 46 0 DESCRIPTIVE NOTES (The category of the document, e.g. technical report, technical note or memorandum. If appropriate, enter the type of report, e.g. interim, progress, summary, annual or final. Give the inclusive dates when a specific reporting period is covered.) Contract Report 8. SPONSORING ACTIVITY (The name of the department project office or laboratory sponsoring the research and development – include address.) Defence R&D Canada – Ottawa 3701 Carling Avenue Ottawa, Ontario K1A 0Z4 9a. PROJECT OR GRANT NO. (If appropriate, the applicable research and development project or grant number under which the document was written. Please specify whether project or grant.) 13jb 10a. ORIGINATOR'S DOCUMENT NUMBER (The official document number by which the document is identified by the originating activity. This number must be unique to this document.) 9b. CONTRACT NO. (If appropriate, the applicable number under which the document was written.) W8475-06BM04 10b. OTHER DOCUMENT NO(s). (Any other numbers which may be assigned this document either by the originator or by the sponsor.) DRDC Ottawa CR 2008-313 11. DOCUMENT AVAILABILITY (Any limitations on further dissemination of the document, other than those imposed by security classification.) Unlimited 12. DOCUMENT ANNOUNCEMENT (Any limitation to the bibliographic announcement of this document. This will normally correspond to the Document Availability (11). However, where further distribution (beyond the audience specified in (11) is possible, a wider announcement audience may be selected.)) Unlimited 13. ABSTRACT (A brief and factual summary of the document. It may also appear elsewhere in the body of the document itself. It is highly desirable that the abstract of classified documents be unclassified. Each paragraph of the abstract shall begin with an indication of the security classification of the information in the paragraph (unless the document itself is unclassified) represented as (S), (C), (R), or (U). It is not necessary to include here abstracts in both official languages unless the text is bilingual.) This document is a system manual for the Synthetic Environment Distributed Resources (SEDR) Tool Suite. It allows simulation experts to increase the re-usability of simulation systems in other projects and by non-expert users, by facilitating the discovery and viewing of simulation-related documents as well as the execution of “executable data” in the form of “control recipes” that encode the start-up sequence of a distributed simulation. This manual describes the tool suite as a system, i.e. its components, how to install it, how the components interoperate, etc. Ce document représente le manuel du système du kit d’outils des ressources distribuées des environnements synthétiques (SEDR). Il permet aux experts de la simulation d’accroître les possibilités de réutilisation des systèmes de simulation et d’étendre cette réutilisation à d'autres projets. Il offre aussi aux utilisateurs non-experts, la facilité de la découverte et l'affichage des documents connexes de la simulation, ainsi que l'exécution des éléments exécutables par le biais de l’outil de contrôle. Ce manuel décrit les différentes composantes du kit, leurs installations, leur interopérabilité, etc. 14. KEYWORDS, DESCRIPTORS or IDENTIFIERS (Technically meaningful terms or short phrases that characterize a document and could be helpful in cataloguing the document. They should be selected so that no security classification is required. Identifiers, such as equipment model designation, trade name, military project code name, geographic location may also be included. If possible keywords should be selected from a published thesaurus, e.g. Thesaurus of Engineering and Scientific Terms (TEST) and that thesaurus identified. If it is not possible to select indexing terms which are Unclassified, the classification of each should be indicated as with the title.) Modeling & Simulation, Synthetic Environments, Distributed Simulation, Data Management, Knowledge Management, Remote Access, Software