kastell 2.2.0 → 2.2.1

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.
Files changed (292) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +39 -0
  3. package/CHANGELOG.md +1266 -1266
  4. package/LICENSE +201 -201
  5. package/NOTICE +5 -5
  6. package/bin/kastell +2 -2
  7. package/bin/kastell-mcp +5 -5
  8. package/dist/adapters/coolify.js +92 -92
  9. package/dist/adapters/dokploy.js +99 -99
  10. package/dist/adapters/shared.d.ts.map +1 -1
  11. package/dist/adapters/shared.js +4 -2
  12. package/dist/adapters/shared.js.map +1 -1
  13. package/dist/commands/add.d.ts.map +1 -1
  14. package/dist/commands/add.js +6 -9
  15. package/dist/commands/add.js.map +1 -1
  16. package/dist/commands/auth.d.ts.map +1 -1
  17. package/dist/commands/auth.js +12 -12
  18. package/dist/commands/auth.js.map +1 -1
  19. package/dist/commands/doctor.js +1 -1
  20. package/dist/commands/doctor.js.map +1 -1
  21. package/dist/commands/evidence.d.ts.map +1 -1
  22. package/dist/commands/evidence.js +8 -9
  23. package/dist/commands/evidence.js.map +1 -1
  24. package/dist/commands/fix.js +3 -3
  25. package/dist/commands/fix.js.map +1 -1
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +4 -7
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/interactive/backup-maintenance.d.ts +8 -0
  30. package/dist/commands/interactive/backup-maintenance.d.ts.map +1 -0
  31. package/dist/commands/interactive/backup-maintenance.js +120 -0
  32. package/dist/commands/interactive/backup-maintenance.js.map +1 -0
  33. package/dist/commands/interactive/index.d.ts +4 -0
  34. package/dist/commands/interactive/index.d.ts.map +1 -0
  35. package/dist/commands/interactive/index.js +94 -0
  36. package/dist/commands/interactive/index.js.map +1 -0
  37. package/dist/commands/interactive/menu.d.ts +23 -0
  38. package/dist/commands/interactive/menu.d.ts.map +1 -0
  39. package/dist/commands/interactive/menu.js +121 -0
  40. package/dist/commands/interactive/menu.js.map +1 -0
  41. package/dist/commands/interactive/monitoring.d.ts +5 -0
  42. package/dist/commands/interactive/monitoring.d.ts.map +1 -0
  43. package/dist/commands/interactive/monitoring.js +96 -0
  44. package/dist/commands/interactive/monitoring.js.map +1 -0
  45. package/dist/commands/interactive/plugins.d.ts +2 -0
  46. package/dist/commands/interactive/plugins.d.ts.map +1 -0
  47. package/dist/commands/interactive/plugins.js +30 -0
  48. package/dist/commands/interactive/plugins.js.map +1 -0
  49. package/dist/commands/interactive/security.d.ts +9 -0
  50. package/dist/commands/interactive/security.d.ts.map +1 -0
  51. package/dist/commands/interactive/security.js +535 -0
  52. package/dist/commands/interactive/security.js.map +1 -0
  53. package/dist/commands/interactive/server-management.d.ts +5 -0
  54. package/dist/commands/interactive/server-management.d.ts.map +1 -0
  55. package/dist/commands/interactive/server-management.js +79 -0
  56. package/dist/commands/interactive/server-management.js.map +1 -0
  57. package/dist/commands/interactive/shared.d.ts +12 -0
  58. package/dist/commands/interactive/shared.d.ts.map +1 -0
  59. package/dist/commands/interactive/shared.js +30 -0
  60. package/dist/commands/interactive/shared.js.map +1 -0
  61. package/dist/commands/lock.js +1 -1
  62. package/dist/commands/lock.js.map +1 -1
  63. package/dist/commands/regression.d.ts.map +1 -1
  64. package/dist/commands/regression.js +1 -2
  65. package/dist/commands/regression.js.map +1 -1
  66. package/dist/commands/restart.d.ts.map +1 -1
  67. package/dist/commands/restart.js +3 -2
  68. package/dist/commands/restart.js.map +1 -1
  69. package/dist/commands/schedule.js +2 -2
  70. package/dist/commands/schedule.js.map +1 -1
  71. package/dist/core/audit/formatters/badge.js +20 -20
  72. package/dist/core/backup.d.ts.map +1 -1
  73. package/dist/core/backup.js +10 -5
  74. package/dist/core/backup.js.map +1 -1
  75. package/dist/core/completions.js +631 -631
  76. package/dist/core/deploy.d.ts.map +1 -1
  77. package/dist/core/deploy.js +7 -4
  78. package/dist/core/deploy.js.map +1 -1
  79. package/dist/core/lock/auth.d.ts +7 -0
  80. package/dist/core/lock/auth.d.ts.map +1 -0
  81. package/dist/core/lock/auth.js +59 -0
  82. package/dist/core/lock/auth.js.map +1 -0
  83. package/dist/core/lock/docker.d.ts +4 -0
  84. package/dist/core/lock/docker.d.ts.map +1 -0
  85. package/dist/core/lock/docker.js +28 -0
  86. package/dist/core/lock/docker.js.map +1 -0
  87. package/dist/core/lock/index.d.ts +11 -0
  88. package/dist/core/lock/index.d.ts.map +1 -0
  89. package/dist/core/lock/index.js +247 -0
  90. package/dist/core/lock/index.js.map +1 -0
  91. package/dist/core/lock/monitoring.d.ts +4 -0
  92. package/dist/core/lock/monitoring.d.ts.map +1 -0
  93. package/dist/core/lock/monitoring.js +55 -0
  94. package/dist/core/lock/monitoring.js.map +1 -0
  95. package/dist/core/lock/network.d.ts +6 -0
  96. package/dist/core/lock/network.d.ts.map +1 -0
  97. package/dist/core/lock/network.js +59 -0
  98. package/dist/core/lock/network.js.map +1 -0
  99. package/dist/core/lock/ssh.d.ts +5 -0
  100. package/dist/core/lock/ssh.d.ts.map +1 -0
  101. package/dist/core/lock/ssh.js +49 -0
  102. package/dist/core/lock/ssh.js.map +1 -0
  103. package/dist/core/lock/system.d.ts +9 -0
  104. package/dist/core/lock/system.d.ts.map +1 -0
  105. package/dist/core/lock/system.js +80 -0
  106. package/dist/core/lock/system.js.map +1 -0
  107. package/dist/core/lock/types.d.ts +41 -0
  108. package/dist/core/lock/types.d.ts.map +1 -0
  109. package/dist/core/lock/types.js +2 -0
  110. package/dist/core/lock/types.js.map +1 -0
  111. package/dist/core/maintain.d.ts.map +1 -1
  112. package/dist/core/maintain.js +3 -1
  113. package/dist/core/maintain.js.map +1 -1
  114. package/dist/core/manage.d.ts.map +1 -1
  115. package/dist/core/manage.js +5 -3
  116. package/dist/core/manage.js.map +1 -1
  117. package/dist/core/notifyStore.d.ts.map +1 -1
  118. package/dist/core/notifyStore.js +3 -1
  119. package/dist/core/notifyStore.js.map +1 -1
  120. package/dist/core/provision.d.ts.map +1 -1
  121. package/dist/core/provision.js +9 -4
  122. package/dist/core/provision.js.map +1 -1
  123. package/dist/core/scheduleManager.d.ts.map +1 -1
  124. package/dist/core/scheduleManager.js +5 -2
  125. package/dist/core/scheduleManager.js.map +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/mcp/schemas/audit.d.ts +34 -0
  129. package/dist/mcp/schemas/audit.d.ts.map +1 -0
  130. package/dist/mcp/schemas/audit.js +23 -0
  131. package/dist/mcp/schemas/audit.js.map +1 -0
  132. package/dist/mcp/schemas/common.d.ts +16 -0
  133. package/dist/mcp/schemas/common.d.ts.map +1 -0
  134. package/dist/mcp/schemas/common.js +14 -0
  135. package/dist/mcp/schemas/common.js.map +1 -0
  136. package/dist/mcp/schemas/health.d.ts +14 -0
  137. package/dist/mcp/schemas/health.d.ts.map +1 -0
  138. package/dist/mcp/schemas/health.js +13 -0
  139. package/dist/mcp/schemas/health.js.map +1 -0
  140. package/dist/mcp/schemas/index.d.ts +5 -0
  141. package/dist/mcp/schemas/index.d.ts.map +1 -0
  142. package/dist/mcp/schemas/index.js +5 -0
  143. package/dist/mcp/schemas/index.js.map +1 -0
  144. package/dist/mcp/schemas/server.d.ts +18 -0
  145. package/dist/mcp/schemas/server.d.ts.map +1 -0
  146. package/dist/mcp/schemas/server.js +16 -0
  147. package/dist/mcp/schemas/server.js.map +1 -0
  148. package/dist/mcp/server.d.ts.map +1 -1
  149. package/dist/mcp/server.js +56 -39
  150. package/dist/mcp/server.js.map +1 -1
  151. package/dist/mcp/tools/serverAudit.d.ts +63 -1
  152. package/dist/mcp/tools/serverAudit.d.ts.map +1 -1
  153. package/dist/mcp/tools/serverAudit.js +63 -6
  154. package/dist/mcp/tools/serverAudit.js.map +1 -1
  155. package/dist/mcp/tools/serverBackup.d.ts +100 -2
  156. package/dist/mcp/tools/serverBackup.d.ts.map +1 -1
  157. package/dist/mcp/tools/serverBackup.handlers.d.ts.map +1 -1
  158. package/dist/mcp/tools/serverBackup.handlers.js +9 -0
  159. package/dist/mcp/tools/serverBackup.handlers.js.map +1 -1
  160. package/dist/mcp/tools/serverBackup.js +74 -0
  161. package/dist/mcp/tools/serverBackup.js.map +1 -1
  162. package/dist/mcp/tools/serverCompare.d.ts +33 -0
  163. package/dist/mcp/tools/serverCompare.d.ts.map +1 -1
  164. package/dist/mcp/tools/serverCompare.js +45 -2
  165. package/dist/mcp/tools/serverCompare.js.map +1 -1
  166. package/dist/mcp/tools/serverDoctor.d.ts +14 -0
  167. package/dist/mcp/tools/serverDoctor.d.ts.map +1 -1
  168. package/dist/mcp/tools/serverDoctor.js +15 -0
  169. package/dist/mcp/tools/serverDoctor.js.map +1 -1
  170. package/dist/mcp/tools/serverEvidence.d.ts +13 -0
  171. package/dist/mcp/tools/serverEvidence.d.ts.map +1 -1
  172. package/dist/mcp/tools/serverEvidence.js +17 -2
  173. package/dist/mcp/tools/serverEvidence.js.map +1 -1
  174. package/dist/mcp/tools/serverExplain.d.ts +17 -0
  175. package/dist/mcp/tools/serverExplain.d.ts.map +1 -1
  176. package/dist/mcp/tools/serverExplain.js +33 -1
  177. package/dist/mcp/tools/serverExplain.js.map +1 -1
  178. package/dist/mcp/tools/serverFix.d.ts +78 -0
  179. package/dist/mcp/tools/serverFix.d.ts.map +1 -1
  180. package/dist/mcp/tools/serverFix.js +84 -0
  181. package/dist/mcp/tools/serverFix.js.map +1 -1
  182. package/dist/mcp/tools/serverFleet.d.ts +24 -1
  183. package/dist/mcp/tools/serverFleet.d.ts.map +1 -1
  184. package/dist/mcp/tools/serverFleet.js +24 -1
  185. package/dist/mcp/tools/serverFleet.js.map +1 -1
  186. package/dist/mcp/tools/serverGuard.d.ts +12 -0
  187. package/dist/mcp/tools/serverGuard.d.ts.map +1 -1
  188. package/dist/mcp/tools/serverGuard.js +16 -0
  189. package/dist/mcp/tools/serverGuard.js.map +1 -1
  190. package/dist/mcp/tools/serverInfo.d.ts +77 -1
  191. package/dist/mcp/tools/serverInfo.d.ts.map +1 -1
  192. package/dist/mcp/tools/serverInfo.js +77 -4
  193. package/dist/mcp/tools/serverInfo.js.map +1 -1
  194. package/dist/mcp/tools/serverLock.d.ts +10 -0
  195. package/dist/mcp/tools/serverLock.d.ts.map +1 -1
  196. package/dist/mcp/tools/serverLock.js +15 -3
  197. package/dist/mcp/tools/serverLock.js.map +1 -1
  198. package/dist/mcp/tools/serverLogs.d.ts +43 -0
  199. package/dist/mcp/tools/serverLogs.d.ts.map +1 -1
  200. package/dist/mcp/tools/serverLogs.js +28 -0
  201. package/dist/mcp/tools/serverLogs.js.map +1 -1
  202. package/dist/mcp/tools/serverMaintain.d.ts +47 -0
  203. package/dist/mcp/tools/serverMaintain.d.ts.map +1 -1
  204. package/dist/mcp/tools/serverMaintain.js +75 -41
  205. package/dist/mcp/tools/serverMaintain.js.map +1 -1
  206. package/dist/mcp/tools/serverManage.d.ts +50 -0
  207. package/dist/mcp/tools/serverManage.d.ts.map +1 -1
  208. package/dist/mcp/tools/serverManage.js +49 -0
  209. package/dist/mcp/tools/serverManage.js.map +1 -1
  210. package/dist/mcp/tools/serverPlugin.d.ts +18 -0
  211. package/dist/mcp/tools/serverPlugin.d.ts.map +1 -1
  212. package/dist/mcp/tools/serverPlugin.js +26 -1
  213. package/dist/mcp/tools/serverPlugin.js.map +1 -1
  214. package/dist/mcp/tools/serverProvision.d.ts +22 -0
  215. package/dist/mcp/tools/serverProvision.d.ts.map +1 -1
  216. package/dist/mcp/tools/serverProvision.js +22 -2
  217. package/dist/mcp/tools/serverProvision.js.map +1 -1
  218. package/dist/mcp/tools/serverSecure.d.ts +120 -0
  219. package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
  220. package/dist/mcp/tools/serverSecure.handlers.d.ts.map +1 -1
  221. package/dist/mcp/tools/serverSecure.handlers.js +39 -98
  222. package/dist/mcp/tools/serverSecure.handlers.js.map +1 -1
  223. package/dist/mcp/tools/serverSecure.js +101 -0
  224. package/dist/mcp/tools/serverSecure.js.map +1 -1
  225. package/dist/mcp/utils.d.ts +1 -0
  226. package/dist/mcp/utils.d.ts.map +1 -1
  227. package/dist/mcp/utils.js +5 -1
  228. package/dist/mcp/utils.js.map +1 -1
  229. package/dist/plugin/registry.d.ts.map +1 -1
  230. package/dist/plugin/registry.js +5 -3
  231. package/dist/plugin/registry.js.map +1 -1
  232. package/dist/providers/linode.d.ts +1 -0
  233. package/dist/providers/linode.d.ts.map +1 -1
  234. package/dist/providers/linode.js +4 -0
  235. package/dist/providers/linode.js.map +1 -1
  236. package/dist/utils/cloudInit.js +58 -58
  237. package/dist/utils/config.d.ts +3 -0
  238. package/dist/utils/config.d.ts.map +1 -1
  239. package/dist/utils/config.js +11 -6
  240. package/dist/utils/config.js.map +1 -1
  241. package/dist/utils/encryption.d.ts.map +1 -1
  242. package/dist/utils/encryption.js +4 -1
  243. package/dist/utils/encryption.js.map +1 -1
  244. package/dist/utils/migration.d.ts.map +1 -1
  245. package/dist/utils/migration.js +25 -14
  246. package/dist/utils/migration.js.map +1 -1
  247. package/dist/utils/safeMode.d.ts.map +1 -1
  248. package/dist/utils/safeMode.js +3 -2
  249. package/dist/utils/safeMode.js.map +1 -1
  250. package/dist/utils/securityLogger.d.ts.map +1 -1
  251. package/dist/utils/securityLogger.js +7 -3
  252. package/dist/utils/securityLogger.js.map +1 -1
  253. package/kastell-plugin/.claude-plugin/plugin.json +20 -0
  254. package/kastell-plugin/.mcp.json +8 -0
  255. package/kastell-plugin/README.md +113 -0
  256. package/kastell-plugin/agents/.gitkeep +0 -0
  257. package/kastell-plugin/agents/kastell-auditor.md +77 -0
  258. package/kastell-plugin/agents/scripts/bucket_mapper.sh +101 -0
  259. package/kastell-plugin/agents/scripts/trend_report.sh +91 -0
  260. package/kastell-plugin/hooks/destroy-block.cjs +31 -0
  261. package/kastell-plugin/hooks/hooks.json +57 -0
  262. package/kastell-plugin/hooks/pre-commit-audit-guard.cjs +75 -0
  263. package/kastell-plugin/hooks/session-audit.cjs +86 -0
  264. package/kastell-plugin/hooks/session-log.cjs +56 -0
  265. package/kastell-plugin/hooks/stop-quality-check.cjs +72 -0
  266. package/kastell-plugin/skills/.gitkeep +0 -0
  267. package/kastell-plugin/skills/kastell-careful/SKILL.md +64 -0
  268. package/kastell-plugin/skills/kastell-ops/SKILL.md +139 -0
  269. package/kastell-plugin/skills/kastell-ops/references/commands.md +45 -0
  270. package/kastell-plugin/skills/kastell-ops/references/mcp-tools.md +50 -0
  271. package/kastell-plugin/skills/kastell-ops/references/patterns.md +145 -0
  272. package/kastell-plugin/skills/kastell-ops/references/pitfalls.md +136 -0
  273. package/kastell-plugin/skills/kastell-ops/scripts/check_coverage.sh +101 -0
  274. package/kastell-plugin/skills/kastell-ops/scripts/fleet_report.sh +73 -0
  275. package/kastell-plugin/skills/kastell-ops/scripts/parse_audit.sh +76 -0
  276. package/kastell-plugin/skills/kastell-research/SKILL.md +90 -0
  277. package/kastell-plugin/skills/kastell-scaffold/SKILL.md +104 -0
  278. package/kastell-plugin/skills/kastell-scaffold/references/template-audit-check.md +150 -0
  279. package/kastell-plugin/skills/kastell-scaffold/references/template-command.md +80 -0
  280. package/kastell-plugin/skills/kastell-scaffold/references/template-mcp-tool.md +72 -0
  281. package/kastell-plugin/skills/kastell-scaffold/references/template-provider.md +67 -0
  282. package/kastell-plugin/skills/kastell-scaffold/scripts/scaffold.sh +180 -0
  283. package/kastell-plugin/skills/kastell-scaffold/templates/check-test.ts.tpl +27 -0
  284. package/kastell-plugin/skills/kastell-scaffold/templates/check.ts.tpl +50 -0
  285. package/kastell-plugin/skills/kastell-scaffold/templates/command-core.ts.tpl +18 -0
  286. package/kastell-plugin/skills/kastell-scaffold/templates/command-test.ts.tpl +17 -0
  287. package/kastell-plugin/skills/kastell-scaffold/templates/command.ts.tpl +25 -0
  288. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool-test.ts.tpl +30 -0
  289. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool.ts.tpl +29 -0
  290. package/kastell-plugin/skills/kastell-scaffold/templates/provider-test.ts.tpl +34 -0
  291. package/kastell-plugin/skills/kastell-scaffold/templates/provider.ts.tpl +32 -0
  292. package/package.json +122 -115
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/core/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0BjE,6CAA6C;AAC7C,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BvF;AAgYD,wBAAsB,YAAY,CAChC,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,aAAa,EAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAsCpC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/core/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0BjE,6CAA6C;AAC7C,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BvF;AAmYD,wBAAsB,YAAY,CAChC,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,aAAa,EAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAsCpC"}
@@ -1,7 +1,7 @@
1
1
  import { isServerMode } from "../types/index.js";
