Skip to content

Commit

Permalink
Deployed 2b7e9b4 with MkDocs version: 1.4.2
Browse files Browse the repository at this point in the history
  • Loading branch information
whikernel committed Dec 30, 2023
1 parent e7f90d9 commit 60f8504
Show file tree
Hide file tree
Showing 12 changed files with 83 additions and 50 deletions.
2 changes: 1 addition & 1 deletion changelog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2414,7 +2414,7 @@ <h2 id="v121-december-31-2021"><a href="https://github.com/dfir-iris/iris-web/re
<small>

Last update:
2023-11-29
2023-12-30

</small>
</div>
Expand Down
42 changes: 36 additions & 6 deletions getting_started/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,19 @@
Additional configuration
</a>

<nav class="md-nav" aria-label="Additional configuration">
<ul class="md-nav__list">

<li class="md-nav__item">
<a href="#kubernetes" class="md-nav__link">
Kubernetes
</a>

</li>

</ul>
</nav>

</li>

</ul>
Expand Down Expand Up @@ -1366,6 +1379,19 @@
Additional configuration
</a>

<nav class="md-nav" aria-label="Additional configuration">
<ul class="md-nav__list">

<li class="md-nav__item">
<a href="#kubernetes" class="md-nav__link">
Kubernetes
</a>

</li>

</ul>
</nav>

</li>

</ul>
Expand All @@ -1385,21 +1411,21 @@


<h1 id="quick-start">Quick Start</h1>
<p>The most straight forward and recommended way to use IRIS is with Docker. This is presented here. </p>
<p>The most straightforward and recommended way to use IRIS is with Docker. This is presented here. </p>
<div class="admonition warning">
<p class="admonition-title">Disclaimer</p>
<p>IRIS is in its early stage. It can already be used in production, but please <a href="/operations/upgrades/#backing-up-db">set backups of the database</a> and DO NOT expose the interface on the Internet.
We highly recommended the use of a private dedicated and secured network. </p>
</div>
<h2 id="pre-requisites">Pre-requisites</h2>
<h3 id="hardware">Hardware</h3>
<p>IRIS is not very resourceful and can be run on a small laptop (4 cores, 8Gb of RAM). However, for large organization and heavy usage,
it will need to be greatly scaled up.<br />
We don't have benchmarks yet but keep in mind that the database can grow rapidly and modules can be resourceful depending on their purposes. </p>
<p>IRIS does not require a lot of resources, and it can be run on a small laptop (4 cores, 8Gb of RAM). However, for large a organization and heavy usage,
it will need to be significantly scaled up.<br />
We don't have benchmarks yet, but keep in mind that the database can grow rapidly and modules can require more resources depending on their purposes. </p>
<h3 id="docker">Docker</h3>
<p>Docker and docker compose are needed to build and run the project. Depending on the OS you will find all the information to install them on
the official website of <a href="https://docs.docker.com/get-docker/">Docker</a>. </p>
<p>The platform is officially support on most Linux and MacOS. While it should work on Windows, some path needed by the dockers to store permanent files might need to be changed in the dockerfiles. </p>
<p>The platform is officially supported on most Linux and MacOS. While it should work on Windows, some path needed by the containers to store permanent files might need to be changed in the dockerfiles. </p>
<h2 id="versioning">Versioning</h2>
<p>Starting from version 2.0.0, Iris is following the <a href="https://semver.org/">Semantic Versioning 2.0</a> guidelines. <br />
The code ready for production is always tagged with a version number.
Expand Down Expand Up @@ -1455,13 +1481,17 @@ <h2 id="build-and-run">Build and Run</h2>
<p><img align="center" alt="IRIS Structure" src="/_static/iris_structure.png" /></p>
<h2 id="additional-configuration">Additional configuration</h2>
<p>Please see <a href="../operations/configuration/">configuration</a> for more details.</p>
<h3 id="kubernetes">Kubernetes</h3>
<p>For enterprises wishing to run their instance of IRIS, utilizing the projects official Helm charts and/or Kustomize manifests, allows them to significantly enhance their deployment and management, presenting a powerful solution to streamline their IRIS deployment and management processes, efficiently running across a cluster of machines, ensuring high availability and seamless scaling as demand fluctuates.</p>
<p>The deploy directory in the iris-web GitHub repository provides a practical starting point for deploying IRIS on their preferred managed k8s platform. We've created two variants: eks and gke, feel free to customize each with your own values.</p>
<p>For more details, please visit the deploy directory on GitHub: <a href="https://github.com/dfir-iris/iris-web/tree/master/deploy">deploy</a></p>

