Sharing Components

Since components actually are securiCAD model files, stored in a directory we choose when using the program, the contents of that directory can be shared between users by simply sharing the component files/directories.

When sharing components it is helpful for other users if we add a “Note” to the object before exporting it as a component. Such information might tell what the purpose of the component is, what assumptions have been made and who created it in case there will be follow-up questions, like in the example below.

Component Note
Component Note

 

Creating Components

Components are made from native objects and can contain one or several such objects. Creating components while modeling might feel like extra work but you will soon notice that already after having used a component a few times, you’ll save modeling effort. This section describes how components are created by using a step-by-step example that creates a few specialized software product objects and eventually a web server.

Custom Components Directory

To start with, we shall configure securiCAD so that it will know where we will store the custom components we create. Go to the Configuration menu item and select Objects.

 

Configuration - Objects
Configuration – Objects

Click on “Browse” to select where we store our custom components. Since we do not have such a directory yet, please create it while selecting it.

Now we have a new item next to the securiCAD components. This is where we will pick and use the components we shall create.

Our Custom Components in securiCAD
Our Custom Components in securiCAD

 

Each time you create an object or a sub-directory of the custom components folder, please go to Configuration-Objects and Save again to refresh the Components list in securiCAD.

Now we are set to start creating custom components.

Singular Object Components

To start with, we shall create a few single-object components. The point of creating components with only one object is to set defenses of the objects and when re-using them as components, we know that the defenses are already adjusted. Such a situation is when working with SoftwareProducts. Start by dropping a SoftwareProduct object onto the canvas, rename it to RHEL 7.2 for RedHat Enterprise Linux.

We also see that the defense settings are all default, as expected for a freshly added native object.

SoftwareProduct Default Defenses
SoftwareProduct Default Defenses

 

Now, to make this SoftwareProduct reflect the situation of RedHat Enterprise Linux, adjust the defenses accordingly;

RedHat Enterprise Linux Defenses
RedHat Enterprise Linux Defenses

 

The non-default defenses here is that “SecretSource” is set to “Off” since RedHat is based on open source source code. Even if the rest of the defenses are following the current default settings, it is a good idea to set them to what we actually want in case we might later change the default settings.

Now it is time to save this SoftwareProduct as a component. While the object we want to make a component of is selected, go for File – Export – Export Component.

Export Component
Export Component

 

We will be prompted for which object (in case there are several selected) to export. Actually we are choosing which object shall be used as the top-object of our component in the list of custom components in securiCAD.

Export Component Dialogue

 

Select the RHEL object and click OK to proceed.

In this particular case, we have first located the communityComponents directory we previously created and pointed out. Then we have entered the general sub-directory and also created a sub-directory in that folder and called it softwareTypes. This is where we have sotred our newly created rhel72 component.The custom components may this way be organized by category in the custom components list.

RHEL72 Component
RHEL72 Component

 

Each time you create an object or a sub-directory of the custom components folder, please go to Configuration-Objects and Save again to refresh the Components list in securiCAD.

Now we can pick out our component representing the RedHat Enterprise Linux version 7.2 from the list of custom components and use it in our model.

Please note that it is not recommended to let SoftwareProduct components be part of other components since SoftwareProduct objects shall be shared between all objects based on the same type of software/software release. If SoftwareProduct components are included in other components, you will have an extra SoftwareProduct object for each one of them.

Composite Object Components

Components are in most cases. structures of several/many objects and not only one object with certain settings.

If one object can be regarded at the “top” object, then it is a good practice to bundle the other objects into that one before exporting it as a component.

Bundling the objects of a Cloud host into the main host
Bundling the objects of a Cloud host into the main host

Then we select the top host and use Export Component tool as before.

Exporting the Cloud Host component
Exporting the Cloud Host component

Out of curiosity, we can unfold this top host to see what other objects will be included in the component we are about to create.

Objects that will be included in the Cloud Host component
Objects that will be included in the Cloud Host component

Any modeling object can be stored as a component. For instance, a network zone containing several hosts may be exported as a component so that it can be easily reused.

Using Components

As previously seen, securiCAD comes with a collection of already prepared standard components. They are found below the list of singular/native objects.

Component location
Component location
securiCAD Standard Components, Host sub category
securiCAD Standard Components, Hosts sub category

 

Dragging each one of the components onto the canvas will only show one object each, the component’s main object. But since these objects already have additional objects connected to them, you can right-click on the object and use “Show All Connected Objects” to see what extra objects the component brought with it.

Show All Connected Objects
Show All Connected Objects

 

Objects directly connected to Windows web server
Objects directly connected to Windows web server

 

All objects included in the Windows web server component
All objects included in the Window web server component

Repeating this with the IIS web service, RDP and the Windows Server login objects will show all objects connected to the Windows web server component.

Using components instead of basic objects is often more convenient when modeling. It is even recommended to create new components while building a model of an architecture since hosts, networks, services and so on tend to be present in several parts of an architecture. Also, if you need to model an object that is similar but not exactly of the same type and set-up as an existing component, you can use a component as a template and make the necessary adjustments to it.