My thoughtsJust do it!http://nkey.de/feed2023-06-28T21:15:18+02:00Text-Export für Wikipedia-Artikel<p>Falls man mal einen Wikipedia-Artikel im Text-Format benötigt (bspw. um ein neuronales Netz zu testen oder zu trainieren), kann diesen im JSon-Format exportieren. Dazu einfach einen Link im Browser mit diesen GET-Query-String eingeben:</p>
<p><a href="https://de.wikipedia.org/w/api.php?action=query&format=json&titles=Berlin&prop=extracts&exintro&explaintext">https://de.wikipedia.org/w/api.php?action=query&format=json&titles=Berlin&prop=extracts&exintro&explaintext</a></p>
<p> </p>
<p>Ausgabe:</p>
<pre><code data-language="javascript">{
"batchcomplete": "",
"query": {
"pages": {
"2552494": {
"pageid": 2552494,
"ns": 0,
"title": "Berlin",
"extract": "Berlin [b\u025br'li:n] ist die Hauptstadt und ein Land der Bundesrepublik Deutschland. Die Gro\u00dfstadt ist mit rund 3,8 Millionen Einwohnern die ...."
}
}
}
}
</code></pre>http://nkey.de/post/text-export-fuer-wikipedia-artikel/2023-06-28T21:15:18+02:00Firewall-Regeln gegen Spam & Bruteforce<p>Es nervt immer, dass maillog zu voll gemüllt zu sehen mit Anmeldungsversuchen, die nur ein Ziel haben: Identitätsdiebstahl für Spamming und anderen Shit, den kein Mensch braucht.</p>
<p>Hier mal ein paar Rules für iptables, um die Barriere für Spammer und Scriptkiddies höher zu setzen:</p>
<pre class="nb-console">-A INPUT -s 87.246.7.0/24 -j DROP<br />-A INPUT -s 103.151.122.0/24 -j DROP<br />-A INPUT -s 103.151.123.0/24 -j DROP<br />-A INPUT -s 103.151.149.0/24 -j DROP<br />-A INPUT -s 192.64.236.0/22 -j DROP<br />-A INPUT -s 212.70.149.0/24 -j DROP<br />-A INPUT -s 45.133.1.0/24 -j DROP<br />-A INPUT -s 78.128.113.0/24 -j DROP<br />-A INPUT -s 77.40.2.0/23 -j DROP<br />-A INPUT -s 5.188.206.0/24 -j DROP<br />-A INPUT -s 45.144.225.0/24 -j DROP<br />-A INPUT -s 45.133.1.0/24 -j DROP<br />-A INPUT -s 37.0.8.0/24 -j DROP<br />-A INPUT -s 31.210.21.0/24 -j DROP<br />-A INPUT -s 212.192.241.0/24 -j DROP<br />-A INPUT -s 2.56.56.0/22 -j DROP<br />-A INPUT -s 195.133.40.0/24 -j DROP<br />-A INPUT -s 188.162.192.0/21 -j DROP<br />-A INPUT -s 136.144.41.0/24 -j DROP<br />-A INPUT -s 167.114.88.80/28 -j DROP<br />-A INPUT -s 37.0.10.0/24 -j DROP<br />-A INPUT -s 31.210.20.0/24 -j DROP<br />-A INPUT -s 212.192.241.0/24 -j DROP<br />-A INPUT -s 136.144.41.0/24 -j DROP<br />-A INPUT -s 37.0.11.0/24 -j DROP<br />-A INPUT -s 188.162.32.0/19 -j DROP<br />-A INPUT -s 5.188.206.0/24 -j DROP<br />-A INPUT -s 95.130.124.0/22 -j DROP<br />-A INPUT -s 103.207.36.0/22 -j DROP<br />-A INPUT -s 37.98.160.0/19 -j DROP<br />-A INPUT -s 77.247.110.0/24 -j DROP<br />-A INPUT -s 193.56.29.0/24 -j DROP</pre>
<p>Die Bereiche sind anhand dieser Commands herausgefunden worden:</p>
<pre class="nb-console">grep -A1 "failed mail authentication attempt for user" /var/log/maillog |grep "authentication fail" | perl -pe 's#.*unknown\[([^\]].*?)\].*#\1#' |uniq<br />whois ...</pre>
<p>Die Bereich stammen aus Russland, Vietnam und sehr viel kommt auch aus den Niederlanden.</p>
<p> </p>http://nkey.de/post/firewall-regeln-gegen-spam-bruteforce/2021-09-04T08:33:26+02:00CentOS 6 auffrischen<p>CentOS 6.10 hatte sein End-of-Life November 30th, 2020. Doch damit ist die Software ja nicht tot. Wir können ihr helfen, noch ein wenig weiter zu leben. Es werden dazu ein Base-Repository für Installation etwaiger fehlender Pakete sowie Repositories aus ähnlichen oder regänzenden Distributionen benötigt.</p>
<p>1. Einrichtung des neuen Base-Repositories</p>
<p>Hierzu verweise ich auf ein anderes Dokument, was ich auch dafür verwendet habe. Bitte lasst einen Coffee dort, es ist Gold wert!</p>
<p>-> <a href="https://www.getpagespeed.com/server-setup/how-to-fix-yum-after-centos-6-went-eol">https://www.getpagespeed.com/server-setup/how-to-fix-yum-after-centos-6-went-eol</a></p>
<p> </p>
<p>2. Installation weiterer Packages um die Toolchain zu erneuern</p>
<p>Mit dem Compiler GCC 4.4 aus dem Jahre 2009 können diverse neue Packages nicht mehr gebaut werden. Glücklicherweise gibt es Standard-Lösungen für dieses Problem.</p>
<p>Scientific Linux ist genau wie CentOS ein Rebuild der Redhat Enterprise Distribution und somit hochgradig kompatibel mit zweiterem. Nutzen wir die Distribution als Ergänzung für unser Basis-System.</p>
<p>2a) Aktivierung des GPG-Keys</p>
<pre><code data-language="shell">rpm import http://ftp.scientificlinux.org/linux/scientific/obsolete/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern</code></pre>
<p>2b) Hinterlegen der Repository-Configuration für yum</p>
<pre><code data-language="shell">wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo</code></pre>
<p>2c) Installation einer aktuelleren Entwickler-Toolchain</p>
<pre><code data-language="shell">yum install devtoolset-2</code></pre>
<p>3. Nutzung der neuen Toolchain</p>
<p>Jetzt prüfen wir zunächst die alte Toolchain um den Unterschied feststellen zu können:</p>
<pre><code data-language="shell">gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</code></pre>
<p>Der folgende Command aktiviert die neue Toolchain und muss bei jeder Sitzung neu ausgeführt werden:</p>
<pre><code data-language="shell">scl enable devtoolset-2 bash</code></pre>
<p>Damit wird eine neue Shell geladen, in der die Pfade bereits so konfiguriert sind, dass die neue Toolchain standard ist:</p>
<pre><code data-language="shell">gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</code></pre>
<p>Viel Spaß!</p>http://nkey.de/post/centos-6-auffrischen/2021-03-06T09:16:12+01:00Gültiges selbstsigniertes Zertifikat erstellen<p>Ein gültiges Zertifikat zu erstellen ist keine Zauberei. Chrome (und ggf. auch andere Browser) prüfen die Zertifikate auf signifikante Attribute um eine größtmögliche Sicherheit zu gewährleisten.</p>
<p>In den neuen Versionen von Chrome werden Zertifikate mit einem Common-Name als ungültig betrachtet, wenn das Attribute subjectAltName nicht gesetzt ist (siehe auch <a href="https://support.google.com/chrome/a/answer/7391219?hl=de">https://support.google.com/chrome/a/answer/7391219?hl=de</a>) und ein Aufruf wird mit der Meldung NET::ERR_CERT_COMMON_NAME_INVALID quitiert.</p>
<p>Damit dieses Problem nicht auftritt gibt es die Möglichkeit, ein Zertifikat mit diesem Attribut zu versehen, während man es via openssl erstellt. Unter anderem kann man eine recht komplexe Kommandoabfolge verwenden (Rezept):</p>
<pre class="nb-console">openssl req \<br /> -x509 \<br /> -newkey rsa:4096 \<br /> -reqexts SAN \<br /> -config <(cat /etc/pki/tls/openssl.cnf \<br /> <(printf "\n[SAN]\nsubjectAltName=DNS:domain.tld,DNS:site.domain.tld")) \<br /> -keyout /etc/ssl/certs/site-key.pem \<br /> -out /etc/ssl/certs/site-cert.pem \<br /> -days 365 \<br /> -nodes \<br /> -subj "/C=DE/CN=site/O=site.domain.tld"</pre>
<p>Dieses Kommando erstellt ein Zertifikat für die Domain site.domain.tld sowie dem Alternativnamen domain.tld via einer temporären Erweiterung. Der Parameter bereitet openssl darauf vor, die Erweiterung SAN aus der Konfiguration anzufordern. Da in der Datei /etc/pki/tls/openssl.conf (der Pfad ist für CentOS 6 gültig, andere Distributionen können variieren) eine solche Erweiterung bestimmt nicht konfiguriert ist, wird der Rest via Parameter -config eingefügt.</p>
<p>Die Schlüsselbittiefe ist ebenso an die eigenen Bedürfnisse anzupassen, wie die Domainnamen und Pfade.</p>
<p>Ich übernehme keine Verantwortung für etwaige Probleme mit der SSL-Konfiguration. Bitte kontrolliert auf jeden Fall eure Einstellung, bevor ihr diese Kommandos ausführen wollt.</p>
<p> </p>
<p>Das erstellte Zertifikat kann beispielsweise in den Apache oder nginx eingebaut werden. Anschließend kann man das Zertifikat natürlich auch mit dem Browser herunterladen und in den eigenen CA-Storage hinzufügen, um ihm endgültig zu vertrauen.</p>http://nkey.de/post/gueltiges-selbstsigniertes-zertifikat-erstellen/2019-05-09T23:32:55+02:00