From 772287c27fcd3475f05a9f42e00172a57e69b369 Mon Sep 17 00:00:00 2001 From: Captain ALM Date: Sat, 23 Nov 2024 18:01:14 +0000 Subject: [PATCH] Update grub configuration. Added clevis binding auto updating support (Password still required for first unlock). --- grub.d.my.7z | Bin 23604 -> 23601 bytes install-ucba.sh | 27 ++++++++++++++++++ local-sbin/sign-boot | 1 + local-sbin/update-clevis-binding | 7 +++++ .../update_clevis_binding_auto.service.p1 | 6 ++++ .../update_clevis_binding_auto.service.p2 | 6 ++++ 6 files changed, 47 insertions(+) create mode 100755 install-ucba.sh create mode 100755 local-sbin/update-clevis-binding create mode 100644 update-clevis-binding-source-files/update_clevis_binding_auto.service.p1 create mode 100644 update-clevis-binding-source-files/update_clevis_binding_auto.service.p2 diff --git a/grub.d.my.7z b/grub.d.my.7z index e7718addc998160b364f08a685b527226273740c..2cb231cff3e5dccb9357e4468979586aad8a010a 100644 GIT binary patch delta 22697 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 delta 22700 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

`S=3pWB>W zC`&6gN3ulIOlc8eiomqvlc3)m66RpfrnOTkDQMV>Z<+VZOlV&bc zyBHhz{7-^;Q=B+*w#^p#LGa~)A73(X6Mh9R)11>_{QI?amhfYyW=L>GK+I;Z6d#l( zl?*xVLTh@aq<|A4of54S#`%y=)VoN{^Ak*snSnE1#xI3yU4?Oix+LUw8v{e=mx=hn5=K>nv*p5B ze$c9f4yaB!bd_B6GTOv{?NnmtZx54v2VocFyskUCx$IhhP}>Tj$;gy_Kj3W{5JvK; zk*1eSSmXcnfq#XcXDm$ zXng{|oc^G`(F#~b-BF@opJDCdWxS-2&CK5_QdQZ|YZ~;!Ss}TpQF{s~3bw{SuOVo^ zSGKC%lh!0rd@N0Wcs$q&>(bytd(e&a9^zk%#cQX?f|IqpbOVe3vFXBVS%g51MyKox zTR?R6ZD~*h+3NfMA%-0$V^#5{>5md$zv(2Xd4$3^X$jfJuBM@X%cw=$nu+ zA5L{qJCblFUT-)pF9R1wcbm1i5QDU)Y7aFaAUGRi&913`7CwzOxDN4h=p z21`0X{FX&(JBBV@{`05n-l#RPutnXq{ znl~c6+xh$s0fKaEkXeSHpzLKMduWI!KTBcW=f9VYFeXr~9kub3yAXa@P;zelU5#?j zH?)9ic5Rinz$tNLgDLC!dg>XjBF2GYZa_-{ERrPdlu?o zAAwlL!6UP(WE*Gac;wu&7LYDu8l1Eur2MAh276 z@*!FqKU|3EpsTP33m;CLoI=|#N;hr1udq6b4=zf{q1gYf6ZzT$T@ZAg#&)rtXPcOF zcwGwm0vSx`S2n*Da_SClAur>cLABSx;Oe!1AnGk%@$r_y&wKi$!7aOXy5n=LO-WXY zJ1w^z77_no^uip-Jj3Q6vxWU{b!NsQVl#-yB&uvc574-p&?Fx4ipk#e^x0gsGXutn z#)>uTpcB~Gph}{{j!=qUL4DtPv1HDmDRu@0vcpvXAgyS~F*YsD4QjaJr~ zhdK(^-N_%6W)YY+RnU0aO^iONA#X&PRj@$>*0~0iTxa97-ezP%p=>uRS*C`Qyce;e5%CwKcXnU@n{drS4Uo`j-(`t&g6 zY`11ZDw^JbdBKOPGJ`5?noY7}AMxB9(P1R*su!gp>s^Rvnln7XEQ#_C$LW24mAvT~$>qGBtvmVoDErWM-l1&X5*VbFbx;aED|uKuME2>A`8ZSdzHy zE0^{#u>|3jj?7v00E9|@Cwtg`*=(n#EZ6<7AZCvbnNdI=25Kw<{`&lcLHCDu{z-+A zlRW2PueQeWI}4AcH@HDkH#Q!YDk+<0j>&M?B+vYSio3t4^6~gJ`{?JaAXQC(r&LtJ zd*#muQ*GPz7uGN@aD=qnt3WP>_vrGLcdlWC!$(C(V1o1jp6n2Xm8YC6$eI^xCPGa`GYCzo6N3FvbHPM8r_X?T ztjOrN=i7?Wd4db^+26Y+Y ziW53%C4($5tA6|?#ok2vwaj@$Mv`JjLZJ0>Hdz`@)lc!=C((F+aLFGG`@j|7y~!Vk z^Fcy$w}_-x1^{s+GaXr_j=bXC3RR4=7Q9n30ml0r*z+Z=s?3&NzWkJ`@*UKgM$3h+ zXf>2O#{lO-V=SPP!}tgbyV9|gl)2Uhb7Kv(oC}P$PN7y;m(?L4k9gxeuQ8r|106u| zBa!9fQ3=&kN!EUU=i;Y6-dER26Zx0HWyhc`U-l%kS4RP@R0N1ofP=nH<`3bVr(ck} z4bc~-R1k=cbzNtN2F7feW8u%|RqF%w(tIJg{2=`>b3GChQW54ZY!e7%$Z0I5bh;NL z>+WWv*Sg{)n@)Re@|${!8!`8Y>CZS?0w=t1`oHM7OT-F)LNW#ovvE--lR?H9g&aq&|+%o!waT?SEbBIe+){jK^)%`OxR8m zIU|?cTl{nPXh4LIf1Wz4hCTfIkvAIhlgz`KBrqw}X396%JO=WGAz_opsMphrzgu`> zo@DiM1}Cik8_dn%V_0^4)_(3)Tl@!I1}5>`@YpA^Vdb|pf6lw!adI4*rVKPbd|9mu zw9|5bcKR#Pbp$m{1nfYBM$vz$)gHcM_n8r&^doMatR)0q;Pekh2-^IkDyVKO%6UvO}Tk^Z#rZA}_dsF}iYlq|`er4Us^0b8i@JS10BldaDOgmBLEe5-TQ&pb$k zPpe(2O)^ih9CGz=%06BI8&$&Il3MsjDf6Dby16p>ZK;EWgNU?yxE_gwYV!|b{*t_j z7xCBhZhb~b!w@L&H!y_9;B9txGnT50(CaH;Dzzy;f0a*Eo6Ux+uX3s=mA2gLfhx0u zcR`cj86|eP3mRDCV1N?}dl$|g#`BU4Vo_eZGI*3=MW$!|#!}7Jn|6*__zbqTSE>$ zWg}wnimPQQ+c5kbVa1U1W0N0wqR2eZCrgt|MF$QvpH?+sRkK&aH5e_~Q2&v7@`jgr zi-s1>#u8X7sN32HyOFwE3sz_JbAu>X56|&gf8zKy(aAo&1c%e7-5u~CB@{Za6#b_j zLkXq*d$A9XxR7Y|^^L_rMknn9hesOYNg=ZTXycj@r!V!S19-)N+rR-|-et6D-}0#U z2)dR;1a6&d%Ubn#WgW0UB4K!z$7`Qc%`T90&P|#BY4|XV4gI#0!1Yyj0LC2P#O ze~Dp}0WTLSj6G{9)Y52q0?A9duMj7@v)3Bft91l$i8xOG{Mi(kjn}i4lF=E=jgYf- zKt@3`H6tQV=S^%xrN1%z56NXy7(G}CzJ(RH4n1$1HHYJI18-NRLeDB(dqpF0?o{>O z{o6$Y;OtOFt7h_?~^)uRCsh)f3lND_fZcPwfvmm3<7_WJ;XJ?PY5#dzIIm@ zmHcf(s~wX#Fis+P4_4rw#x~VAK-e;&vU7|s;|<$)j`_$(#rXjd@)JhG!7Pcd%AQlX z^^is;e6GWnBnxL_ESykal^je&Se*+G;aDD&2o}}WL&8XFX?^L0;+MS2c?t6hf7$8n z&kK^NCufRW;KKR2L%M_8LYiw_N?$`8fpN+mZkeCp+D`d+(H+;7koo7i$_JLYv9V<| z2b%<$dZQH0?j{2cmAIAu#0)wCyH{9a@qHA=1VD_wfGH{P3e6SfA#r!v-(@C9n>Try|u5M^yRt$7&9p!G8s{2!E7bz z-$gs;$a`Ql4G}wF!5v=D{?Vwx5`)|b$~WjLKbxRF<1Ez?&9>+x+=ywY{f2{He7_=! z%O=CmVKVmLz@f~1NhxBQa#EKoAmatV*I(ly^-?b}m(vwl#9j)TocNY@zzPPjIGKCsT<~x=6ivj+t50 z^=$S7Oi2N6Il6Y6ue^}=>%>p%v95t&i#9+VCV5B+8R&5JVB#VXf1CoiXq7Ix>t}?S zsgb!iEz(1}wAjZ9aSFa`LXicQlztBT7O#;6?ok?esGDV~o!3f9`i0Db6#;O3Y!`UQW`ZYYT=o83|Co?z2n1$hk;&UTbU z1akoc7N+Ze$RNfAuuCRTQ?(NNZu*yXShmjxbEK znU+dv80w2pl#MXsC$2c)?9bdCC&{+zhlVS7+JXi|y|TSDg7HOB(WPOpK9zx|@%R2} z#!H<$d%UCqaoku^1}ek094&ZSTwhNn7nrkem12EBYP=YXoh*A0a6ItId}zT6A?{fD zL)J4Vf5}ur`JdxpC9Ai*fL7)TuyvY4&9zhtsHTIbwTtdnCO-8ku|Wq z>`qjwbir}=4SRZYkr@kCMhX`W{COy|I1}Upe~Vq9_0^`VG|uIjW9oU9u__R3r6i@q zp)hIJ+OhUewZ@iyy36f7yVn>*poV%9X0*F%XdW=WUpB~cM+2jXgldGc{-1NuH^!s9 ziTZ*;jiTb@6=n=KkpMOSllel}R(Fb8>%$oCG~1Q~_z0iIQnuSUO6-;VVJ2Z9H#gxk ze}blBPh|*p83n!s`ep9{8Ssm-#>Tv>Ow=YcA>-0Ay7c8dCVAUX3>X1jR(RsiR|(op zv5F#e85b~j5Ni`XqtK1;eAJ{c0g)L9L5BWs^DdIX+V#Ek# z*MICyr6o#P5I&{-u4?CD|N3ah2fxdJe^=3iUdmp1yh4n?8fpF;FRs2{NSc!3GHO^b zGf8EwAsc2^4`#vZgn_J|8`yiqro+)RBmAqZ8cxZMWr03tRNk;aEWXn+>Ad#-GwaPF zQ95E(CogJBO^6P!xuUVrICJomIa&55^X1iqRmmz_+DhsApmy?poX=!BK-98{f1HON zZ%{+ow!^MkMFUWd!|HNX)asq~4t|GZ>a(F3tOdp{+FrVd#0me0Wo4fjbp#lh$@g6I zi#Fcb8=J3dP&1`4ZEI%{96rCFLS|>+twkJSZSAosBEIV2w|Nvz|J}Fe43oQ=h0Q7- zr7cgq7afqJ)1TbQ{}YRvrNo|-efxFJTQqdR)i zlOD6&1YXlrh(}}1bmNB$Qgow{Gq$`E3vqli`0j>4@?Rk??9Pe-JPEkg8)! zD)#Iaf7C-|H>wLdMJETj3#|6Yc?gSkg>#{uYN9QrQJ_!l&4Y;fm=qA?C|o@vt#Fv> z?=$EgeOIwfT2yo5RQ6N18AZ+>7piOcH;I;0^wA zKLbO>tV^cAw_Goy5XyH=ZLn2taEQy_bx`~>%aYn9RTpuG9?*@ajgf;5SV|}tsDGGi z;IYW+ns1rj#!8P(e-L2tv%C;_5YDB$K?Mlt!`>NI0b(+rg&>V84z3gpZTe5e{G!UZ z4a~9gzklE_}_|)79>8P+tJ$O#>*jS5zxL)hGNtBM14%k4f@9TU1NplcP#Wuw ze#jR4Y2xi|f7?HArP+AyYDKi2AlBtkyurD<9yJvBPZX`SJidC1edSQ4)Pq1@v>G1N zwk|K}?-2`nN~`A& z#9g@u9j<<_-?PUldR>DHHK~{*o@tqhDK6$(sYuRrjXmx^ntJZeb%i2<78L;9)>1t3 zA5l|YbmgHw5z@Yuoky>2$vR{ab;}!m>dKD>b3_{%fCeP>uB|Vvd(^$Y3G+&+vd>R=ND!eO6~73l`M=v_tA<}L;}HT;e|Kzn(=o49 z6XtXi#n*(08FU6l{?-^q>?vX%u}AP5z?#?(q3O`eNJhWy5EM z*RxzS!igGOqOsH5M zb>a9W9kr5$rusV*#{sbV-)<8CvQ&~~Xn^da%}cIKm%Q-$s4*B;tHy=G&f6J?Q;Uvr z{}L}~a;?7{>~hHoI?tLJoY;b8K^-M!cP1><^dZTw1^ot?7Ebta(=sjIsR(3p0-xky!{xSiQBB=YS z@mREG#=t7-B*=Nik!6?&qe#5*C}&@RfKLh>C)XUC_A(9$zIBTOWk-9wEyed_dueCMBhTw_hf3IJs>|2km`AYBB{bz3-umkW$ViDm-gw{@m z-&Od&{T}J(g?Q==2ngw_pC@zVw7H$sz~*HVa~UD72P!+`Moqwj9`+&xI_SHOw8s87 zX|;Xn6DV4A3RUPhcM8TH*~79FH=L)tj7(xevJ<2;`ZrsHSK;ayodfI_hem{Ue}(}5 zf{>#IHgXBL9trTMxb@WA0$+ecTQr4VK&6qlL>hLDvUzuf zFq=erb1->~U>CQX!B~by);t5td?$S*OwH^J(sr~4Ip24^JWU&tN@rbn3jv|G1YrHP zf$#mH{H!;2q8O)s`bbG#S7@p;f8DF1HyKcP0P^+xdqL3l59UJG$T|ZG7Ez}lELPfl zbId56HRX(l?T<4_wI3TxnjY}OXtfHM^kornvAPy;8cK{!KE4jUpa`1Vvj_~>$73gc z^3;HOonWR+n}n@F6Vx2s_@3IBYu>ckO$i3YW)9a)=UtGpb$R8OO2dX0e-<<4)3WO$ zlmD)+uIZp8SfzEjwI}{^nTXXW3KiDs{{urQTArcntlk_{l7I~O%e8WLEBy%pyc{7Z z6R=#b7ESc)BX%$Yq1IEp^qdZi)jmZP1QqH z9V@PNeExE+X_|CbxlSzHf1Jz&6AZ~TJC6CNV6O;XIup=r3NH!U{+rF)0d82roJoY4dib;+smUjdVPm4 z8m^DGVI5_zQI+WY&c;|Q3}qSEI|3aqAn07LpN{7nKRoBzyjiy~f4u@3UFz$ktV8B^mHf}sY`}>kg^^fi)+*vxe;LtXxVg;fmSMVlPla> z6rJl}!kBR}2|y(9e?tL4YkO|0r`c!NbyIvfaB~AwY78>2)mbrS(K*E;HKRHL z5K&2zsnwCHTgQW1)V?`SHVWOi5~bU@1OC5Qq96z+yogBz7%wK-i!=tUUFzC^+OQcL ztf#&We-`Qn!sgQIa-4WfTjVB0{jy0zPQA3n&j^<@b<&bmBrFZqH%{B7L|SA zMpY_|_cUiAhj=QA5RsYbB}YF`mgr@BV$iSB{O*Agf{DfypLu1f+_6eCSzTO&w)C9e zBO2FiOZ)#;wUdk`1aIsJ#|->8Ltk&nx?b&u+%LoKe=SjqFw<6PZv!;S zo;YHK8U-O5q+1g~ouNChd+L)nPMf43mFfxf`gpbO@K8niFM1I;~giL;&f86 za!jymj8EE88N)tH-v$10%_y0*P`1AJ%T|AqMr~S&R5P=lFU_hTeo#91gcsIzyQ=;#qv^d|>I&N~pkXnX z1sW0wrPyyR%g4yrJ=V~FmJox_GuJ>JB-Mb;V^VwMxxMU8q=l}$?qU+Yh}_7qe+rM{ zmTM+>NfI^FsIRk+u{$7!(L1>UYHsapUdw+l(7_ZfA&rm-3z*YkHrK0O|2m|F9{AHU z6apny5?Bj9PfxGWS|WJqsK3$Ryeb;&O)lQzttr)d5@wDYozC9Opo+r*q` zOm53#9a{?FId+Qzy0;L9pl39KdxS`~R_xhk9I<%=z`3t6zbe+NBZdS~%7r~=513su zS(>hbAK%fS%gl2vEO!+cxzZRQ?jBI}{7PK)qkg`Uio(omu9Q0RRCb0|5aAT>uaO01Se*3IXScSbhKiDc9`G diff --git a/install-ucba.sh b/install-ucba.sh new file mode 100755 index 0000000..299b643 --- /dev/null +++ b/install-ucba.sh @@ -0,0 +1,27 @@ +#!/bin/bash +if [ $# -ne 2 ]; then + echo "install-ucba "; + echo ""; + echo " : The LUKS Device"; + echo " : LUKS Slot for regeneration" + exit 1; +fi +echo "[+] Installing the update clevis binding auto service!"; +echo "[!] WARNING Service requires the update-clevis-command to be install." +echo "Enter the Password to the LUKS slot used to auto-renew the clevis slot:"; +read -s password; +if [[ -z $password ]]; then + echo "A password is required for LUKS unlock!"; + exit 2; +fi +cat update-clevis-binding-source-files/update_clevis_binding_auto.service.p1 | head -c -1 | sudo tee /etc/systemd/system/update_clevis_binding_auto.service > /dev/null; +echo -n "$1 $2" | sudo tee -a /etc/systemd/system/update_clevis_binding_auto.service > /dev/null; +cat update-clevis-binding-source-files/update_clevis_binding_auto.service.p2 | head -c -1 | sudo tee -a /etc/systemd/system/update_clevis_binding_auto.service > /dev/null; +sudo systemctl daemon-reload; +sudo systemctl enable update_clevis_binding_auto.service; +sudo touch /root/ucba.pwd; +sudo chown root:root /root/ucba.pwd; +sudo chmod u=rw,g=,o= /root/ucba.pwd; +echo "$password" | sudo tee /root/ucba.pwd > /dev/null; +echo "[+] Finished installing the update clevis binding auto service!"; +exit 0; diff --git a/local-sbin/sign-boot b/local-sbin/sign-boot index cb403ae..0e80c7b 100755 --- a/local-sbin/sign-boot +++ b/local-sbin/sign-boot @@ -36,4 +36,5 @@ do /usr/bin/gpg --batch --detach-sign $i; done; /usr/bin/rm -f /run/sign-verify-boot-flag; +/usr/bin/touch /opt/ucba-required; echo "[*] Signing Complete!"; diff --git a/local-sbin/update-clevis-binding b/local-sbin/update-clevis-binding new file mode 100755 index 0000000..ef7b0b1 --- /dev/null +++ b/local-sbin/update-clevis-binding @@ -0,0 +1,7 @@ +#!/bin/bash +if [ $# -ne 2 ]; then + echo 'update-clevis-binding '; + exit 1; +fi +/usr/bin/clevis luks regen -q -d "$1" -s "$2" +exit $?; diff --git a/update-clevis-binding-source-files/update_clevis_binding_auto.service.p1 b/update-clevis-binding-source-files/update_clevis_binding_auto.service.p1 new file mode 100644 index 0000000..684a8c1 --- /dev/null +++ b/update-clevis-binding-source-files/update_clevis_binding_auto.service.p1 @@ -0,0 +1,6 @@ +[Unit] +Description=Update the clevis LUKS slot on the specified device automatically on boot if enabled + +[Service] +Type=oneshot +ExecStart=bash -c 'if [ -f /opt/ucba-required ]; then /usr/local/sbin/update-clevis-binding diff --git a/update-clevis-binding-source-files/update_clevis_binding_auto.service.p2 b/update-clevis-binding-source-files/update_clevis_binding_auto.service.p2 new file mode 100644 index 0000000..2b7b313 --- /dev/null +++ b/update-clevis-binding-source-files/update_clevis_binding_auto.service.p2 @@ -0,0 +1,6 @@ + < /root/ucba.pwd; rm -f /opt/ucba-required; fi' +User=root +Group=root + +[Install] +WantedBy=multi-user.target