<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on besserentwickeln.de</title><link>https://besserentwickeln.de/tags/security/</link><description>Recent content in Security on besserentwickeln.de</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Philipp Tuchardt</copyright><lastBuildDate>Thu, 25 Aug 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://besserentwickeln.de/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Shopware 6: Automatisiertes Security-Update mit GitLab</title><link>https://besserentwickeln.de/p/shopware-6-automatisiertes-security-update-mit-gitlab/</link><pubDate>Thu, 25 Aug 2022 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/shopware-6-automatisiertes-security-update-mit-gitlab/</guid><description>&lt;p>Diese Pipeline erstellt automatisch einen Merge Request mit einem Update des Shopware Security Plugins, basierend auf einem Tag.&lt;/p>
&lt;h2 id="voraussetzungen">Voraussetzungen
&lt;/h2>&lt;ul>
&lt;li>GitLab&lt;/li>
&lt;li>Shopware 6 Composer-Setup&lt;/li>
&lt;/ul>
&lt;h3 id="variablen">Variablen
&lt;/h3>&lt;ul>
&lt;li>SSH_DEPLOY_PRIVATE_KEY
&lt;ul>
&lt;li>Der private Schlüssel eines erstellten Schlüsselpaars muss in dieser Variable gespeichert werden&lt;/li>
&lt;li>Der öffentliche Schlüssel muss unter „Settings &amp;gt; Repository &amp;gt; Deploy Key“ eingetragen werden
&lt;ul>
&lt;li>Nicht vergessen, Schreibrechte zu vergeben&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>SSH_KNOWN_HOSTS
&lt;ul>
&lt;li>Diese aus der &lt;a class="link" href="https://docs.gitlab.com/ee/user/gitlab_com/#ssh-known_hosts-entries" target="_blank" rel="noopener"
>GitLab-Dokumentation&lt;/a> entnehmen&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="code">Code
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">stages&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">security&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">securityUpdate&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">stage&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">security&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">rules&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="k">if&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;$CI_COMMIT_TAG =~ /security-.*/&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">image&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;kellerkinder/pipeline-image:8.0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">before_script&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">eval&lt;/span> &lt;span class="o">$&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ssh&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">agent&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">echo&lt;/span> &lt;span class="s2">&amp;#34;${SSH_DEPLOY_PRIVATE_KEY}&amp;#34;&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">tr&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">d&lt;/span> &lt;span class="s1">&amp;#39;&lt;/span>&lt;span class="se">\r&lt;/span>&lt;span class="s1">&amp;#39;&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">ssh&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">add&lt;/span> &lt;span class="o">-&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">mkdir&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">~/.&lt;/span>&lt;span class="n">ssh&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="o">~/.&lt;/span>&lt;span class="n">ssh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">known_hosts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">echo&lt;/span> &lt;span class="s2">&amp;#34;$SSH_KNOWN_HOSTS&amp;#34;&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="o">~/.&lt;/span>&lt;span class="n">ssh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">known_hosts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">chmod&lt;/span> &lt;span class="mi">700&lt;/span> &lt;span class="o">~/.&lt;/span>&lt;span class="n">ssh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">config&lt;/span> &lt;span class="n">user&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span> &lt;span class="s2">&amp;#34;security&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">config&lt;/span> &lt;span class="n">user&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">email&lt;/span> &lt;span class="s2">&amp;#34;ci@example&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">remote&lt;/span> &lt;span class="n">remove&lt;/span> &lt;span class="n">origin&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="bp">true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">remote&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="n">origin&lt;/span> &lt;span class="s2">&amp;#34;git@gitlab.com:path/repo.git&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">script&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">cd&lt;/span> &lt;span class="o">$&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="n">CI_PROJECT_DIR&lt;/span>&lt;span class="p">}&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="n">composer&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">interaction&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">optimize&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">autoloader&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">composer&lt;/span> &lt;span class="n">update&lt;/span> &lt;span class="n">store&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">shopware&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">swagplatformsecurity&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">checkout&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">b&lt;/span> &lt;span class="n">feature&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">security&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">patch&lt;/span>&lt;span class="o">-$&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">date&lt;/span> &lt;span class="o">+%&lt;/span>&lt;span class="n">F&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">A&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="o">|&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">diff&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">cached&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">quiet&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">then&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">echo&lt;/span> &lt;span class="s2">&amp;#34;Kein Security-Update verfügbar – nichts zu committen.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">exit&lt;/span> &lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">commit&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">m&lt;/span> &lt;span class="s2">&amp;#34;Security Update $(date +&lt;/span>&lt;span class="si">%F&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span> &lt;span class="n">git&lt;/span> &lt;span class="n">push&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">set&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">upstream&lt;/span> &lt;span class="n">origin&lt;/span> &lt;span class="n">feature&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">security&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">patch&lt;/span>&lt;span class="o">-$&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">date&lt;/span> &lt;span class="o">+%&lt;/span>&lt;span class="n">F&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="beispiel-tag">Beispiel-Tag
&lt;/h2>&lt;p>&lt;code>security-YYMMDD&lt;/code>&lt;/p></description></item><item><title>SSH Key</title><link>https://besserentwickeln.de/n/ssh-key/</link><pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/n/ssh-key/</guid><description>&lt;p>Dank des &lt;a class="link" href="https://www.youtube.com/watch?v=qvdlLTyUJ5I" target="_blank" rel="noopener"
>Talks&lt;/a> von &lt;a class="link" href="https://martin.leyrer.priv.at/" target="_blank" rel="noopener"
>Martin Leyrer&lt;/a> werden meine SSH-Keys jetzt so generiert:&lt;/p>
&lt;p>&lt;code>ssh-keygen -t ed25519 -a 420 -f ~/.ssh/id_ed25519 -C &amp;quot;foo@ba.de&amp;quot;&lt;/code>&lt;/p></description></item></channel></rss>