From 53d108e7c870541cac1fd69df8a803e2d9fc6b84 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Tue, 11 Nov 2025 14:47:34 +0200 Subject: [PATCH] Add encrypted production secrets backup (2025-11-11) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initial encrypted backup of all sensitive configuration files and SSH keys for version control and disaster recovery. Contents: - backend/.env and .env.prod (development and production config) - telegram-bot/.env and .env.prod (bot configuration) - secrets/ directory (SSH keys for Oracle server access) Encryption: AES-256-CBC with PBKDF2 using OpenSSL Total: 5 encrypted items (4 files + 1 directory archive) Backup date: 2025-11-11 14:46:50 ⚠️ IMPORTANT: Decryption password required for restore Password format: ROA2WEB_Backup_2024_Secure_Key_YYYYMMDD To restore: ./scripts/restore-secrets.sh 2025-11-11_14-46-50 All files are safely encrypted and can be committed to git without exposing sensitive credentials. Decryption password must be stored separately in password manager. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- secrets-backup/2025-11-11_14-46-50/README.md | 70 ++++++++++++++++++ .../2025-11-11_14-46-50/backend-.env.enc | Bin 0 -> 2848 bytes .../2025-11-11_14-46-50/backend-.env.prod.enc | Bin 0 -> 3072 bytes .../2025-11-11_14-46-50/secrets.tar.enc | Bin 0 -> 10272 bytes .../2025-11-11_14-46-50/telegram-bot-.env.enc | Bin 0 -> 2368 bytes .../telegram-bot-.env.prod.enc | Bin 0 -> 2800 bytes 6 files changed, 70 insertions(+) create mode 100644 secrets-backup/2025-11-11_14-46-50/README.md create mode 100644 secrets-backup/2025-11-11_14-46-50/backend-.env.enc create mode 100644 secrets-backup/2025-11-11_14-46-50/backend-.env.prod.enc create mode 100644 secrets-backup/2025-11-11_14-46-50/secrets.tar.enc create mode 100644 secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.enc create mode 100644 secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.prod.enc diff --git a/secrets-backup/2025-11-11_14-46-50/README.md b/secrets-backup/2025-11-11_14-46-50/README.md new file mode 100644 index 0000000..ffcd544 --- /dev/null +++ b/secrets-backup/2025-11-11_14-46-50/README.md @@ -0,0 +1,70 @@ +# ROA2WEB Secrets Backup + +**Date:** 2025-11-11_14-46-50 +**Backed up files:** 5 +**Encryption:** AES-256-CBC with PBKDF2 + +## Files in this backup: + +### Environment Files: +- backend-.env.enc (encrypted) +- backend-.env.prod.enc (encrypted) +- telegram-bot-.env.enc (encrypted) +- telegram-bot-.env.prod.enc (encrypted) + +### Directories: +- secrets.tar.enc (encrypted tar archive, 4 files) + +## How to restore: + +```bash +# Restore all files automatically: +./scripts/restore-secrets.sh 2025-11-11_14-46-50 + +# Or manually decrypt a single file: +openssl enc -aes-256-cbc -d -pbkdf2 -in backend-.env.enc -out .env + +# When prompted, enter the encryption password +``` + +## Manual restore to specific location: + +```bash +# Backend .env +openssl enc -aes-256-cbc -d -pbkdf2 \ + -in backend-.env.enc \ + -out ../../../reports-app/backend/.env + +# Backend .env.prod +openssl enc -aes-256-cbc -d -pbkdf2 \ + -in backend-.env.prod.enc \ + -out ../../../reports-app/backend/.env.prod + +# Telegram Bot .env +openssl enc -aes-256-cbc -d -pbkdf2 \ + -in telegram-bot-.env.enc \ + -out ../../../reports-app/telegram-bot/.env + +# Telegram Bot .env.prod +openssl enc -aes-256-cbc -d -pbkdf2 \ + -in telegram-bot-.env.prod.enc \ + -out ../../../reports-app/telegram-bot/.env.prod + +# Decrypt and extract secrets directory +openssl enc -aes-256-cbc -d -pbkdf2 -in secrets.tar.enc | \ + tar -xf - -C ../../.. +``` + +## Security Notes: + +- Files encrypted with AES-256-CBC using OpenSSL +- Password-based encryption with PBKDF2 key derivation +- Keep the encryption password safe in your password manager +- Never commit decrypted .env files to git + +## Password Storage Recommendation: + +Store in password manager as: +- **Title:** ROA2WEB Secrets Backup Password +- **Type:** Secure Note or Password +- **Notes:** Encryption password for secrets-backup/2025-11-11_14-46-50 diff --git a/secrets-backup/2025-11-11_14-46-50/backend-.env.enc b/secrets-backup/2025-11-11_14-46-50/backend-.env.enc new file mode 100644 index 0000000000000000000000000000000000000000..bcf9f5d65e386b74703bb31390e22380bf7b7f89 GIT binary patch literal 2848 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 literal 0 HcmV?d00001 diff --git a/secrets-backup/2025-11-11_14-46-50/backend-.env.prod.enc b/secrets-backup/2025-11-11_14-46-50/backend-.env.prod.enc new file mode 100644 index 0000000000000000000000000000000000000000..c1d16c8f9ec340d483e36ed57920c70d6ed34018 GIT binary patch literal 3072 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 literal 0 HcmV?d00001 diff --git a/secrets-backup/2025-11-11_14-46-50/secrets.tar.enc b/secrets-backup/2025-11-11_14-46-50/secrets.tar.enc new file mode 100644 index 0000000000000000000000000000000000000000..e459e27c9ffe6b51718cb8e73912017fa9c901c9 GIT binary patch literal 10272 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 literal 0 HcmV?d00001 diff --git a/secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.enc b/secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.enc new file mode 100644 index 0000000000000000000000000000000000000000..1a0377462b9ab0ed5040e52ae58eaa8aa5dc61f2 GIT binary patch literal 2368 zcmV-G3BUGJVQh3|WM5yS+V3=@udWwr)`E5d0eF`9*rRhSoTNF3P6DMEhR=w$(k#&> zF@Bz0;Q@YE&A*$sv_ENi3MqUW_dyi2l37d4qF~HdxA0hoRES1&jKOow~=bfIk z01Ik>XEm=QY!%Nv+9eKF9rlOFT(Jc&3#&%xwTIA=n=ibHN2u~dYF66t*S3Gn!>sEC z6s3ZpoE~TAZlLQ)X02)v-No3e;4{WbAr{ygfic8>3zw1fNH92GKxk8o?4bnMOO$V; zt@?nNoH9P!#fQX!db+;h1U_Qz6th^C0b57=%Gw*%4}?5pCtX&jn znvsk{7MHrNZR1wf=80$1+|w4T!AgPQ;PYFGu_BogA#Ew!1$FKdRp;7>CpNHsJBA&c zhNx<;bUH_HT*s_|xFI;F$+zK6=&O)n-3j`TUt+uxnCh3NaL?>wIK%Cx2vK$i<#Sk4 z3%>1jmC8WA>OSS^VdT7KSD&}daBR2Qf`4>+Jg*?j(e}S@ZMA%jp&@}Xp{DF4Ik0g!~u9)mPnZ;Fzx<&z5}hJ z51BUjUzT{}uUyc4MZ`oGIt2k`i60cOp$;HsMSy9lhkOzpidMXQ&_Rv37oBCp^R?FM zc?S9+5yl{`?Xe2*uuVH{5zir0njMV~tUtJOFgpyN>_J3cjeT%9t4qR3T zzJuyCTg+}V=p>n9Cd5XEZYPV=$bdGz-0VWl35Ua<=0A}C&AN` zc{h{07Mp)!*=lQs4goR!vwdsyjyxP|y`s&KrA<5Ob=jPz@AqyQkGOMKE^Br@9)wso zIx|w6H1;-pwmrjPi{rXj7CvcQncZn)76z<-S2^4f)K=xIN;nMPPd|JYd3ez+eG7>A zkW=^Sz?qNc1?lud!=i&5AJ_*z!c7>{>#-uV!Pk&1yAH73F7}IIeeX%(zH-F%6qyib zDX-&uUPJWie%I&9@^YxHM=sTD?0!*DMI|3Rmogphv(?)t5L&3a{@fkpUq(HK5fvbA zlX^V187hB>AI+?n$E*#Np=l>;JOw-l{*kUCyXx`X3p)ry>C&RgXs8jBuobKfu26 zm>5ymzR+k^(1n#zFBdoyyvBf}EP?i_43ELFu}nCxqT5<;5eZ75yE?s)Qa{?QL#mM! z^j{u?)F~!17ps_}uk0ymjP!Nh1>67iD!rqkfa4b@LdJ-7nVohDS7lsPe4z9MiwT8{-OKL>Z z5Wps2N`q!@_MWc;2Kq2O3gZfWd#QWOzs?XzZo~9AAXN)_c4>4a3sl-D+|}OyKVmm* zrtUPv14OVd7p!Gd-g+EpUjy)BmssrKH4p)28Q+kMxiq!*y z1Ji!Pl%0vh9-5YCvvusWSagT7^+Q0q3znDpn{1x!7GZrXDVN5niF-u*65E=Au0#hD zSF|qqD{Y9!z)^RuOHi?UcGg2Oyly1!px0lTU1XnK)sJsOiLcp)WW1`9nPw18PrGL!Mh40t zsqUB1Ne40QS`+Nvu^P!v?1k7g0;z7gpfc~u1*StOQ8$}E{$F82oBZF5_is$T1!h3a3u4{;(?73FjG##~Y10%-Pi z-IrT}R4=c5qWZt>9Wt%De~-PMYXs7vj%9T(7KCY`>iK%peT3P6P3wf&GtJ`u2_=wu zbCW;e0bohU%VdDY>_KCqZYFf_vLM?xye?_shpO zRhiHWF^s8%WIF_^BGFZg&a(v#^VJdhkDnu{lZuUflmFT`5G)XWq1LESMk6HjCu)d$+fzH6Zxw z3+>M4rtgeq=kbY*5PYypWa~*#t9z3ubwv){Q0;-HT0?Z- z>XSy*ezh{+drxB%@6V2@ZsTz&4OKi|jt*j`F74g5hIU($V{X&OY}z2vM!Av($Ab4W mwXsgBNoSY=XotYyI*)OkWlMb2THzz)yTqRu-BA5l%A`R=I-mpq literal 0 HcmV?d00001 diff --git a/secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.prod.enc b/secrets-backup/2025-11-11_14-46-50/telegram-bot-.env.prod.enc new file mode 100644 index 0000000000000000000000000000000000000000..be1f59e4a6050164f3b2129f80a58b47689c61e5 GIT binary patch literal 2800 zcmV*DVQh3|WM5w=P>KKAQImTzP7G#x-ej5Z58JTcR=Nt=VIjBhV!(@V^`6QR z303XTs`*74swc%*>s>USuBcBck}pdJ0HHLU+*1YKgCKUuBZW^`R7&_pNgqLggv7;* zyW*SUKZMT1JNBH|<5oR?f7-72@3rUweO1B(hfK)s_ik&I0T&R-Zht>hpR{NxV6Aic z9zCudJ&WChHjAy5r%W%Al{n*gHPnZUEU}tP1B#bj9wOMNu!eBW%@Wm;G1NEMb=R?} z7^k=wKAhBOdok%yY$RMQFlr(o+G39{Od4K0kGrTEtk3sTiv%p8ji&Tuwd^}7vBIKx z#lG;RKQQ^Uy0hGze6sc($tydvK!m13zYhQ^V5LtdBOEmPd>WCS50{f zND&@0(^hyMW6&l*OWk_jppD99%9*~SZZDM^7vIA$L0bCef~&35mI+mkM+_(M(?XpV zk*;X&Lv&-z$-KgN+0cvK4I}6(l_>hitXDiM@f91|Jwf@f>yNukv+$$QK_ZQCYCJWW zoo`4^ukGKgYw{q&_=dp>*Fsr1agdma6v5g`oAE3ZoM-0MWAfqiv7(t$Hg$bParUS~ z*{rOaZ+5!>57X~i%^~Q_XQ?jg<+mL19Wl`Q<@DD3Ab8ikJUD7+T!wPbcY2RNRVY}! zndVcGsq9-k8s{*poZ~X1t{0B)1A&jc^e8oF4f8^vJr?h;)M9l4CW5d`DfmX9#ARVE z?X#|u`C?gB2<`n)#QAo!1-yFux|gc z`Q68#Z4}!+robGx;hPLu8dvAbdYX|hL5V+%)qd>XOP`Xvj#4uy1{2KIYz0ALMqrlI z*gBbHA?y+_{;fiJ(F9UDo@aaX9GkAgS1VkR%~D12oW31fdtlW1{8g8OsPGcK<;!x= zEKQwYJ|Jr2X}&Q^PNsHzKkU3n<|A10zC;zO8zc9nWaP1|k?rbhU!f|V=HqS;b}m&Lt>}q5H!FsT z1#1_LUT=WEhEMr z3?0;#GDCo_v`~hJuHs~WCZx6%+WMVhmb|yHK?IBP`9sj^CCVL*-%S~Q2!MoynQ>ksDvf_cnU=&Q7z1{jl6q)0Kjo7~|{r7g`>L|LM{+@p;onnHJ;sSgx z`plJyD*1(mzcF9T0gpjXhS28m%01@F&`+Ngoj4hc<_+ye=^t(vfs*E} zqzjvw>>i4Oum{u*0=e`O7_dpyHqmlMj+^t>LG-dnp7;7xwVI01O&a;l?n)hyYNXby z!+M0z1zzu@?^qork(DSW}<-d`P0oE@LL`upJf^R+7C!wn9 zy8YO&rwP0fHCz>yYl@NT)WrdMLTJ!YBXJcp{!`ACdRtmpD?DdIRdNqFFZp5t?El6@*)c#l!%P(Yj`Jr>F3e*8d$ zy0V7}=zuno%iKhc$+U|ohj}LBCsjE>*P3MAde6IHmsnLg8x{SMC(uHT_<0T%O$Ec}aKs;wo7TcGJNB6jZNO2Ns-3 ze2ygQjcYgd&TZ;jC#aR=MqPpB2FpK2uiRPERn(AuVsa5cKq_C_e=#i8nx}&fa+}?Vh$giKKAudrkcs_85O94(9kT&25~mx%Vhpk<&P|U>#4B> z$aDZ?Kx$X>6&jhz7Ob-?rPdcC%)Nk%6TUitG@sp1HDLx)IW_!;+BniPEo=*QDHB1+ z^i9o8WqVL*@i!SOw%c&tXc(4HpN`GIL7HEy*UExuhhc`w%b)s#u~`2%6@(g&L5+%# zf2Apeb0|(fG7~(JbV)$Nq>Q&_qBZlGNqm*WHWM6k3in|yrN1~F^>;&D2e5ZLt%F1X z6Z{80G70-BxF6(yP~VTY15ZC~l=N?BO8^P#2&c@M?1f!I=M$bes83bcqgwEcI7T!JTIG3l|_ z-fTN`XTjT4(ZPzW%$EgMHmr`49vkZ=I8iOZ%O^^k#o$8cU9T8byr3uE`bm$H(5H*X zq;%Wm4#e%R+Wd?hbMty_-ZoIO@#gvbNAo4Dh({&$_wQkC-9V!%z_w-;yu`B{Qo26_ zyZ{>9Uh{BRq-VswIw$q5z