console1984 0.1.18 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +21 -0
- data/app/models/console1984/session/incineratable.rb +1 -1
- data/lib/console1984/ext/socket/tcp_socket.rb +2 -2
- data/lib/console1984/refrigerator.rb +1 -0
- data/lib/console1984/shield/modes/protected.rb +5 -0
- data/lib/console1984/version.rb +1 -1
- data/lib/console1984.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 688301b16bc228224855392b24a0e4159a4e03acc4d1512f918a2c6a87a73ce1
|
4
|
+
data.tar.gz: 72433eff8fb2d85f7faa44653b653231da3081e1766f7e1f2303b7af628f095e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d554267c6099abfc1b1a2f2aca9341adb13060f6cc007122a2cf172a76f2a4fa871959adc33dec2e01581e279f94cad9370a5aefb5f186bcfce0f8d85a652e12
|
7
|
+
data.tar.gz: f3074ebd12bf9547a54d4bfba5733fa5552bfa5cc809b2e8c1fd0191e90e925ba3817e8f4cdbbc5d08b5b67fd0ebc1c8cabf7da3bfec26a8bdb7848f84c1b718
|
data/README.md
CHANGED
@@ -156,6 +156,27 @@ These config options are namespaced in `config.console1984`:
|
|
156
156
|
| `incinerate_after` | The period to keep sessions around before incinerate them. Default `30.days`. |
|
157
157
|
| `incineration_queue` | The name of the queue for session incineration jobs. Default `console1984_incineration`. |
|
158
158
|
|
159
|
+
### SSH Config
|
160
|
+
|
161
|
+
To automatically set the `CONSOLE_USER` env var for sessions, you'll need to configure SSH on the server to accept the environment variable.
|
162
|
+
|
163
|
+
On the server, edit `/etc/ssh/sshd_config` to accept the environment variable:
|
164
|
+
```
|
165
|
+
AcceptEnv LANG LC_* CONSOLE_USER
|
166
|
+
```
|
167
|
+
|
168
|
+
Restart the SSH server to use the new config:
|
169
|
+
```bash
|
170
|
+
service sshd restart
|
171
|
+
```
|
172
|
+
|
173
|
+
On the client side, you can provide this env var from your clients by adding the variable to the ssh config:
|
174
|
+
|
175
|
+
```
|
176
|
+
Host *
|
177
|
+
SetEnv CONSOLE_USER=david
|
178
|
+
```
|
179
|
+
|
159
180
|
## About built-in protection mechanisms
|
160
181
|
|
161
182
|
`console1984` adds many protection mechanisms to prevent tampering. This includes attempts to alter data in auditing tables or monkey patching certain classes to change how the system works. If you find a way to circumvent these tampering controls, please [report an issue](https://github.com/basecamp/console1984/issues).
|
@@ -6,6 +6,11 @@ class Console1984::Shield::Modes::Protected
|
|
6
6
|
|
7
7
|
thread_mattr_accessor :currently_protected_urls, default: []
|
8
8
|
|
9
|
+
# Materialize the thread attribute before freezing the class. +thread_mattr_accessor+ attributes rely on
|
10
|
+
# setting a class variable the first time they are referenced, and that will fail in frozen classes
|
11
|
+
# like this one.
|
12
|
+
currently_protected_urls
|
13
|
+
|
9
14
|
def execute(&block)
|
10
15
|
protecting(&block)
|
11
16
|
end
|
data/lib/console1984/version.rb
CHANGED
data/lib/console1984.rb
CHANGED
@@ -38,7 +38,7 @@ class_loader.setup
|
|
38
38
|
# the console. For example, to prevent the user from deleting audit trails. See
|
39
39
|
# Console1984::Shield and Console1984::CommandValidator to learn more.
|
40
40
|
module Console1984
|
41
|
-
include Messages
|
41
|
+
include Messages
|
42
42
|
|
43
43
|
mattr_accessor :supervisor, default: Supervisor.new
|
44
44
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: console1984
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jorge Manrubia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '7.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '7.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: benchmark-ips
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -261,14 +261,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
261
261
|
requirements:
|
262
262
|
- - ">="
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version:
|
264
|
+
version: 2.7.0
|
265
265
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
266
|
requirements:
|
267
267
|
- - ">="
|
268
268
|
- !ruby/object:Gem::Version
|
269
269
|
version: '0'
|
270
270
|
requirements: []
|
271
|
-
rubygems_version: 3.
|
271
|
+
rubygems_version: 3.2.32
|
272
272
|
signing_key:
|
273
273
|
specification_version: 4
|
274
274
|
summary: Your Rails console, 1984 style
|