Skip to content

Commit 760ee5b

Browse files
committed
Add docs
1 parent 5143a88 commit 760ee5b

File tree

4 files changed

+93
-11
lines changed

4 files changed

+93
-11
lines changed

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
Sentrius
22

33
![image](docs/images/mainscreen.png)
4-
Sentrius is a secure shell (SSH) access management solution that integrates zero trust principles to protect your infrastructure. It is split into two primary Maven sub-projects:
4+
Sentrius zero trust (and if you want AI assisted) management system. to protect your infrastructure. It is split into
5+
two primary Maven. Currently we only support SSH, but RDP is in the works.
6+
sub-projects:
57

6-
core – Handles the core functionalities (e.g., SSH session management, zero trust policy enforcement).
8+
core – Handles the core functionalities (e.g., SSH session management, RDP, zero trust policy enforcement).
79
api – Provides a RESTful API layer to interface with the core module.
10+
java-agent -- java based agent to monitor and control the ssh sessions.
11+
python-agent -- python based agent to monitor and control the ssh sessions.
812

913
Internally, Sentrius may still be referenced by its former name, SSO (SecureShellOps), in certain scripts or configurations.
1014
Table of Contents
@@ -27,7 +31,7 @@ Key Features
2731
Zero Trust Security
2832
Sentrius enforces zero trust policies, ensuring that every SSH connection is authenticated, authorized, and constantly monitored.
2933

30-
SSH Enclaves
34+
Enclaves
3135
Group hosts into logical enclaves and apply role-based access control for fine-grained permissions. Simplify security oversight by separating and organizing your infrastructure.
3236

3337
Dynamic Rules Enforcement
@@ -71,7 +75,9 @@ Prerequisites
7175
Java 11 or later
7276
Apache Maven 3.6+
7377
Database (PostgreSQL, MySQL, etc.) for storing session and configuration data
78+
Keycloak for user authentication and authorization
7479
(Optional) Docker & Kubernetes if you plan to deploy on a containerized environment
80+
(Optional) python 3.6+ for the python agent
7581

7682
Installation
7783

api/src/main/resources/application.properties

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,24 +57,25 @@ spring.servlet.multipart.max-request-size=10MB
5757

5858
#Jira integration
5959
#jira.base-url=https://dataguardians-team.atlassian.net/
60-
#jira.api-token=ATATT3xFfGF0V9aL4sFXPPWOdBpjSi_AC1zJnCj7sqgvodWu4K8lTjCNn4THIelFuKklIAlJPMDEkRORQgkuAU67wIxUycu
61-
# -1cIrQkr8aasnWZMq-_BJjOWaBl4Fj_ymgyuLKjLvO3LVyOmxmVRlMQovli9it298sF8FED2gzmtdJ8zKjflvYDM=9B77C294
60+
#jira.api-token=<your-token>
6261
server.error.whitelabel.enabled=false
6362

6463

6564

6665
keycloak.realm=sentrius
67-
keycloak.base-url=http://192.168.1.162:8180
66+
keycloak.base-url=${KEYCLOAK_BASE_URL:http://localhost:8180}
67+
spring.security.oauth2.client.registration.keycloak.client-secret=${KEYCLOAK_SECRET:defaultSecret}
6868

6969
spring.security.oauth2.client.registration.keycloak.client-id=sentrius-api
70-
spring.security.oauth2.client.registration.keycloak.client-secret=nGkEukexSWTvDzYjSkDmeUlM0FJ5Jhh0
7170
spring.security.oauth2.client.registration.keycloak.authorization-grant-type=authorization_code
72-
spring.security.oauth2.client.registration.keycloak.redirect-uri=http://192.168.1.162:8080/login/oauth2/code/keycloak
71+
spring.security.oauth2.client.registration.keycloak.redirect-uri=${BASE_URL:http://localhost:8080}/login/oauth2/code/keycloak
7372
spring.security.oauth2.client.registration.keycloak.scope=openid,profile,email
7473

75-
spring.security.oauth2.resourceserver.jwt.issuer-uri=http://192.168.1.162:8180/realms/sentrius
76-
spring.security.oauth2.client.provider.keycloak.issuer-uri=http://192.168.1.162:8180/realms/sentrius
74+
spring.security.oauth2.resourceserver.jwt.issuer-uri=${KEYCLOAK_BASE_URL:http://localhost:8180}/realms/sentrius
75+
spring.security.oauth2.client.provider.keycloak.issuer-uri=${KEYCLOAK_BASE_URL:http://localhost:8180}/realms/sentrius
7776

7877
management.endpoints.web.exposure.include=health
7978
management.endpoint.health.show-details=always
80-
https.required=false
79+
80+
### change for production environments
81+
https.required=${HTTP_REQUIRED:true}

docs/images/mainscreen.png

217 KB
Loading

ops-scripts/local/run-sentrius.sh

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#!/usr/bin/env bash
2+
3+
##
4+
# run-sentrius.sh
5+
#
6+
# Simple script to launch Sentrius locally using Maven and environment variables.
7+
#
8+
# Usage:
9+
# ./run-sentrius.sh
10+
#
11+
# You can export environment variables before calling this script or define them inline below.
12+
##
13+
14+
# Fail on any error
15+
set -e
16+
17+
######################################
18+
# 0. Parse script arguments
19+
######################################
20+
BUILD=false
21+
22+
while [[ "$#" -gt 0 ]]; do
23+
case $1 in
24+
--build)
25+
BUILD=true
26+
;;
27+
*)
28+
echo "Unknown parameter passed: $1"
29+
exit 1
30+
;;
31+
esac
32+
shift
33+
done
34+
35+
######################################
36+
# 1. (Optional) Build the project
37+
######################################
38+
if $BUILD; then
39+
echo "Building the project..."
40+
# Build from the root. If you only want to build the 'api' module, you can use:
41+
# mvn clean install -pl api -am
42+
mvn clean install
43+
fi
44+
45+
######################################
46+
# 2. Set environment variables here
47+
######################################
48+
49+
# You can set these externally (e.g., via `export KEYCLOAK_SECRET=...`),
50+
# or define them right here:
51+
export KEYCLOAK_SECRET="${KEYCLOAK_SECRET:-defaultSecret}"
52+
export KEYCLOAK_BASE_URL="${KEYCLOAK_BASE_URL:-http://localhost:8180}"
53+
export HTTP_REQUIRED="${HTTP_REQUIRED:-false}"
54+
export BASE_URL="${BASE_URL:-http://localhost:8080}"
55+
56+
# Adjust memory settings for your local environment
57+
export MIN_HEAP="${MIN_HEAP:-4096m}"
58+
export MAX_HEAP="${MAX_HEAP:-8192m}"
59+
60+
######################################
61+
# 3. Run Maven with these settings
62+
######################################
63+
64+
# build the project
65+
66+
pushd api
67+
68+
mvn spring-boot:run \
69+
-Dspring-boot.run.jvmArguments="-Xms${MIN_HEAP} -Xmx${MAX_HEAP}"
70+
71+
# Explanation:
72+
# -Xms${MIN_HEAP} sets the initial (minimum) heap to 4GB (by default).
73+
# -Xmx${MAX_HEAP} sets the maximum heap to 8GB (by default).
74+
75+
popd

0 commit comments

Comments
 (0)