feat[lib,readme] Added -s flag
Added -s security flag. Added image to readme
This commit is contained in:
parent
99aa9bb433
commit
31b4a31d60
BIN
.assets/lisplogo_128.png
Normal file
BIN
.assets/lisplogo_128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
@ -12,10 +12,14 @@ and an easy-to-use command-line interface.
|
|||||||
* Features
|
* Features
|
||||||
- [X] Edit systemd files from the command-line
|
- [X] Edit systemd files from the command-line
|
||||||
- [X] =-b= backup flag to save .systemd files into LOCATION.
|
- [X] =-b= backup flag to save .systemd files into LOCATION.
|
||||||
- [ ] =-s= security flag to apply quick configurations
|
- [X] =-s= security flag to apply quick configurations
|
||||||
|
- [ ] =-S= security flag for extreme security.
|
||||||
|
- [ ] =-n= security flag to block network reconfig
|
||||||
- [ ] Default configurations for common services
|
- [ ] Default configurations for common services
|
||||||
- [ ] Automatic Apache and Nginx =READWRITEPATHS= detection
|
- [ ] Automatic Apache and Nginx =READWRITEPATHS= detection
|
||||||
|
|
||||||
|
[[file:.assets/lisplogo_128.png][Lisp logo]]
|
||||||
|
|
||||||
* Building
|
* Building
|
||||||
The makefile is set up for steel bank common lisp, but it should be trivial to use another implementation that loads =asdf=.
|
The makefile is set up for steel bank common lisp, but it should be trivial to use another implementation that loads =asdf=.
|
||||||
As of [2023-12-20] I have not knowingly used any sbcl-specific features.
|
As of [2023-12-20] I have not knowingly used any sbcl-specific features.
|
||||||
|
13
lib/preconfigs.lisp
Normal file
13
lib/preconfigs.lisp
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
; This file will contain prebaked settings designed to be dropped in.
|
||||||
|
|
||||||
|
(in-package :sst-drop-ins)
|
||||||
|
(defparameter *security-drop-ins*
|
||||||
|
'("ProtectSystem=full"
|
||||||
|
"InaccessiblePaths=/etc/shadow"
|
||||||
|
"ProtectKernelLogs=true"
|
||||||
|
"ProtectKernelModules=true"
|
||||||
|
"ProtectKernelTunables=true"
|
||||||
|
"LockPersonality=true"
|
||||||
|
"ProtectControlGroups=true"
|
||||||
|
))
|
@ -21,3 +21,7 @@
|
|||||||
(defpackage :sst-edit
|
(defpackage :sst-edit
|
||||||
(:use :common-lisp)
|
(:use :common-lisp)
|
||||||
(:export :add-settings))
|
(:export :add-settings))
|
||||||
|
|
||||||
|
(defpackage :sst-drop-ins
|
||||||
|
(:use :common-lisp)
|
||||||
|
(:export :*security-drop-ins*))
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
(uiop:copy-file file (merge-pathnames backup)))
|
(uiop:copy-file file (merge-pathnames backup)))
|
||||||
;; Apply the settings to the file.
|
;; Apply the settings to the file.
|
||||||
(let ((settings-table (systemd-parse:read-service file)))
|
(let ((settings-table (systemd-parse:read-service file)))
|
||||||
|
(if secure
|
||||||
|
(sst-edit:add-settings sst-drop-ins:*security-drop-ins* settings-table))
|
||||||
(sst-edit:add-settings direct-settings settings-table) ; Inject all the settings options required
|
(sst-edit:add-settings direct-settings settings-table) ; Inject all the settings options required
|
||||||
(systemd-parse:write-service file settings-table)))
|
(systemd-parse:write-service file settings-table)))
|
||||||
|
|
||||||
|
5
sst.asd
5
sst.asd
@ -23,7 +23,10 @@
|
|||||||
(:file "ui")
|
(:file "ui")
|
||||||
(:file "edit")
|
(:file "edit")
|
||||||
(:file "main")
|
(:file "main")
|
||||||
)))
|
))
|
||||||
|
(:module "lib"
|
||||||
|
:serial t
|
||||||
|
:components ((:file "preconfigs"))))
|
||||||
:author "Judah Sotomayor <development@freedomland.xyz>"
|
:author "Judah Sotomayor <development@freedomland.xyz>"
|
||||||
:maintainer "Judah Sotomayor <development@freedomland.xyz>"
|
:maintainer "Judah Sotomayor <development@freedomland.xyz>"
|
||||||
:license "GPLv3"
|
:license "GPLv3"
|
||||||
|
@ -12,12 +12,18 @@ Type=notify
|
|||||||
Sockets=dbus.socket
|
Sockets=dbus.socket
|
||||||
OOMScoreAdjust=-900
|
OOMScoreAdjust=-900
|
||||||
LimitNOFILE=16384
|
LimitNOFILE=16384
|
||||||
ProtectSystem=full
|
ProtectSystem=strict
|
||||||
PrivateTmp=false
|
PrivateTmp=false
|
||||||
PrivateDevices=true
|
PrivateDevices=true
|
||||||
ExecStart=/usr/bin/dbus-broker-launch --scope system --audit
|
ExecStart=/usr/bin/dbus-broker-launch --scope system --audit
|
||||||
ExecReload=/usr/bin/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig
|
ExecReload=/usr/bin/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig
|
||||||
NewBinding=Yes
|
NewBinding=Yes
|
||||||
|
InaccessiblePaths=/etc/shadow
|
||||||
|
ProtectKernelLogs=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
LockPersonality=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
Alias=dbus.service
|
Alias=dbus.service
|
||||||
|
Loading…
Reference in New Issue
Block a user