2
2
  import { getBareCloudInit } from "../utils/cloudInit.js";
3
3
  import { getAdapter } from "../adapters/factory.js";
4
- import { logger, createSpinner } from "../utils/logger.js";
4
+ import { logger, debugLog, createSpinner } from "../utils/logger.js";
5
5
  import { getErrorMessage, mapProviderError } from "../utils/errorMapper.js";
6
6
  import { openBrowser } from "../utils/openBrowser.js";
7
7
  import { assertValidIp, removeStaleHostKey, sshExec } from "../utils/ssh.js";
@@ -168,8 +168,9 @@ async function waitForReady(providerWithToken, server, providerChoice, platform)
168
168
  currentIp = details.ip;
169
169
  break;
170
170
  }
171
- catch {
171
+ catch (error) {
172
172
  // Invalid IP format from API — skip and retry
173
+ debugLog?.("invalid IP format from provider API", { cause: error });
173
174
  }
174
175
  }
175
176
  refreshAttempts++;
@@ -209,8 +210,9 @@ async function barePostSetup(serverId, serverName, serverIp, fullSetup) {
209
210
  sshReady = true;
210
211
  break;
211
212
  }
212
- catch {
213
+ catch (error) {
213
214
  cloudInitSpinner.text = `Waiting for server to accept SSH... (attempt ${attempt}/60)`;
215
+ debugLog?.("SSH not ready during cloud-init", { cause: error });
214
216
  await new Promise((r) => setTimeout(r, POLL_DELAY_MS));
215
217
  }
216
218
  }
