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.