Skip to content

Commit 345e788

Browse files
committed
Fix lockdown
1 parent 497e51a commit 345e788

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

.local.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ SENTRIUS_AI_AGENT_VERSION=1.1.264
66
LLMPROXY_VERSION=1.0.78
77
LAUNCHER_VERSION=1.0.82
88
AGENTPROXY_VERSION=1.0.85
9-
SSHPROXY_VERSION=1.0.84
9+
SSHPROXY_VERSION=1.0.87

.local.env.bak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ SENTRIUS_AI_AGENT_VERSION=1.1.264
66
LLMPROXY_VERSION=1.0.78
77
LAUNCHER_VERSION=1.0.82
88
AGENTPROXY_VERSION=1.0.85
9-
SSHPROXY_VERSION=1.0.84
9+
SSHPROXY_VERSION=1.0.87

ssh-proxy/src/main/java/io/sentrius/sso/sshproxy/handler/ShellHandlerRunnable.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ public void run() {
6363

6464
int bytesRead = in.read(buffer);
6565
if (bytesRead == -1) {
66-
log.info("End of stream");
6766
// EOF reached
6867
break;
6968
}
@@ -79,19 +78,16 @@ public void run() {
7978

8079
// Process input character and send audit log
8180
if (c >= 32 && c <= 126) {
82-
log.info("Processing printable character: {}", c);
81+
log.trace("Processing printable character: {}", c);
8382
// Printable characters
8483
auditLog.setCommand(String.valueOf(c));
8584
commandBuffer.get().append(c);
86-
log.info("85");
8785
auditLog.setType(Session.MessageType.USER_DATA);
8886
auditLog.setKeycode(-1);
89-
log.info("87");
9087
getSshListenerService().processTerminalMessage(
9188
sessionRoute.getCurrent().get(),
9289
auditLog.build()
9390
);
94-
log.info("94");
9591
log.info("Appending printable character to command buffer: {}", c);
9692
auditLog = Session.TerminalMessage.newBuilder();
9793
} else {
@@ -133,7 +129,7 @@ public void run() {
133129
sessionRoute.getCurrent().get().getTerminalAuditor().setSessionTrigger(noActionTrigger);
134130
}
135131

136-
log.info("Sending terminal keycode to session");
132+
log.debug("Sending terminal keycode to session");
137133

138134
getSshListenerService().processTerminalMessage(
139135
sessionRoute.getCurrent().get(),

ssh-proxy/src/main/java/io/sentrius/sso/sshproxy/handler/SshProxyShell.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.io.OutputStream;
66
import java.security.GeneralSecurityException;
77
import java.util.concurrent.Future;
8+
import io.sentrius.sso.core.config.SystemOptions;
89
import io.sentrius.sso.core.model.ConnectedSystem;
910
import io.sentrius.sso.core.model.HostSystem;
1011
import io.sentrius.sso.core.services.SshListenerService;
@@ -57,6 +58,7 @@ public class SshProxyShell implements Command {
5758
private ShellHandlerRunnable shellHandler;
5859

5960

61+
6062
private final ThreadPoolTaskExecutor taskExecutor; // inject this
6163
private Future<?> shellFuture = null;
6264

@@ -93,7 +95,6 @@ public void setInputStream(InputStream in) {
9395
@Override
9496
public void setOutputStream(OutputStream out) {
9597
this.out = out;
96-
log.info("Setting output stream");
9798
sessionRoute.setOutputStream(out);
9899
}
99100

ssh-proxy/src/main/java/io/sentrius/sso/sshproxy/handler/SshProxyShellHandler.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.sentrius.sso.sshproxy.handler;
22

3+
import io.sentrius.sso.core.config.SystemOptions;
4+
import io.sentrius.sso.core.config.ThreadSafeDynamicPropertiesService;
35
import io.sentrius.sso.core.model.ConnectedSystem;
46
import io.sentrius.sso.core.services.ChatService;
57
import io.sentrius.sso.core.services.HostGroupService;
@@ -53,6 +55,7 @@ public class SshProxyShellHandler implements Factory<Command> {
5355
final TerminalService terminalService;
5456
final UserService userService;
5557

58+
final ThreadSafeDynamicPropertiesService systemOptions;
5659

5760

5861
@Qualifier("taskExecutor") // Specify the custom task executor to use
@@ -61,6 +64,9 @@ public class SshProxyShellHandler implements Factory<Command> {
6164

6265
@Override
6366
public Command create() {
67+
if (Boolean.valueOf( systemOptions.getProperty("lockdownEnabled", "false"))) {
68+
throw new RuntimeException("SSH access is disabled by system lockdown");
69+
}
6470
var sessionRoute =
6571
SessionRoute.builder().sshListenerService(sshListenerService).terminalSessionMetadataService(terminalSessionMetadataService).cryptoService(cryptoService).hostGroupService(hostGroupService).terminalService(terminalService).sessionService(sessionService).build();
6672
return new SshProxyShell(

0 commit comments

Comments
 (0)