<hr>
<div class="md-source-file">
<small>

Last update:
2023-11-29
2023-12-30

</small>
</div>
Expand Down
9 changes: 6 additions & 3 deletions operations/access_control/authentication/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1456,7 +1456,7 @@ <h3 id="changing-a-lost-password">Changing a lost password</h3>
<li>
<p>Generate the hash of the new password with Python BCrypt in Python prompt</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">import</span> <span class="nn">bcrypt</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nb">print</span><span class="p">(</span><span class="n">bcrypt</span><span class="o">.</span><span class="n">hashpw</span><span class="p">(</span><span class="o">&lt;</span><span class="n">new_password</span><span class="o">&gt;.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span> <span class="n">bcrypt</span><span class="o">.</span><span class="n">gensalt</span><span class="p">())</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nb">print</span><span class="p">(</span><span class="n">bcrypt</span><span class="o">.</span><span class="n">hashpw</span><span class="p">(</span><span class="s1">&#39;&lt;new_password&gt;&#39;</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span> <span class="n">bcrypt</span><span class="o">.</span><span class="n">gensalt</span><span class="p">()))</span>
</code></pre></div>
</li>
<li>
Expand All @@ -1466,6 +1466,9 @@ <h3 id="changing-a-lost-password">Changing a lost password</h3>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>/<span class="w"> </span><span class="c1"># psql</span>
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="nv">postgres</span><span class="o">=</span><span class="c1"># \c iris_db </span>
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="nv">postgres</span><span class="o">=</span><span class="c1"># UPDATE &quot;user&quot; SET password = &#39;&lt;hash&gt;&#39; WHERE &quot;user&quot;.name = &#39;administrator&#39;;</span>
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="nv">postgres</span><span class="o">=</span><span class="c1"># \q</span>
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="nb">exit</span>
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="nb">exit</span>
</code></pre></div>
</li>
</ol>
Expand All @@ -1484,7 +1487,7 @@ <h3 id="settings">Settings</h3>
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>docker-compose<span class="w"> </span>restart<span class="w"> </span>app
</code></pre></div>
<h4 id="setting-up-ldap-for-the-first-runtime-of-iris">Setting up LDAP for the first runtime of IRIS</h4>
<p>To set up LDAP without having run IRIS priorly, and as the app needs the accounts to be created first before using LDAP, one have to set the <code>IRIS_ADM_EMAIL</code> environment with the LDAP Email of the administrator user. </p>
<p>To set up LDAP without having run IRIS priorly, and as the app needs the accounts to be created first before using LDAP, one has to set the <code>IRIS_ADM_EMAIL</code> environment with the LDAP Email of the administrator user. </p>
<div class="highlight"><span class="filename">Example of LDAP configuration for first run</span><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nv">IRIS_AUTHENTICATION_TYPE</span><span class="o">=</span>ldap
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="c1">## IP address or FQDN of the ldap server</span>
Expand Down Expand Up @@ -1576,7 +1579,7 @@ <h3 id="ldap-certificates">LDAP certificates</h3>
<small>

Last update:
2023-06-26
2023-12-30

</small>
</div>
Expand Down
20 changes: 10 additions & 10 deletions operations/access_control/groups/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1465,7 +1465,7 @@ <h1 id="groups">Groups</h1>
<h2 id="setting-up-a-new-group">Setting up a new group</h2>
<p>Head to the Access Control page and click <code>Add group</code>. </p>
<p><img alt="Create new group" src="../../../_static/access_control/create_new_group1.png" /></p>
<p>Fill the form. All the fields can be change later on. The field <code>Group name</code> has to be unique on the IRIS instance.<br />
<p>Fill the form. All the fields can be changed later on. The field <code>Group name</code> has to be unique on the IRIS instance.<br />
Access control and members can be set once the group is created. </p>
<h2 id="configuring-the-group">Configuring the group</h2>
<p>The group can be configured once created by clicking on it in the list.<br />
Expand All @@ -1474,24 +1474,24 @@ <h3 id="users">Users</h3>
<h4 id="adding-users-to-a-group">Adding users to a group</h4>
<p>To add users to the group, go to the <code>Members</code> tab and click <code>Manage</code>.
<img alt="Create new group 3" src="../../../_static/access_control/create_new_group3.png" /></p>
<p>The users manager should load and offers a list of users that can be added to the group. Select all the users you want to add to the group and press save. </p>
<p>The <code>User Manager</code> should load and offers a list of users that can be added to the group. Select all the users you want to add to the group and press <code>Save</code>. </p>
<p><img alt="Create new group 4" src="../../../_static/access_control/create_new_group4.png" /></p>
<div class="admonition info">
<p class="admonition-title">Permissions computation</p>
<p>When a user is added/removed to a group, its effective cases access are recomputed. Depending on the amount of cases and users added/removed this can take some time.
<p>When a user is added/removed to a group, its effective cases access are recomputed. Depending on the number of cases and users added/removed this can take some time.
This process helps reducing the DB load when using IRIS during normal operation. </p>
</div>
<h4 id="removing-users-from-a-group">Removing users from a group</h4>
<p>To remove users from the group, go to the <code>Members</code> tab and click <code>Manage</code>.
<img alt="Create new group 3" src="../../../_static/access_control/create_new_group3.png" /></p>
<p>The users manager should load and present a list of both users already in the group as well as the ones that can be added. To remove one or more users, un-tick them from the list and press <code>Save</code>. </p>
<p>Alternatively, a user can be directly removed from withing the group manager. Click on the red trash next to the user to remove and confirm the deletion.
<p>The <code>User Manager</code> should load and present a list of both users already in the group as well as the ones that can be added. To remove one or more users, un-tick them from the list and press <code>Save</code>. </p>
<p>Alternatively, a user can be directly removed from within the group manager. Click on the red trash next to the user to remove and confirm the deletion.
<img alt="Remove user from group" src="../../../_static/access_control/remove_user_from_group.png" /></p>
<h3 id="cases">Cases</h3>
<h4 id="adding-cases-to-the-group">Adding cases to the group</h4>
<p>Access to one or multiple existing cases can be granted to a group. From within the <code>group manager</code>, go to the <code>Cases access</code> tab and click <code>Set case access</code>.<br />
<p>Access to one or multiple existing cases can be granted to a group. From within the <code>Group Manager</code>, go to the <code>Cases Access</code> tab and click <code>Set case access</code>.<br />
<img alt="Add case to group" src="../../../_static/access_control/add_case_access_to_group.png" /></p>
<p>The <code>cases access manager</code> loads and gives the possibility to set the access to one or more cases.<br />
<p>The <code>Cases Access Manager</code> loads and gives the possibility to set the access to one or more cases.<br />
<img alt="Add case to org" src="../../../_static/access_control/set_case_access.png" /></p>
<p>Three choices of access are offered: </p>
<ul>
Expand All @@ -1502,11 +1502,11 @@ <h4 id="adding-cases-to-the-group">Adding cases to the group</h4>
<p>Once the desired access is selected, press <code>Set access</code>. </p>
<div class="admonition info">
<p class="admonition-title">Permissions computation</p>
<p>As for the addition of users, when a case is added/removed to a group, all the users effective cases access are recomputed. Depending on the amount of cases added/removed and number of users this can take some time.
<p>As for the addition of users, when a case is added/removed to a group, all the users' effective cases access are recomputed. Depending on the amount of cases added/removed and number of users this can take some time.
This process helps reducing the DB load when using IRIS during normal operation. </p>
</div>
<h4 id="removing-cases-from-the-group">Removing cases from the group</h4>
<p>From within the <code>group manager</code>, go to the <code>Cases access</code> tab. Click on the red trash next to the case to remove and confirm the deletion.
<p>From within the <code>Group Manager</code>, go to the <code>Cases Access</code> tab. Click on the red trash next to the case to remove and confirm the deletion.
<img alt="Remove case from group" src="../../../_static/access_control/remove_case_from_group.png" /></p>
<h2 id="removing-a-group">Removing a group</h2>
<p>A group can be deleted by clicking on its name in the list and then <code>Delete</code> at the bottom of the <code>Info</code> tab.<br />
Expand All @@ -1517,7 +1517,7 @@ <h2 id="removing-a-group">Removing a group</h2>
<small>

Last update:
2023-01-31
2023-07-01

</small>
</div>
Expand Down
6 changes: 3 additions & 3 deletions operations/access_control/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1287,8 +1287,8 @@ <h1 id="access-control">Access control</h1>
<li><a href="groups"><strong>Groups</strong></a>: Provides permissions and cases access controls</li>
<li><a href="users"><strong>Users</strong></a>: Provides granular per-user cases access control</li>
</ul>
<p>A user can be in one or multiple groups. The effective case access control of a user is deducted from its groups membership and its own cases access control.<br />
The effective permissions are deducted from its groups membership. </p>
<p>A user can be in one or multiple groups. The effective case access control of a user is deduced from its groups membership and its own cases access control.<br />
The effective permissions are deduced from its groups membership. </p>
<h2 id="cases-access-control-overview">Cases access control overview</h2>
<p>Cases access control offer three levels: </p>
<ul>
Expand Down Expand Up @@ -1335,7 +1335,7 @@ <h2 id="permissions-control">Permissions control</h2>
<small>

Last update:
2023-01-31
2023-07-01

</small>
</div>
Expand Down
10 changes: 5 additions & 5 deletions operations/access_control/users/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1407,7 +1407,7 @@ <h2 id="adding-a-user">Adding a user</h2>
<li><strong>Full Name</strong> : Name of the user to add </li>
<li><strong>Login</strong> : Username used to login in IRIS. Has to be unique on the instance </li>
<li><strong>Email</strong> : Email of the user to add. Has to be unique on the instance </li>
<li><strong>Password</strong>: Password respecting the policy defined in <code>Advanced</code> &gt; <code>Server settings</code>. The password also has to be set when using LDAP. It is however not used for the authentication. A random password can be set when using LDAP. No password is required when the user is set a service account. </li>
<li><strong>Password</strong>: Password respecting the policy defined in <code>Advanced</code> &gt; <code>Server settings</code>. The password also has to be set when using LDAP, it is then however not used for the authentication. A random password can be set when using LDAP. No password is required when the user is set as a service account. </li>
<li><strong>Is service account</strong> : If the user is a server account, check this box. Server accounts are used to connect to the API. They cannot login to the UI. </li>
</ul>
<div class="admonition warning">
Expand All @@ -1416,22 +1416,22 @@ <h2 id="adding-a-user">Adding a user</h2>
</div>
<p><img alt="Create new user" src="../../../_static/access_control/add_user1.png" /> </p>
<h2 id="editing-a-user">Editing a user</h2>
<p>A user can be edited by clicking on its name or ID in <code>Advanced</code> &gt; <code>Access Control</code> &gt; <code>Users</code>. A window opens and display the user's information. Tabs at the top allows to configure multiple settings related to the user. </p>
<p>A user can be edited by clicking on its name or ID in <code>Advanced</code> &gt; <code>Access Control</code> &gt; <code>Users</code>. A window opens and display the user's information. Tabs at the top allow to configure multiple settings related to the user. </p>
<h2 id="setting-permissions">Setting permissions</h2>
<p>Permissions of a user cannot be set directly. They are inherited from the groups membership. The tab <code>Permissions</code> only displays the permissions the user has from its groups memberships.
See <a href="../groups/">Groups</a> for more info. </p>
<h2 id="setting-groups">Setting groups</h2>
<p>Groups can be set by clicking on the <code>Groups</code> tab of the user's window and then <code>Manage</code>. </p>
<p><img alt="Manage user" src="../../../_static/access_control/add_user2.png" /> </p>
<p>A new window appear with the possibility to select the groups the user should belong to.
<p>A new window appears with the possibility to select the groups the user should belong to.
<img alt="Manage user" src="../../../_static/access_control/add_user3.png" /> </p>
<p>After saving, the permissions of the user are updated. This can be verified in the <code>Permissions</code> tab. <br />
<img alt="Manage user" src="../../../_static/access_control/add_user4.png" /> </p>
<h2 id="setting-cases-access">Setting cases access</h2>
<p>Cases access are usually set through groups membership. However for granularity they can be set per user. <br />
To set the access of a user on a case, click on the <code>Cases access</code> tab of the user's window and then <code>Set case access</code>. </p>
<p><img alt="Manage user" src="../../../_static/access_control/add_user5.png" /> </p>
<p>As for the Groups, a selector appear and allows to select one or multiple cases and the access to associate. <br />
<p>As for the Groups, a selector appears and allows to select one or multiple cases and the access to associate. <br />
<img alt="Manage user" src="../../../_static/access_control/add_user6.png" /> </p>
<div class="admonition info">
<p class="admonition-title">Info</p>
Expand All @@ -1458,7 +1458,7 @@ <h2 id="deleting-a-user">Deleting a user</h2>
<small>

Last update:
2023-05-15
2023-07-01

</small>
</div>
Expand Down
Loading

0 comments on commit 60f8504

Please sign in to comment.