Privileged access
Privileged access management: nobody holds standing access to your machines
In MoxiVue, a technician cannot simply open a root shell. Terminals, forwards and SSH start switched off; an owner or admin switches them on for a place, a second console confirms, each session can be asked for at the machine, it ends by itself, sudo is confirmed command by command or kept to owners and admins, and the session is recorded and sealed. Every step is a signed entry you can check without us.
Nobody has standing access: every way in starts switched off
A machine that joins your account gets no terminal, no forward and no SSH. An owner or admin switches each on for the whole account, a site, a group or one machine, and it counts only when a second owner or admin console confirms it.
In detail
- Off as installed. Terminals and forwards are off until an owner or admin whose place covers the machine switches them on; SSH from the account is off until an owner switches it on (
moxivue ssh-host on). Each change is proposed by one console and counts only when another eligible owner or admin console confirms it, after the computer's own password unlocks it. - Only the roles that may. Viewers and auditors never get a session. Operators, admins and owners get one only on machines their site or group covers, and only from a console that is not a script's automation device.
- Root on the machine has the last word. Which kinds of root work a machine accepts (sessions, their sudo, updates, restarts, packet capture) is switched by root on the machine itself (
sudo moxivue machine kinds), never from the account. - Admin computers host nothing. A computer that holds an owner's or admin's console of the account opens no session for anyone else: a shell there could reach that console's keys.
Each session is approved, and each one ends
The setting names which consoles may connect, and it can ask the person at the machine every time. A session ends after 15 minutes without typing or 8 hours in all, and the machine shows it with an End button.
In detail
- Allowed consoles. The switch for a place lists the consoles that may open sessions there; any other is refused, whatever its role.
- Asked each time. With that setting on, a prompt on the machine names the console that wants in; no answer within a minute means no. The person at the computer sees a notice for every connection either way.
- Checked again and again. The machine checks the console's role, place and state from its own copy of your account's signed log when the session opens and every 30 seconds after, at an account state both witnesses countersigned within the last hour. Without such a state it opens nothing.
- An end you can see. 15 minutes without typing or 8 hours in all, a banner while it is open, and End on the machine.
- The console unlocks first. Opening a session, confirming a change and granting a key need the console unlocked with its computer's own password, for 15 minutes at most, counting time asleep; it locks with the screen.
sudo is confirmed command by command, or exists only in owners' and admins' own accounts
A session's shell never starts as root. When someone types sudo in it, the console that opened the session must confirm that exact command within 30 seconds, and only an owner's or admin's console can.
In detail
- Not root, not the agent. The shell runs in the account
moxivue-session, or in the person's own account when personal accounts are on (below); never as root and never as the system user that holds the machine's keys. - A signed yes for one command. sudo asks the machine's root executor, a separate small root program, which waits for a request signed by the console that opened the session, naming that session and that command, and checks it against its own copy of the log. There is no password on the machine to steal and no cached sudo. An owner can switch sudo in sessions off for a place.
- Owners and admins only. An operator's session gets no sudo. With personal accounts on, owners and admins have sudo in their own accounts without a confirmation per command, and operators have none; every session there is still recorded.
- Other root work the same way. Updates, restarts and packet capture run only on a request signed by an owner's or admin's console whose place covers the machine, checked by the root executor at a fresh countersigned account state, each request once, each with the executor's own signed record.
SSH keys are granted for a machine and a time, and your private key never leaves your computer
An owner grants one console's public key on one machine for at most 30 days. Your ssh connects through MoxiVue's channel to the machine; the private key stays where it is.
In detail
- Grants, not copies.
moxivue ssh grant <machine> --to <console> --key <key>, signed by an owner, at most 30 days. Keys for scripts with nobody present go only to automation consoles with the operator role. - Only through MoxiVue. The machine puts the public key into that person's own account, marked to work only for connections from the machine itself, which is where MoxiVue's channel arrives; it refuses it after its end date and removes it when the grant ends.
- Your own ssh and host keys.
moxivue ssh <machine>runs the ssh already on your computer with MoxiVue as its transport. SSH sessions with the account's keys are recorded like terminal sessions.
Each person gets a Linux account of their own, made and removed by the machine
Switch on personal accounts and every person in a place gets their own account on its machines, made by the root executor from your account's signed log. Nobody shares a root login, and a person who leaves loses the account.
In detail
- Off until an owner switches it on, for the account, a site or a machine, with a second console's confirmation (
moxivue users on). - From the log, not by hand. Accounts named
mx-<person>follow the log: owners and admins in the group with sudo, operators without, viewers none. Taking access away happens at once; adding it waits for a fresh countersigned account state. - No fresh state, no login. If a machine sees no countersigned account state for 24 hours, it locks every personal account until it does, so a machine cut off from the account cannot keep a removed person in.
Every session is recorded and sealed, and a session that cannot be recorded does not start
What a terminal or SSH session shows is recorded, sealed on the machine to the owners, admins and auditors whose place covers it, and kept 90 days unless an owner sets 30 to 400. The person in the session is told.
In detail
- Sealed for the right people only. Each session gets a key of its own, sealed to the consoles that may play it. Our server stores the recording without being able to open it.
- No recording, no session. The session starts with a line saying it is recorded, and does not start if its recording cannot be written. An owner can switch recording off for a place; that change is itself a signed, confirmed entry.
- What is recorded. What the session shows, with its timing; typing is not recorded, so passwords typed at a prompt are not in it. Playing or exporting a recording is recorded first.
Every grant, approval, session and removal is signed, and an auditor can check it without us
Switching access on, confirming it, granting a key, opening a session, using sudo and removing a person are all signed: changes in your account's log, sessions in the records of the machine they ran on. An auditor role reads them and plays recordings, and can do nothing else.
In detail
- Signed where it happened. The machine that served a session signs and seals its own record of it; the root executor signs its own record of every root action; the console that asked signs its request.
- An auditor console. An owner makes a console an auditor of the account, a site or a group (a second console confirms). It reads the log and the records and plays and exports recordings of its place; machines refuse it everything else.
- Checked without our program.
moxivue audit export --dir <folder>writes the log, the records, the recordings you may read and a manifest signed by the exporting console; verify-audit5.py, plain Python with only its standard library, checks the log from its first entry, every signature and every rule of who may do what. The export format
Taking access away reaches every machine within an hour, and open sessions end
Remove a person or a console and the removal counts once both witnesses countersign it. Machines refuse that console from then on, at most an hour later, and end its open sessions at their next 30-second check.
In detail
- A frozen console signs nothing. From the confirmation of a removal, demotion or move, the console concerned gets no new session and can sign nothing but its own leaving.
- New keys for what comes next. The removal starts new keys for its places, so a removed console cannot open anything sealed after it.
- The limit. A machine that has not yet seen the countersigned removal can take that console's requests for up to an hour.
Our server cannot grant access or start a session
The Dispatcher carries the connections, but machines take requests only from consoles in your account's signed log, and every connection is bound to keys from that log. A request the Dispatcher made up, changed or replayed is refused.
In detail
Every change to who may do what is an entry signed by your own consoles, and every machine checks every entry from the first one. We test this against a Dispatcher run by an attacker that drops, delays, reorders, replays, changes and invents messages; how we test it.
What to ask of any remote-management tool, and MoxiVue's answers
Remote-management tools differ in how much a technician can do on a machine without anyone else knowing. These are the questions to ask.
| Ask | MoxiVue |
|---|---|
| Can a technician open a root shell on a machine at any time? | No. Sessions start switched off, a second console confirms switching them on, the shell is never root, and sudo is confirmed per command or kept to owners and admins. |
| Who approves a session, and does it end by itself? | The setting names the consoles; the machine can ask each time; 15 minutes idle or 8 hours. |
| Do technicians share an admin login? | No. With personal accounts on, each person has their own, made and removed from the log. |
| Where do SSH keys live, and for how long? | The private key stays on the technician's computer; the public key is granted for one machine, at most 30 days. |
| Is every session recorded, and who can play it? | Yes; sealed to owners, admins and auditors of that place; no recording, no session. |
| Can you check the record without the vendor? | Yes, with a script in plain Python that checks every signature and rule. |
| Can the vendor's server grant itself access? | No. It holds no key that lets it add a console or make a machine act. |
What it is not (yet)
- No password vault. MoxiVue does not store or hand out passwords for other systems.
- Linux only in this version. macOS returns in a later version; Windows is planned.
- People can be fooled. A confirmer who is talked into confirming confirms; the second console makes that one more person to fool, not none.
- Root on a machine is outside it. Root can stop or change MoxiVue there; that is recorded, not prevented. A confirmed
sudo -igives a root shell for the rest of the session, which is still recorded. - A machine records itself. A machine that has been taken over could leave out or change its own records and recordings.
- Only what goes through MoxiVue. ssh typed by hand with keys you placed yourself is not recorded.
Give technicians access when they need it, and a record of what they did.
Install MoxiVue Console, set up your account, and decide for each place who may open what.