@@ -226,8 +228,9 @@ async function barePostSetup(serverId, serverName, serverIp, fullSetup) {
226
228
  cloudInitSpinner.warn("Cloud-init may not have finished — continuing anyway");
227
229
  }
228
230
  }
229
- catch {
231
+ catch (error) {
230
232
  cloudInitSpinner.warn("Could not check cloud-init status — continuing anyway");
233
+ debugLog?.("cloud-init status check failed", { cause: error });
231
234
  }
232
235
  }
233
236
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/core/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/core/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type SshCommand } from "../../utils/sshCommand.js";
2
+ export declare function buildAccountLockCommand(): SshCommand;
3
+ export declare function buildPwqualityCommand(): SshCommand;
4
+ export declare function buildLoginDefsCommand(): SshCommand;
5
+ export declare function buildFaillockCommand(): SshCommand;
6
+ export declare function buildSudoHardeningCommand(): SshCommand;
7
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/lock/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wBAAgB,uBAAuB,IAAI,UAAU,CAUpD;AAED,wBAAgB,qBAAqB,IAAI,UAAU,CAiBlD;AAED,wBAAgB,qBAAqB,IAAI,UAAU,CAalD;AAED,wBAAgB,oBAAoB,IAAI,UAAU,CAiBjD;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAUtD"}
@@ -0,0 +1,59 @@
1
+ import { raw } from "../../utils/sshCommand.js";
2
+ export function buildAccountLockCommand() {
3
+ return raw([
4
+ "for user in $(awk -F: '($3 >= 1000 && $3 < 65534 && ($7 == \"/bin/bash\" || $7 == \"/bin/sh\")) {print $1}' /etc/passwd); do",
5
+ " if ! who | grep -q \"^$user \"; then",
6
+ " passwd -l $user 2>/dev/null || true",
7
+ " fi",
8
+ "done",
9
+ ].join(" "));
10
+ }
11
+ export function buildPwqualityCommand() {
12
+ const conf = [
13
+ "minlen = 14",
14
+ "dcredit = -1",
15
+ "ucredit = -1",
16
+ "lcredit = -1",
17
+ "ocredit = -1",
18
+ "maxrepeat = 3",
19
+ ].join("\\n");
20
+ return raw([
21
+ "apt-cache show libpam-pwquality >/dev/null 2>&1 || { echo 'WARN: libpam-pwquality not available, skipping'; exit 0; }",
22
+ "DEBIAN_FRONTEND=noninteractive apt-get install -y libpam-pwquality",
23
+ `printf '${conf}\\n' > /etc/security/pwquality.conf`,
24
+ ].join(" && "));
25
+ }
26
+ export function buildLoginDefsCommand() {
27
+ const entries = [
28
+ ["PASS_MIN_DAYS", "1", "/etc/login.defs"],
29
+ ["PASS_WARN_AGE", "7", "/etc/login.defs"],
30
+ ["ENCRYPT_METHOD", "SHA512", "/etc/login.defs"],
31
+ ["UMASK", "027", "/etc/login.defs"],
32
+ ];
33
+ const lines = entries.map(([key, val, file]) => `grep -qE '^${key}' ${file} && sed -i 's/^${key}.*/${key} ${val}/' ${file} || echo '${key} ${val}' >> ${file}`);
34
+ const useradd = `grep -qE '^INACTIVE' /etc/default/useradd && sed -i 's/^INACTIVE.*/INACTIVE=30/' /etc/default/useradd || echo 'INACTIVE=30' >> /etc/default/useradd`;
35
+ return raw([...lines, useradd].join(" && "));
36
+ }
37
+ export function buildFaillockCommand() {
38
+ const directives = [
39
+ ["deny", "5"],
40
+ ["unlock_time", "900"],
41
+ ["fail_interval", "900"],
42
+ ];
43
+ const lines = directives.map(([key, val]) => `grep -qE '^${key}' /etc/security/faillock.conf 2>/dev/null && sed -i 's/^${key}.*/${key} = ${val}/' /etc/security/faillock.conf || echo '${key} = ${val}' >> /etc/security/faillock.conf`);
44
+ return raw([
45
+ "mkdir -p /etc/security",
46
+ ...lines,
47
+ "pam-auth-update --enable faillock 2>/dev/null || true",
48
+ ].join(" && "));
49
+ }
50
+ export function buildSudoHardeningCommand() {
51
+ return raw([
52
+ "mkdir -p /etc/sudoers.d",
53
+ `grep -qr 'log_output\\|syslog' /etc/sudoers /etc/sudoers.d/ 2>/dev/null || echo 'Defaults log_output' > /etc/sudoers.d/kastell-logging`,
54
+ "chmod 440 /etc/sudoers.d/kastell-logging 2>/dev/null || true",
55
+ `grep -qr 'requiretty' /etc/sudoers /etc/sudoers.d/ 2>/dev/null || echo 'Defaults requiretty' > /etc/sudoers.d/kastell-requiretty`,
56
+ "chmod 440 /etc/sudoers.d/kastell-requiretty 2>/dev/null || true",
57
+ ].join(" && "));
58
+ }
59
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/lock/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,uBAAuB;IACrC,OAAO,GAAG,CACR;QACE,8HAA8H;QAC9H,wCAAwC;QACxC,yCAAyC;QACzC,MAAM;QACN,MAAM;KACP,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,IAAI,GAAG;QACX,aAAa;QACb,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,eAAe;KAChB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,OAAO,GAAG,CACR;QACE,uHAAuH;QACvH,oEAAoE;QACpE,WAAW,IAAI,qCAAqC;KACrD,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAA+B;QAC1C,CAAC,eAAe,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACzC,CAAC,eAAe,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACzC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC;KACpC,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CACvB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CACnB,cAAc,GAAG,KAAK,IAAI,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,IAAI,aAAa,GAAG,IAAI,GAAG,QAAQ,IAAI,EAAE,CACjH,CAAC;IACF,MAAM,OAAO,GAAG,qJAAqJ,CAAC;IACtK,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,UAAU,GAAuB;QACrC,CAAC,MAAM,EAAE,GAAG,CAAC;QACb,CAAC,aAAa,EAAE,KAAK,CAAC;QACtB,CAAC,eAAe,EAAE,KAAK,CAAC;KACzB,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACb,cAAc,GAAG,2DAA2D,GAAG,MAAM,GAAG,MAAM,GAAG,2CAA2C,GAAG,MAAM,GAAG,kCAAkC,CAC7L,CAAC;IACF,OAAO,GAAG,CACR;QACE,wBAAwB;QACxB,GAAG,KAAK;QACR,uDAAuD;KACxD,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,GAAG,CACR;QACE,yBAAyB;QACzB,wIAAwI;QACxI,8DAA8D;QAC9D,kIAAkI;QAClI,iEAAiE;KAClE,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type SshCommand } from "../../utils/sshCommand.js";
2
+ import type { Platform } from "../../types/index.js";
3
+ export declare function buildDockerHardeningCommand(platform: Platform | undefined): SshCommand;
4
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../src/core/lock/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAgCtF"}
@@ -0,0 +1,28 @@
1
+ import { raw } from "../../utils/sshCommand.js";
2
+ export function buildDockerHardeningCommand(platform) {
3
+ const isCoolify = platform === "coolify";
4
+ const isDokploy = platform === "dokploy";
5
+ const settings = {
6
+ "log-driver": "json-file",
7
+ "log-opts": { "max-size": "10m", "max-file": "3" },
8
+ "no-new-privileges": true,
9
+ };
10
+ if (!isDokploy) {
11
+ settings["live-restore"] = true;
12
+ }
13
+ if (!isCoolify && !isDokploy) {
14
+ settings["icc"] = false;
15
+ }
16
+ const hardeningJson = JSON.stringify(settings);
17
+ return raw([
18
+ "command -v jq >/dev/null 2>&1 || { echo 'WARN: jq not found, skipping Docker hardening'; exit 0; }",
19
+ "command -v docker >/dev/null 2>&1 || { echo 'WARN: Docker not installed, skipping Docker hardening'; exit 0; }",
20
+ "mkdir -p /etc/docker && ([ -f /etc/docker/daemon.json ] || echo '{}' > /etc/docker/daemon.json)",
21
+ "cp /etc/docker/daemon.json /etc/docker/daemon.json.bak-docker",
22
+ `printf '%s' '${hardeningJson}' | jq -s '.[0] * .[1]' /etc/docker/daemon.json - > /tmp/daemon-kastell.json`,
23
+ "jq -e . /tmp/daemon-kastell.json >/dev/null 2>&1 || { cp /etc/docker/daemon.json.bak-docker /etc/docker/daemon.json && echo 'daemon.json merge failed: rolled back' >&2 && exit 1; }",
24
+ "mv /tmp/daemon-kastell.json /etc/docker/daemon.json",
25
+ "systemctl reload docker 2>/dev/null || systemctl restart docker",
26
+ ].join(" && "));
27
+ }
28
+ //# sourceMappingURL=docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/core/lock/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,2BAA2B,CAAC;AAGjE,MAAM,UAAU,2BAA2B,CAAC,QAA8B;IACxE,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IAEzC,MAAM,QAAQ,GAA4B;QACxC,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE;QAClD,mBAAmB,EAAE,IAAI;KAC1B,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO,GAAG,CACR;QACE,oGAAoG;QACpG,gHAAgH;QAChH,iGAAiG;QACjG,+DAA+D;QAC/D,gBAAgB,aAAa,8EAA8E;QAC3G,sLAAsL;QACtL,qDAAqD;QACrD,iEAAiE;KAClE,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type { LockOptions, LockStepResult, LockResult } from "./types.js";
2
+ export { buildLoginBannersCommand, buildSshCipherCommand, buildSshFineTuningCommand } from "./ssh.js";
3
+ export { buildSysctlHardeningCommand, buildCloudMetaBlockCommand, buildDnsSecurityCommand, buildDnsRollbackCommand } from "./network.js";
4
+ export { buildUnattendedUpgradesCommand, buildResourceLimitsCommand, buildServiceDisableCommand, buildAptValidationCommand, buildLogRetentionCommand, buildCronAccessCommand, buildBackupPermissionsCommand } from "./system.js";
5
+ export { buildAccountLockCommand, buildPwqualityCommand, buildLoginDefsCommand, buildFaillockCommand, buildSudoHardeningCommand } from "./auth.js";
6
+ export { buildAuditdCommand, buildAideInitCommand } from "./monitoring.js";
7
+ export { buildDockerHardeningCommand } from "./docker.js";
8
+ import type { Platform } from "../../types/index.js";
9
+ import type { LockOptions, LockResult } from "./types.js";
10
+ export declare function applyLock(ip: string, name: string, platform: Platform | undefined, options: LockOptions): Promise<LockResult>;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/lock/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACzI,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACjO,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACnJ,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAUrD,OAAO,KAAK,EAAE,WAAW,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AAe1E,wBAAsB,SAAS,CAC7B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAoOrB"}
@@ -0,0 +1,247 @@
1
+ export { buildLoginBannersCommand, buildSshCipherCommand, buildSshFineTuningCommand } from "./ssh.js";
2
+ export { buildSysctlHardeningCommand, buildCloudMetaBlockCommand, buildDnsSecurityCommand, buildDnsRollbackCommand } from "./network.js";
3
+ export { buildUnattendedUpgradesCommand, buildResourceLimitsCommand, buildServiceDisableCommand, buildAptValidationCommand, buildLogRetentionCommand, buildCronAccessCommand, buildBackupPermissionsCommand } from "./system.js";
4
+ export { buildAccountLockCommand, buildPwqualityCommand, buildLoginDefsCommand, buildFaillockCommand, buildSudoHardeningCommand } from "./auth.js";
5
+ export { buildAuditdCommand, buildAideInitCommand } from "./monitoring.js";
6
+ export { buildDockerHardeningCommand } from "./docker.js";
7
+ import { sshExec, assertValidIp } from "../../utils/ssh.js";
8
+ import { buildHardeningCommand, buildFail2banCommand, buildKeyCheckCommand } from "../secure.js";
9
+ import { buildFirewallSetupCommand } from "../firewall.js";
10
+ import { runAudit } from "../audit/index.js";
11
+ import { LOCK_FIREWALL_TIMEOUT_MS, LOCK_UPGRADES_TIMEOUT_MS, LOCK_PACKAGES_TIMEOUT_MS } from "../../constants.js";
12
+ import { getErrorMessage } from "../../utils/errorMapper.js";
13
+ import { buildLoginBannersCommand, buildSshCipherCommand, buildSshFineTuningCommand } from "./ssh.js";
14
+ import { buildSysctlHardeningCommand, buildCloudMetaBlockCommand, buildDnsSecurityCommand, buildDnsRollbackCommand } from "./network.js";
15
+ import { buildUnattendedUpgradesCommand, buildResourceLimitsCommand, buildServiceDisableCommand, buildAptValidationCommand, buildLogRetentionCommand, buildCronAccessCommand, buildBackupPermissionsCommand } from "./system.js";
16
+ import { buildAccountLockCommand, buildPwqualityCommand, buildLoginDefsCommand, buildFaillockCommand, buildSudoHardeningCommand } from "./auth.js";
17
+ import { buildAuditdCommand, buildAideInitCommand } from "./monitoring.js";
18
+ import { buildDockerHardeningCommand } from "./docker.js";
19
+ async function runLockStep(ip, command, opts) {
20
+ try {
21
+ await sshExec(ip, command, opts);
22
+ return { ok: true };
23
+ }
24
+ catch (err) {
25
+ return { ok: false, error: getErrorMessage(err) };
26
+ }
27
+ }
28
+ export async function applyLock(ip, name, platform, options) {
29
+ assertValidIp(ip);
30
+ const steps = {
31
+ sshHardening: false,
32
+ fail2ban: false,
33
+ banners: false,
34
+ accountLock: false,
35
+ sshCipher: false,
36
+ ufw: false,
37
+ cloudMeta: false,
38
+ dns: false,
39
+ sysctl: false,
40
+ unattendedUpgrades: false,
41
+ aptValidation: false,
42
+ resourceLimits: false,
43
+ serviceDisable: false,
44
+ backupPermissions: false,
45
+ pwquality: false,
46
+ dockerHardening: false,
47
+ auditd: false,
48
+ logRetention: false,
49
+ aide: false,
50
+ cronAccess: false,
51
+ sshFineTuning: false,
52
+ loginDefs: false,
53
+ faillock: false,
54
+ sudoHardening: false,
55
+ };
56
+ const stepErrors = {};
57
+ // Dry run: preview only, no SSH
58
+ if (options.dryRun) {
59
+ return {
60
+ success: true,
61
+ steps,
62
+ };
63
+ }
64
+ const auditPlatform = platform ?? "bare";
65
+ // Pre-audit (non-fatal)
66
+ let scoreBefore;
67
+ try {
68
+ const preAudit = await runAudit(ip, name, auditPlatform);
69
+ if (preAudit.success && preAudit.data) {
70
+ scoreBefore = preAudit.data.overallScore;
71
+ }
72
+ }
73
+ catch {
74
+ // Non-fatal — continue without score
75
+ }
76
+ // Step 0: SSH key check — abort if no keys
77
+ try {
78
+ const keyResult = await sshExec(ip, buildKeyCheckCommand());
79
+ const keyCount = parseInt(keyResult.stdout.trim(), 10);
80
+ if (isNaN(keyCount) || keyCount === 0) {
81
+ return {
82
+ success: false,
83
+ steps,
84
+ error: "No SSH keys found in /root/.ssh/authorized_keys. Cannot disable password authentication without SSH keys — this would permanently lock you out.",
85
+ hint: `Add an SSH key first: ssh-copy-id root@${ip}`,
86
+ };
87
+ }
88
+ }
89
+ catch (err) {
90
+ return {
91
+ success: false,
92
+ steps,
93
+ error: `SSH key check failed: ${getErrorMessage(err)}`,
94
+ };
95
+ }
96
+ // ── Group 1: SSH & Auth ──────────────────────────────────────────────────
97
+ // Step 1: SSH hardening (critical — determines overall success)
98
+ const sshResult = await runLockStep(ip, buildHardeningCommand());
99
+ steps.sshHardening = sshResult.ok;
100
+ if (!sshResult.ok)
101
+ stepErrors.sshHardening = sshResult.error;
102
+ // Step 2: fail2ban
103
+ const fail2banResult = await runLockStep(ip, buildFail2banCommand());
104
+ steps.fail2ban = fail2banResult.ok;
105
+ if (!fail2banResult.ok)
106
+ stepErrors.fail2ban = fail2banResult.error;
107
+ // Step 3: Login banners
108
+ const bannersResult = await runLockStep(ip, buildLoginBannersCommand());
109
+ steps.banners = bannersResult.ok;
110
+ if (!bannersResult.ok)
111
+ stepErrors.banners = bannersResult.error;
112
+ // Step 4: Account locking
113
+ const accountLockResult = await runLockStep(ip, buildAccountLockCommand());
114
+ steps.accountLock = accountLockResult.ok;
115
+ if (!accountLockResult.ok)
116
+ stepErrors.accountLock = accountLockResult.error;
117
+ // Step 5: SSH cipher hardening — with sshd -t rollback
118
+ const sshCipherResult = await runLockStep(ip, buildSshCipherCommand());
119
+ steps.sshCipher = sshCipherResult.ok;
120
+ if (!sshCipherResult.ok)
121
+ stepErrors.sshCipher = sshCipherResult.error;
122
+ // ── Group 2: Firewall & Network ──────────────────────────────────────────
123
+ // Step 6: UFW firewall, 60s timeout for apt
124
+ const ufwResult = await runLockStep(ip, buildFirewallSetupCommand(platform), { timeoutMs: LOCK_FIREWALL_TIMEOUT_MS });
125
+ steps.ufw = ufwResult.ok;
126
+ if (!ufwResult.ok)
127
+ stepErrors.ufw = ufwResult.error;
128
+ // Step 7: Cloud metadata — conditional on UFW
129
+ if (steps.ufw) {
130
+ const cloudMetaResult = await runLockStep(ip, buildCloudMetaBlockCommand());
131
+ steps.cloudMeta = cloudMetaResult.ok;
132
+ if (!cloudMetaResult.ok)
133
+ stepErrors.cloudMeta = cloudMetaResult.error;
134
+ }
135
+ else {
136
+ stepErrors.cloudMeta = "UFW required";
137
+ }
138
+ // Step 8: DNS security — with rollback on failure
139
+ const dnsResult = await runLockStep(ip, buildDnsSecurityCommand(), { timeoutMs: 15_000 });
140
+ steps.dns = dnsResult.ok;
141
+ if (!dnsResult.ok) {
142
+ stepErrors.dns = dnsResult.error;
143
+ await runLockStep(ip, buildDnsRollbackCommand());
144
+ }
145
+ // ── Group 3: System ──────────────────────────────────────────────────────
146
+ // Step 9: sysctl hardening
147
+ const sysctlResult = await runLockStep(ip, buildSysctlHardeningCommand());
148
+ steps.sysctl = sysctlResult.ok;
149
+ if (!sysctlResult.ok)
150
+ stepErrors.sysctl = sysctlResult.error;
151
+ // Step 10: unattended-upgrades, 120s timeout for apt
152
+ const upgradesResult = await runLockStep(ip, buildUnattendedUpgradesCommand(), { timeoutMs: LOCK_UPGRADES_TIMEOUT_MS });
153
+ steps.unattendedUpgrades = upgradesResult.ok;
154
+ if (!upgradesResult.ok)
155
+ stepErrors.unattendedUpgrades = upgradesResult.error;
156
+ // Step 11: APT validation
157
+ const aptResult = await runLockStep(ip, buildAptValidationCommand());
158
+ steps.aptValidation = aptResult.ok;
159
+ if (!aptResult.ok)
160
+ stepErrors.aptValidation = aptResult.error;
161
+ // Step 12: Resource limits
162
+ const limitsResult = await runLockStep(ip, buildResourceLimitsCommand());
163
+ steps.resourceLimits = limitsResult.ok;
164
+ if (!limitsResult.ok)
165
+ stepErrors.resourceLimits = limitsResult.error;
166
+ // Step 13: Service disabling
167
+ const serviceResult = await runLockStep(ip, buildServiceDisableCommand());
168
+ steps.serviceDisable = serviceResult.ok;
169
+ if (!serviceResult.ok)
170
+ stepErrors.serviceDisable = serviceResult.error;
171
+ // Step 14: Backup permissions
172
+ const backupResult = await runLockStep(ip, buildBackupPermissionsCommand(), { timeoutMs: LOCK_PACKAGES_TIMEOUT_MS });
173
+ steps.backupPermissions = backupResult.ok;
174
+ if (!backupResult.ok)
175
+ stepErrors.backupPermissions = backupResult.error;
176
+ // Step 15: Password quality policy
177
+ const pwqualityResult = await runLockStep(ip, buildPwqualityCommand(), { timeoutMs: LOCK_PACKAGES_TIMEOUT_MS });
178
+ steps.pwquality = pwqualityResult.ok;
179
+ if (!pwqualityResult.ok)
180
+ stepErrors.pwquality = pwqualityResult.error;
181
+ // Step 16: Docker runtime hardening
182
+ const dockerResult = await runLockStep(ip, buildDockerHardeningCommand(platform), { timeoutMs: LOCK_PACKAGES_TIMEOUT_MS });
183
+ steps.dockerHardening = dockerResult.ok;
184
+ if (!dockerResult.ok)
185
+ stepErrors.dockerHardening = dockerResult.error;
186
+ // ── Group 4: Monitoring ──────────────────────────────────────────────────
187
+ // Step 17: auditd
188
+ const auditdResult = await runLockStep(ip, buildAuditdCommand(), { timeoutMs: LOCK_PACKAGES_TIMEOUT_MS });
189
+ steps.auditd = auditdResult.ok;
190
+ if (!auditdResult.ok)
191
+ stepErrors.auditd = auditdResult.error;
192
+ // Step 18: Log retention
193
+ const logResult = await runLockStep(ip, buildLogRetentionCommand());
194
+ steps.logRetention = logResult.ok;
195
+ if (!logResult.ok)
196
+ stepErrors.logRetention = logResult.error;
197
+ // Step 19: AIDE (fire-and-forget)
198
+ const aideResult = await runLockStep(ip, buildAideInitCommand(), { timeoutMs: LOCK_PACKAGES_TIMEOUT_MS });
199
+ steps.aide = aideResult.ok;
200
+ if (!aideResult.ok)
201
+ stepErrors.aide = aideResult.error;
202
+ // Step 20: Cron access control
203
+ const cronAccessResult = await runLockStep(ip, buildCronAccessCommand());
204
+ steps.cronAccess = cronAccessResult.ok;
205
+ if (!cronAccessResult.ok)
206
+ stepErrors.cronAccess = cronAccessResult.error;
207
+ // ── Group 5: Score Boost (P87) ─────────────────────────────────────────────
208
+ // Step 21: SSH fine-tuning — with sshd -t rollback
209
+ const sshFineTuneResult = await runLockStep(ip, buildSshFineTuningCommand());
210
+ steps.sshFineTuning = sshFineTuneResult.ok;
211
+ if (!sshFineTuneResult.ok)
212
+ stepErrors.sshFineTuning = sshFineTuneResult.error;
213
+ // Step 22: Login definitions
214
+ const loginDefsResult = await runLockStep(ip, buildLoginDefsCommand());
215
+ steps.loginDefs = loginDefsResult.ok;
216
+ if (!loginDefsResult.ok)
217
+ stepErrors.loginDefs = loginDefsResult.error;
218
+ // Step 23: Faillock
219
+ const faillockResult = await runLockStep(ip, buildFaillockCommand());
220
+ steps.faillock = faillockResult.ok;
221
+ if (!faillockResult.ok)
222
+ stepErrors.faillock = faillockResult.error;
223
+ // Step 24: Sudo hardening
224
+ const sudoHardeningResult = await runLockStep(ip, buildSudoHardeningCommand());
225
+ steps.sudoHardening = sudoHardeningResult.ok;
226
+ if (!sudoHardeningResult.ok)
227
+ stepErrors.sudoHardening = sudoHardeningResult.error;
228
+ // Post-audit (non-fatal)
229
+ let scoreAfter;
230
+ try {
231
+ const postAudit = await runAudit(ip, name, auditPlatform);
232
+ if (postAudit.success && postAudit.data) {
233
+ scoreAfter = postAudit.data.overallScore;
234
+ }
235
+ }
236
+ catch {
237
+ // Non-fatal
238
+ }
239
+ return {
240
+ success: steps.sshHardening,
241
+ steps,
242
+ ...(Object.keys(stepErrors).length > 0 && { stepErrors }),
243
+ scoreBefore,
244
+ scoreAfter,
245
+ };
246
+ }
247
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/lock/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type SshCommand } from "../../utils/sshCommand.js";
2
+ export declare function buildAuditdCommand(): SshCommand;
3
+ export declare function buildAideInitCommand(): SshCommand;
4
+ //# sourceMappingURL=monitoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../../../src/core/lock/monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wBAAgB,kBAAkB,IAAI,UAAU,CA8C/C;AAED,wBAAgB,oBAAoB,IAAI,UAAU,CAWjD"}
@@ -0,0 +1,55 @@
1
+ import { raw } from "../../utils/sshCommand.js";
2
+ export function buildAuditdCommand() {
3
+ // Deep rules go in 50-kastell-deep.rules (sorts BEFORE 99-kastell.rules -e 2 immutability)
4
+ const deepRules = [
5
+ "# Identity — file integrity",
6
+ "-w /etc/passwd -p wa -k identity",
7
+ "-w /etc/shadow -p wa -k identity",
8
+ "-w /etc/group -p wa -k identity",
9
+ "-w /etc/gshadow -p wa -k identity",
10
+ "# Privilege escalation",
11
+ "-w /etc/sudoers -p wa -k privilege",
12
+ "-w /etc/sudoers.d/ -p wa -k privilege",
13
+ "-a always,exit -F arch=b64 -S setuid -S setgid -S setreuid -S setregid -k privilege",
14
+ "# Time change",
15
+ "-a always,exit -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -k time-change",
16
+ "-w /etc/localtime -p wa -k time-change",
17
+ "# Login and session",
18
+ "-w /var/log/lastlog -p wa -k logins",
19
+ "-w /var/run/faillock/ -p wa -k logins",
20
+ "-w /var/run/utmp -p wa -k session",
21
+ "-w /var/log/wtmp -p wa -k session",
22
+ "-w /var/log/btmp -p wa -k session",
23
+ "# Network changes",
24
+ "-a always,exit -F arch=b64 -S sethostname -S setdomainname -k network-change",
25
+ "-w /etc/hostname -p wa -k network-change",
26
+ "-w /etc/hosts -p wa -k network-change",
27
+ "-w /etc/sysconfig/network -p wa -k network-change",
28
+ "# Kernel modules",
29
+ "-a always,exit -F arch=b64 -S init_module -S delete_module -S finit_module -k kernel-module",
30
+ "-w /sbin/insmod -p x -k kernel-module",
31
+ "-w /sbin/modprobe -p x -k kernel-module",
32
+ "-w /sbin/rmmod -p x -k kernel-module",
33
+ ].join("\\n");
34
+ // Immutability directive in 99 — sorts AFTER 50
35
+ const immutableRule = "-e 2";
36
+ return raw([
37
+ "DEBIAN_FRONTEND=noninteractive apt-get install -y auditd audispd-plugins",
38
+ "systemctl enable auditd && systemctl start auditd",
39
+ `printf '${deepRules}\\n' > /etc/audit/rules.d/50-kastell-deep.rules`,
40
+ `printf '${immutableRule}\\n' > /etc/audit/rules.d/99-kastell.rules`,
41
+ "augenrules --load 2>/dev/null || true",
42
+ "service auditd restart 2>/dev/null || systemctl restart auditd 2>/dev/null || true",
43
+ ].join(" && "));
44
+ }
45
+ export function buildAideInitCommand() {
46
+ const cronScript = "#!/bin/bash\\n/usr/sbin/aide --check 2>/dev/null || true";
47
+ return raw([
48
+ "DEBIAN_FRONTEND=noninteractive apt-get install -y aide",
49
+ "rm -f /etc/cron.d/kastell-aide",
50
+ `printf '${cronScript}\\n' > /etc/cron.daily/aide-check`,
51
+ "chmod 755 /etc/cron.daily/aide-check",
52
+ "nohup aide --init > /var/log/aide-init.log 2>&1 &",
53
+ ].join(" && "));
54
+ }
55
+ //# sourceMappingURL=monitoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../src/core/lock/monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,kBAAkB;IAChC,2FAA2F;IAC3F,MAAM,SAAS,GAAG;QAChB,6BAA6B;QAC7B,kCAAkC;QAClC,kCAAkC;QAClC,iCAAiC;QACjC,mCAAmC;QACnC,wBAAwB;QACxB,oCAAoC;QACpC,uCAAuC;QACvC,qFAAqF;QACrF,eAAe;QACf,wFAAwF;QACxF,wCAAwC;QACxC,qBAAqB;QACrB,qCAAqC;QACrC,uCAAuC;QACvC,mCAAmC;QACnC,mCAAmC;QACnC,mCAAmC;QACnC,mBAAmB;QACnB,8EAA8E;QAC9E,0CAA0C;QAC1C,uCAAuC;QACvC,mDAAmD;QACnD,kBAAkB;QAClB,6FAA6F;QAC7F,uCAAuC;QACvC,yCAAyC;QACzC,sCAAsC;KACvC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC;IAE7B,OAAO,GAAG,CACR;QACE,0EAA0E;QAC1E,mDAAmD;QACnD,WAAW,SAAS,iDAAiD;QACrE,WAAW,aAAa,4CAA4C;QACpE,uCAAuC;QACvC,oFAAoF;KACrF,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,UAAU,GAAG,0DAA0D,CAAC;IAC9E,OAAO,GAAG,CACR;QACE,wDAAwD;QACxD,gCAAgC;QAChC,WAAW,UAAU,mCAAmC;QACxD,sCAAsC;QACtC,mDAAmD;KACpD,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type SshCommand } from "../../utils/sshCommand.js";
2
+ export declare function buildSysctlHardeningCommand(): SshCommand;
3
+ export declare function buildCloudMetaBlockCommand(): SshCommand;
4
+ export declare function buildDnsSecurityCommand(): SshCommand;
5
+ export declare function buildDnsRollbackCommand(): SshCommand;
6
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/core/lock/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wBAAgB,2BAA2B,IAAI,UAAU,CAqCxD;AAED,wBAAgB,0BAA0B,IAAI,UAAU,CAOvD;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAYpD;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAOpD"}