Simplicity is a form of art... - Securityhttps://blog.siphos.be/Sat, 03 Mar 2018 13:20:00 +0100Automating compliance checkshttps://blog.siphos.be/2018/03/automating-compliance-checks/<p>With the configuration baseline for a technical service being described fully (see the <a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/">first</a>, <a href="https://blog.siphos.be/2018/01/structuring-a-configuration-baseline/">second</a> and <a href="https://blog.siphos.be/2018/01/documenting-a-rule/">third</a> post in this series), it is time to consider the validation of the settings in an automated manner. The preferred method for this is to use <em>Open Vulnerability and Assessment Language (OVAL)</em>, which is nowadays managed by the <a href="https://oval.cisecurity.org/">Center for Internet Security</a>, abbreviated as CISecurity. Previously, OVAL was maintained and managed by Mitre under NIST supervision, and Google searches will often still point to the old sites. However, documentation is now maintained on CISecurity's <a href="https://github.com/OVALProject/Language/tree/5.11.2/docs">github repositories</a>.</p> <p>But I digress...</p> Sven VermeulenSat, 03 Mar 2018 13:20:00 +0100tag:blog.siphos.be,2018-03-03:/2018/03/automating-compliance-checks/SecurityxccdfovalscapbaselineDocumenting a rulehttps://blog.siphos.be/2018/01/documenting-a-rule/<p>In the <a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/">first post</a> I talked about why configuration documentation is important. In the <a href="https://blog.siphos.be/2018/01/structuring-a-configuration-baseline/">second post</a> I looked into a good structure for configuration documentation of a technological service, and ended with an XCCDF template in which this documentation can be structured.</p> <p>The next step is to document the rules themselves, i.e. the actual content of a configuration baseline.</p> Sven VermeulenWed, 24 Jan 2018 20:40:00 +0100tag:blog.siphos.be,2018-01-24:/2018/01/documenting-a-rule/SecurityxccdfscapbaselineStructuring a configuration baselinehttps://blog.siphos.be/2018/01/structuring-a-configuration-baseline/<p>A good configuration baseline has a readable structure that allows all stakeholders to quickly see if the baseline is complete, as well as find a particular setting regardless of the technology. In this blog post, I'll cover a possible structure of the baseline which attempts to be sufficiently complete and technology agnostic.</p> <p>If you haven't read the blog post on <a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/">documenting configuration changes</a>, it might be a good idea to do so as it declares the scope of configuration baselines and why I think XCCDF is a good match for this.</p> Sven VermeulenWed, 17 Jan 2018 09:10:00 +0100tag:blog.siphos.be,2018-01-17:/2018/01/structuring-a-configuration-baseline/SecurityxccdfscapbaselineDocumenting configuration changeshttps://blog.siphos.be/2018/01/documenting-configuration-changes/<p>IT teams are continuously under pressure to set up and maintain infrastructure services quickly, efficiently and securely. As an infrastructure architect, my main concerns are related to the manageability of these services and the secure setup. And within those realms, a properly documented configuration setup is in my opinion very crucial.</p> <p>In this blog post series, I'm going to look into using the <em>Extensible Configuration Checklist Description Format (XCCDF)</em> as the way to document these. This first post is an introduction to XCCDF functionally, and what I position it for.</p> Sven VermeulenSun, 07 Jan 2018 21:20:00 +0100tag:blog.siphos.be,2018-01-07:/2018/01/documenting-configuration-changes/SecurityxccdfscapbaselineAuthenticating with U2Fhttps://blog.siphos.be/2017/09/authenticating-with-u2f/<p>In order to further secure access to my workstation, after the <a href="http://blog.siphos.be/2017/08/switch-to-gentoo-sources/">switch to Gentoo sources</a>, I now enabled two-factor authentication through my Yubico U2F USB device. Well, at least for local access - remote access through SSH requires both userid/password as well as the correct SSH key, by <a href="https://lwn.net/Articles/544640/">chaining authentication methods in OpenSSH</a>.</p> <p>Enabling U2F on (Gentoo) Linux is fairly easy. The various guides online which talk about the <code>pam_u2f</code> setup are indeed correct that it is fairly simple. For completeness sake, I've documented what I know on the Gentoo Wiki, as the <a href="https://wiki.gentoo.org/wiki/Pam_u2f">pam_u2f article</a>.</p> Sven VermeulenMon, 11 Sep 2017 18:25:00 +0200tag:blog.siphos.be,2017-09-11:/2017/09/authenticating-with-u2f/Securitygentoosecurityyubicou2fpamMatching MD5 SSH fingerprinthttps://blog.siphos.be/2017/05/matching-md5-ssh-fingerprint/<p>Today I was attempting to update a local repository, when SSH complained about a changed fingerprint, something like the following:</p> <div class="highlight"><pre><span></span><code>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:p4ZGs+YjsBAw26tn2a+HPkga1dPWWAWX+NEm4Cv4I9s. Please contact your system administrator. Add correct host key in /home/user/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/user/.ssh/known_hosts:9 ECDSA host key for 192.168.56.101 has changed and you have requested strict checking. Host key verification failed. </code></pre></div> Sven VermeulenThu, 18 May 2017 18:20:00 +0200tag:blog.siphos.be,2017-05-18:/2017/05/matching-md5-ssh-fingerprint/Securityopensshfingerprintmd5Talk about SELinux on GSE Linux/Securityhttps://blog.siphos.be/2014/03/talk-about-selinux-on-gse-linuxsecurity/<p>On today's <a href="http://www.gsebelux.com">GSE Linux / GSE Security</a> meeting (in cooperation with <a href="http://www.imug.be/events_be/IMUG_LinuxSecurity_Event.asp">IMUG</a>) I gave a small (30 minutes) presentation about what SELinux is. The <a href="http://dev.gentoo.org/~swift/blog/201403/20140325_GSE_SELinux.pdf">slides are online</a> and cover two aspects of SELinux: some of its design principles, and then a set of features provided by SELinux. The talk is directed …</p>Sven VermeulenTue, 25 Mar 2014 23:11:00 +0100tag:blog.siphos.be,2014-03-25:/2014/03/talk-about-selinux-on-gse-linuxsecurity/Securitygsemainframes390xsecurityselinuxzenterpriseGiving weights to compliance ruleshttps://blog.siphos.be/2013/12/giving-weights-to-compliance-rules/<p>Now that we wrote up a few OVAL statements and used those instead of SCE driven checks (where possible), let's finish up and go back to the XCCDF document and see how we can put weights in place.</p> <p>The <strong>CVE (Common Vulnerability Exposure)</strong> standard allows for vulnerabilities to be given …</p>Sven VermeulenThu, 26 Dec 2013 04:13:00 +0100tag:blog.siphos.be,2013-12-26:/2013/12/giving-weights-to-compliance-rules/SecurityccsscvssscapxccdfDoing a content check with OVALhttps://blog.siphos.be/2013/12/doing-a-content-check-with-oval/<p>Let's create an OVAL check to see if <code>/etc/inittab</code>'s single user definitions only refer to <code>/sbin/sulogin</code> or <code>/sbin/rc single</code>. First, the skeleton:</p> <p>(XML content lost during blog conversion)</p> <p>The first thing we notice is that there are several namespaces defined within OVAL. These namespaces refer to …</p>Sven VermeulenTue, 24 Dec 2013 04:25:00 +0100tag:blog.siphos.be,2013-12-24:/2013/12/doing-a-content-check-with-oval/SecurityopenscapovalscapxccdfWhat is OVAL?https://blog.siphos.be/2013/12/what-is-oval/<p>Time to discuss <strong>OVAL (Open Vulnerability Assessment Language)</strong>. In all the <a href="http://blog.siphos.be/2013/12/running-a-bit-with-the-xccdf-document/">previous posts</a> I focused the checking of rules (does the system comply with the given rule) on scripts, through the Script Check Engine supported by openscap. The advantage of SCE is that most people can quickly provide automated checks …</p>Sven VermeulenSun, 22 Dec 2013 04:40:00 +0100tag:blog.siphos.be,2013-12-22:/2013/12/what-is-oval/SecurityopenscapovalscapscexccdfRemediation through SCAPhttps://blog.siphos.be/2013/12/remediation-through-scap/<p>I promised in my <a href="http://blog.siphos.be/2013/12/running-a-bit-with-the-xccdf-document/">previous post</a> to give some information about remediation.</p> <p>Remediation is the process where you fix a system to become compliant again after finding out there is a violation on the system. The easiest form of remediation of course is to just notify the administrator and give …</p>Sven VermeulenFri, 20 Dec 2013 04:47:00 +0100tag:blog.siphos.be,2013-12-20:/2013/12/remediation-through-scap/SecurityopenscapremediationscapxccdfRunning a bit with the XCCDF documenthttps://blog.siphos.be/2013/12/running-a-bit-with-the-xccdf-document/<p>In my <a href="http://blog.siphos.be/2013/12/xccdf-documenting-a-bit-more-than-just-descriptions/">previous post</a> I introduced automated checking of rules through <em>SCE (Script Check Engine)</em>. Let's focus a bit more now on running with an XCCDF document: how to automatically check the system, read the results and find more information of those results.</p> <p>To provide a usable example, you can …</p>Sven VermeulenWed, 18 Dec 2013 04:23:00 +0100tag:blog.siphos.be,2013-12-18:/2013/12/running-a-bit-with-the-xccdf-document/SecurityopenscapscapscexccdfXCCDF - Documenting a bit more than just descriptionshttps://blog.siphos.be/2013/12/xccdf-documenting-a-bit-more-than-just-descriptions/<p>In my <a href="http://blog.siphos.be/2013/12/an-xccdf-skeleton-for-postgresql/">previous post</a> I made a skeleton XCCDF document. By now, we can create a well documented "baseline" (best practice) for our subject (say PostgreSQL). But for now I only talked about <code>&lt;description&gt;</code> whereas XCCDF allows many other tags as well.</p> <p>You can add <em>metadata</em> information for a particular …</p>Sven VermeulenMon, 16 Dec 2013 04:58:00 +0100tag:blog.siphos.be,2013-12-16:/2013/12/xccdf-documenting-a-bit-more-than-just-descriptions/SecurityopenscapscapscexccdfAn XCCDF skeleton for PostgreSQLhttps://blog.siphos.be/2013/12/an-xccdf-skeleton-for-postgresql/<p>In a <a href="http://blog.siphos.be/2013/12/documenting-security-best-practices-xccdf-introduction/">previous post</a> I wrote about the documentation structure I have in mind for a PostgreSQL security best practice. Considering what XCCDF can give us, the idea is to have the following structure:</p> <div class="highlight"><pre><span></span><code>Hardening PostgreSQL +- Basic setup +- Instance level configuration | +- Pre-startup configuration | `- PostgreSQL internal configuration +- Database recommendations `- User definitions …</code></pre></div>Sven VermeulenSat, 14 Dec 2013 04:00:00 +0100tag:blog.siphos.be,2013-12-14:/2013/12/an-xccdf-skeleton-for-postgresql/SecuritypostgresqlscapxccdfDocumenting security best practices - XCCDF introductionhttps://blog.siphos.be/2013/12/documenting-security-best-practices-xccdf-introduction/<p>When I have some free time, I try to work on a <a href="http://dev.gentoo.org/~swift/docs/security_benchmarks/gentoo.html">Gentoo Security Benchmark</a> which not only documents security best practices (loosely based on the <a href="http://www.gentoo.org/doc/en/security/security-handbook.xml">Gentoo Security Handbook</a> which hasn't seen much updates in the last few years) but also uses the SCAP protocols. This set of protocols allows …</p>Sven VermeulenThu, 12 Dec 2013 16:04:00 +0100tag:blog.siphos.be,2013-12-12:/2013/12/documenting-security-best-practices-xccdf-introduction/SecuritypostgresqlscapxccdfThe mix of libffi with other changeshttps://blog.siphos.be/2013/11/the-mix-of-libffi-with-other-changes/<p>I <a href="http://blog.siphos.be/2013/04/securely-handling-libffi/">once again</a> came across libffi. Not only does the libffi approach fight with SELinux alone, it also triggers the TPE (Trusted Path Execution) protections in grSecurity. And when I tried to reinstall Portage, Portage seemed to create some sort of runtime environment in a temporary directory as well, and …</p>Sven VermeulenSun, 03 Nov 2013 10:27:00 +0100tag:blog.siphos.be,2013-11-03:/2013/11/the-mix-of-libffi-with-other-changes/SecurityGentoohardenedlibffiportageselinuxIn-browser encryption for online password managementhttps://blog.siphos.be/2013/10/in-browser-encryption-for-online-password-management/<p>Lately I've been trying to find a good free software project that uses PHP or cgi-bin (one of the requirements for this particular organization) that allows its users to store passwords centrally, but uses encryption on the browser level before the passwords are sent to the central server. I've found …</p>Sven VermeulenSun, 20 Oct 2013 21:29:00 +0200tag:blog.siphos.be,2013-10-20:/2013/10/in-browser-encryption-for-online-password-management/SecurityaesencryptionjavascriptpasswordpasswordmanagementSwitching gpg key to 0x2EDD52403B68AF47https://blog.siphos.be/2013/09/switching-gpg-key-to-0x2edd52403b68af47/<p>I recently switched my GnuPG key. The previous key - which is still in place for now (no revocation send out yet) - was 0x5DFAB3ECCDBA2FDB and was a 1024 bit DSA key. The new one, 0x2EDD52403B68AF47, is a 4096 bit RSA key. It also has the following preferences:</p> <div class="highlight"><pre><span></span><code>gpg&gt; showpref [ultimate] (1 …</code></pre></div>Sven VermeulenThu, 19 Sep 2013 21:17:00 +0200tag:blog.siphos.be,2013-09-19:/2013/09/switching-gpg-key-to-0x2edd52403b68af47/Securitygpgkeycvechecker 3.3 releasedhttps://blog.siphos.be/2013/09/cvechecker-3-3-released/<p>I just uploaded a new release of <a href="http://cvechecker.sf.net">cvechecker</a> to the project files. The release is a (long overdue) bugfix release, but includes two small enhancements: support standard input for the binary list (so you can pipe the output of one command to cvechecker) and the introduction of the <code>CVECHECKER_CONFFILE</code> variable …</p>Sven VermeulenMon, 16 Sep 2013 16:06:00 +0200tag:blog.siphos.be,2013-09-16:/2013/09/cvechecker-3-3-released/SecuritycvecheckerreleasePutting OVAL at workhttps://blog.siphos.be/2013/08/putting-oval-at-work/<p>When we look at the <a href="http://scap.nist.gov/">SCAP security standards</a>, you might get the feeling of "How does this work". The underlying interfaces, like OVAL and XCCDF, might seem a bit daunting to implement.</p> <p>This is correct, but you need to remember that the standards are protocols, agreements that can be made …</p>Sven VermeulenThu, 01 Aug 2013 15:01:00 +0200tag:blog.siphos.be,2013-08-01:/2013/08/putting-oval-at-work/SecuritybaselinebenchmarkovalsecurityxccdfLooking at the local Linux kernel privilege escalationhttps://blog.siphos.be/2013/05/looking-at-the-local-linux-kernel-privilege-escalation/<p>There has been a few posts already on the local Linux kernel privilege escalation, which has received the <a href="https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-2094">CVE-2013-2094</a> ID. <a href="http://arstechnica.com/security/2013/05/critical-linux-vulnerability-imperils-users-even-after-silent-fix/">arstechnica</a> has a write-up with links to good resources on the Internet, but I definitely want to point readers to the <a href="http://www.reddit.com/r/netsec/comments/1eb9iw/sdfucksheeporgs_semtexc_local_linux_root_exploit/c9ykrck">explanation</a> that Brad Spengler made on the vulnerability.</p> <p>In …</p>Sven VermeulenFri, 17 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-17:/2013/05/looking-at-the-local-linux-kernel-privilege-escalation/SecurityeventgrsecuritykernexeclinuxpaxperfselinuxuderefvulnerabilityHighlevel assessment of Cdorked and Gentoo Hardened/SELinuxhttps://blog.siphos.be/2013/05/highlevel-assessment-of-cdorked-and-gentoo-hardenedselinux/<p>With all the <a href="http://www.welivesecurity.com/2013/05/07/linuxcdorked-malware-lighttpd-and-nginx-web-servers-also-affected/">reports</a> surrounding <a href="https://threatpost.com/attack-using-backdoored-apache-binaries-to-lead-to-blackhole-kit/">Cdorked</a>, I took a look at if SELinux and/or other Gentoo Hardened technologies could reduce the likelihood that this infection occurs on your system.</p> <p>First of all, we don't know yet how the malware gets installed on the server. We do know that the …</p>Sven VermeulenTue, 14 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-14:/2013/05/highlevel-assessment-of-cdorked-and-gentoo-hardenedselinux/SecurityapachecdorkedGentoohardenedimaselinuxOverview of Linux capabilities, part 3https://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-3/<p>In <a href="http://blog.siphos.be/2013/05/capabilities-a-short-intro/">previous</a> <a href="http://blog.siphos.be/2013/05/restricting-and-granting-capabilities/">posts</a> <a href="http://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-1/">I</a> <a href="http://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-2/">talked</a> about capabilities and gave an introduction to how this powerful security feature within Linux can be used (and also exploited). I also covered a few capabilities, so let's wrap this up with the remainder of them.</p> <dl> <dt>CAP_AUDIT_CONTROL</dt> <dd>Enable and disable kernel auditing; change auditing filter …</dd></dl>Sven VermeulenMon, 06 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-06:/2013/05/overview-of-linux-capabilities-part-3/SecuritycapabilitiescapshlibcaplinuxOverview of Linux capabilities, part 2https://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-2/<p>As I've (in a very high level) <a href="http://blog.siphos.be/2013/05/capabilities-a-short-intro/">described capabilities</a> and talked a bit on how to <a href="http://blog.siphos.be/2013/05/restricting-and-granting-capabilities/">work with them</a>, I started with a small overview of <a href="http://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-1/">file-related</a> capabilities. So next up are process-related capabilities (note, this isn't a conform terminology, more some categorization that I do myself).</p> <dl> <dt>CAP_IPC_LOCK</dt> <dd>Allow the …</dd></dl>Sven VermeulenSun, 05 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-05:/2013/05/overview-of-linux-capabilities-part-2/SecuritycapabilitiesgrsecuritylinuxnosuidselinuxtpeOverview of Linux capabilities, part 1https://blog.siphos.be/2013/05/overview-of-linux-capabilities-part-1/<p>In the <a href="http://blog.siphos.be/2013/05/capabilities-a-short-intro/">previous</a> <a href="http://blog.siphos.be/2013/05/restricting-and-granting-capabilities/">posts</a>, I talked about capabilities and how they can be used to allow processes to run in a privileged fashion without granting them full root access to the system. An example given was how capabilities can be leveraged to run <strong>ping</strong> without granting it setuid root rights …</p>Sven VermeulenSat, 04 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-04:/2013/05/overview-of-linux-capabilities-part-1/SecuritycapabilitieslinuxRestricting and granting capabilitieshttps://blog.siphos.be/2013/05/restricting-and-granting-capabilities/<p>As <a href="http://blog.siphos.be/2013/05/capabilities-a-short-intro">capabilities</a> are a way for running processes with some privileges, without having the need to grant them root privileges, it is important to understand that they exist if you are a system administrator, but also as an auditor or other security-related function. Having processes run as a non-root user …</p>Sven VermeulenFri, 03 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-03:/2013/05/restricting-and-granting-capabilities/SecuritycapabilitieslinuxCapabilities, a short introhttps://blog.siphos.be/2013/05/capabilities-a-short-intro/<p>Capabilities. You probably have heard of them already, but when you start developing SELinux policies, you'll notice that you come in closer contact with them than before. This is because SELinux, when applications want to do something "root-like", checks the capability of that application. Without SELinux, this either requires the …</p>Sven VermeulenThu, 02 May 2013 03:50:00 +0200tag:blog.siphos.be,2013-05-02:/2013/05/capabilities-a-short-intro/SecuritycapabilitieslinuxpingselinuxSecurely handling libffihttps://blog.siphos.be/2013/04/securely-handling-libffi/<p>I've recently came across <a href="http://sourceware.org/libffi/">libffi</a> again. No, not because it was mentioned during the <a href="http://www.gentoo.org/proj/en/hardened">Gentoo Hardened</a> online meeting, but because my <code>/var/tmp</code> wasn't mounted correctly, and <strong>emerge</strong> (actually python) uses libffi. Most users won't notice this, because libffi works behind the scenes. But when it fails, it fails bad …</p>Sven VermeulenSun, 28 Apr 2013 03:50:00 +0200tag:blog.siphos.be,2013-04-28:/2013/04/securely-handling-libffi/SecuritylibffiselinuxstraceMitigating DDoS attackshttps://blog.siphos.be/2013/04/mitigating-ddos-attacks/<p>Lately, DDoS attacks have been in the news more than I was hoping for. It seems that the botnets or other methods that are used to generate high-volume traffic to a legitimate service are becoming more and more easy to get and direct. At the time that I'm writing this …</p>Sven VermeulenMon, 22 Apr 2013 03:50:00 +0200tag:blog.siphos.be,2013-04-22:/2013/04/mitigating-ddos-attacks/SecurityddosdnsmitigationsecurityWhat could SELinux have done to mitigate the postgresql vulnerability?https://blog.siphos.be/2013/04/what-could-selinux-have-done-to-mitigate-the-postgresql-vulnerability/<p><a href="http://www.gentoo.org">Gentoo</a> is one of the various distributions which supports <a href="http://www.gentoo.org/proj/en/hardened/selinux">SELinux</a> as a <em>Mandatory Access Control</em> system to, amongst other things, mitigate the results of a succesfull exploit against software. So what about the recent <a href="http://www.postgresql.org/support/security/faq/2013-04-04/">PostgreSQL vulnerability</a>?</p> <p>When correctly configured, the PostgreSQL daemon will run in the <code>postgresql_t</code> domain. In SELinux-speak …</p>Sven VermeulenTue, 16 Apr 2013 14:00:00 +0200tag:blog.siphos.be,2013-04-16:/2013/04/what-could-selinux-have-done-to-mitigate-the-postgresql-vulnerability/SecuritypostgresqlselinuxvulnerabilityHow far reaching vulnerabilities can gohttps://blog.siphos.be/2013/04/how-far-reaching-vulnerabilities-can-go/<p>If you follow the news a bit, you know that PostgreSQL has had a significant security vulnerability. The PostgreSQL team announced it up front and communicated how they would deal with the vulnerability (which basically comes down to saying that it is severe, that the public repositories will be temporarily …</p>Sven VermeulenTue, 09 Apr 2013 19:39:00 +0200tag:blog.siphos.be,2013-04-09:/2013/04/how-far-reaching-vulnerabilities-can-go/SecurityfirewallpatchingpostgresqlsecurityUsing stunnel for mutual authenticationhttps://blog.siphos.be/2012/12/using-stunnel-for-mutual-authentication/<p>Sometimes services do not support SSL/TLS, or if they do, they do not support using mutual authentication (i.e. requesting that the client also provides a certificate which is trusted by the service). If that is a requirement in your architecture, you can use <strong>stunnel</strong> to provide this additional …</p>Sven VermeulenSat, 08 Dec 2012 14:24:00 +0100tag:blog.siphos.be,2012-12-08:/2012/12/using-stunnel-for-mutual-authentication/SecurityPerimeter security testinghttps://blog.siphos.be/2012/08/perimeter-security-testing/<p>I've been asked a few times how I would do perimeter security testing. Personally, I'm not an offensive security guy, more a defensive one, meaning I'm more about security-related defensive methods rather than PEN testing of any kind. But still, even in a defensive position, having a "view" on how …</p>Sven VermeulenTue, 28 Aug 2012 22:47:00 +0200tag:blog.siphos.be,2012-08-28:/2012/08/perimeter-security-testing/SecurityHardening the Linux kernel updateshttps://blog.siphos.be/2012/07/hardening-the-linux-kernel-updates/<p>Thanks to a comment by Andy, the <a href="https://dev.gentoo.org/~swift/docs/security_benchmarks/kernel.html">guide</a> now has information about additional settings: stackprotector, read-only data, restrict access to /dev/mem, disable /proc/kcore and restrict kernel syslog (dmesg). One suggestion he made didn't make it to the guide (about CONFIG_DEBUG_STACKOVERFLOW) since I can't find any resources about the …</p>Sven VermeulenSat, 21 Jul 2012 21:06:00 +0200tag:blog.siphos.be,2012-07-21:/2012/07/hardening-the-linux-kernel-updates/SecurityHardening the Linux kernelhttps://blog.siphos.be/2012/07/hardening-the-linux-kernel/<p>I have moved out the kernel configuration settings (and <strong>sysctl</strong> stuff) from the <a href="https://dev.gentoo.org/~swift/docs/security_benchmarks/gentoo.html">Hardening Gentoo Linux benchmark</a> into its own <a href="https://dev.gentoo.org/~swift/docs/security_benchmarks/kernel.html">Hardening the Linux kernel</a> guide. It covers some common hardening-related kernel configuration entries (although I'm sure I'm missing a lot of them still) as well as grSecurity and PaX settings …</p>Sven VermeulenFri, 20 Jul 2012 22:05:00 +0200tag:blog.siphos.be,2012-07-20:/2012/07/hardening-the-linux-kernel/SecurityHardening OpenSSHhttps://blog.siphos.be/2012/07/hardening-openssh/<p>A while ago I wrote about a <a href="https://dev.gentoo.org/~swift/docs/security_benchmarks/gentoo.html">Gentoo Security Benchmark</a> which would talk about hardening a Gentoo Linux installation. Within that document, I was documenting how to harden specific services as well. However, I recently changed my mind and wanted to move the hardening stuff for the services in separate …</p>Sven VermeulenWed, 18 Jul 2012 22:20:00 +0200tag:blog.siphos.be,2012-07-18:/2012/07/hardening-openssh/SecurityWhy both chroot and SELinux?https://blog.siphos.be/2012/04/why-both-chroot-and-selinux/<p>In my <a href="http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/">previous post</a>, a very valid question was raised by Alexander E. Patrakov: why still use chroot if you have SELinux?</p> <p>Both chroot (especially with the additional restrictions that grSecurity enables on chroots that make it more difficult to break out of a chroot) and SELinux try to isolate …</p>Sven VermeulenSun, 15 Apr 2012 09:41:00 +0200tag:blog.siphos.be,2012-04-15:/2012/04/why-both-chroot-and-selinux/SecurityMitigating risks, part 5 - application firewallshttps://blog.siphos.be/2011/10/mitigating-risks-part-5-application-firewalls/<p>The last <em>isolation-related</em> aspect on risk mitigation is called <strong>application firewalls</strong>. Like more "regular" firewalls, its purpose is to be put in front of a service, controlling which data/connections get through and which don't. But unlike these regular firewalls, <a href="https://en.wikipedia.org/wiki/Application_firewall">application firewalls</a> work on higher-level protocols (like HTTP, FTP) that …</p>Sven VermeulenWed, 05 Oct 2011 23:38:00 +0200tag:blog.siphos.be,2011-10-05:/2011/10/mitigating-risks-part-5-application-firewalls/SecurityMitigating risks, part 4 - Mandatory Access Controlhttps://blog.siphos.be/2011/09/mitigating-risks-part-4-mandatory-access-control/<p>I've talked about <a href="http://blog.siphos.be/2011/09/mitigating-risks-part-2-service-isolation/">service isolation</a> earlier and the risks that it helps to mitigate. However, many applications still run as highly privileged accounts, or can be abused to execute more functions than intended. Service isolation doesn't help there, and system hardening can only go that far. The additional countermeasures that …</p>Sven VermeulenFri, 23 Sep 2011 20:16:00 +0200tag:blog.siphos.be,2011-09-23:/2011/09/mitigating-risks-part-4-mandatory-access-control/SecurityMitigating risks, part 3 - hardeninghttps://blog.siphos.be/2011/09/mitigating-risks-part-3-hardening/<p>While I'm writing this post, my neighbor is shouting. He's shouting so hard, that I was almost writing with CAPS on to make sure you could read me. But don't worry, he's not fighting - it is how he expresses his (positive) feelings about his religion.</p> <p>Security is, for some, also …</p>Sven VermeulenTue, 13 Sep 2011 22:46:00 +0200tag:blog.siphos.be,2011-09-13:/2011/09/mitigating-risks-part-3-hardening/SecurityMitigating risks, part 2 - service isolationhttps://blog.siphos.be/2011/09/mitigating-risks-part-2-service-isolation/<blockquote> <p>Internet: absolute communication, absolute isolation<br> \~Paul Carvel</p> </blockquote> <p>The quote might be ripped out of its context completely, since it wasn't made when talking about risks and the assurance you might need to get in order to reduce risks. But it does give a nice introduction to the second part of …</p>Sven VermeulenFri, 09 Sep 2011 23:12:00 +0200tag:blog.siphos.be,2011-09-09:/2011/09/mitigating-risks-part-2-service-isolation/SecurityMitigating risks, part 1https://blog.siphos.be/2011/09/mitigating-risks-part-1/<blockquote> <p>We are running Foobar 2.0 on Tomcat 4. We know that Tomcat 4 isn't supported, but hey - our (internal) customer is happy that the Foobar application works and would like to keep it that way. Upgrading to Tomcat 5 or higher is not possible - Foobar 2.0 only works …</p></blockquote>Sven VermeulenMon, 05 Sep 2011 22:05:00 +0200tag:blog.siphos.be,2011-09-05:/2011/09/mitigating-risks-part-1/Securitychecksec kernel securityhttps://blog.siphos.be/2011/07/checksec-kernel-security/<p>I have <a href="http://blog.siphos.be/2011/07/high-level-explanation-on-some-binary-executable-security/">blogged</a> about <a href="http://www.trapkit.de/tools/checksec.html">checksec.sh</a> earlier before. Jono, one of the #gentoo-hardened IRC-members, kindly pointed me to its <code>--kernel</code> option. So I feel obliged to give its options a stab as well. So, here goes the next batch of OPE-style (One Paragraph Explanations).</p> <div class="highlight"><pre><span></span><code>~# checksec.sh --kernel * Kernel protection information …</code></pre></div>Sven VermeulenSun, 24 Jul 2011 00:18:00 +0200tag:blog.siphos.be,2011-07-24:/2011/07/checksec-kernel-security/SecurityHigh level explanation on some binary executable securityhttps://blog.siphos.be/2011/07/high-level-explanation-on-some-binary-executable-security/<p>One very important functionality offered by <a href="http://hardened.gentoo.org">Gentoo Hardened</a> is a specific toolchain (compiler, libraries and more) that contains patches to make the built binaries a bit more protected from certain vulnerabilities. Explaining all those in detail is too much for a simple blog post like this, but some time ago …</p>Sven VermeulenFri, 15 Jul 2011 22:01:00 +0200tag:blog.siphos.be,2011-07-15:/2011/07/high-level-explanation-on-some-binary-executable-security/Securitycvechecker 3.0https://blog.siphos.be/2011/04/cvechecker-3-0/<p>I'm pleased to announce the immediate availability of <a href="http://cvechecker.sourceforge.net">cvechecker 3.0</a>. It contains two major feature enhancements: watchlists and MySQL support.</p> <p><em>watchlists</em> allow cvechecker to track and report on CVEs for software that cvechecker didn't detect on the system (or perhaps even isn't installed on the system). You can use …</p>Sven VermeulenTue, 12 Apr 2011 22:47:00 +0200tag:blog.siphos.be,2011-04-12:/2011/04/cvechecker-3-0/Securitycvechecker updateshttps://blog.siphos.be/2011/03/cvechecker-updates/<p>The in-svn version of cvechecker has seen quite a few changes in the last few days. I'm adding support for MySQL to it. This support will be added in three steps:</p> <ol> <li>support the same features as cvechecker currently does using sqlite</li> <li>streamline the database code so that duplicate code in …</li></ol>Sven VermeulenSun, 27 Mar 2011 22:20:00 +0200tag:blog.siphos.be,2011-03-27:/2011/03/cvechecker-updates/Securitycvechecker updatehttps://blog.siphos.be/2011/02/cvechecker-update/<p>A while ago, I got the request to enhance <a href="http://cvechecker.sourceforge.net">cvechecker</a> with support for providing a list of installed software (or software you want to watch over with cvechecker) even if cvechecker isn't able to detect that software on your system. I've implemented this and it is currently available in the …</p>Sven VermeulenSat, 19 Feb 2011 16:31:00 +0100tag:blog.siphos.be,2011-02-19:/2011/02/cvechecker-update/Securitycvechecker 2.0 releasedhttps://blog.siphos.be/2010/12/cvechecker-2-0-released/<p>Okay, enough play - time for a new release. Since <strong>cvechecker 1.0</strong> was released, a few important changes have been made to the <a href="http://cvechecker.sourceforge.net">cvechecker tools</a>:</p> <ul> <li>You can now tell cvechecker to only check newly added files, or remove a set of files from its internal database. Previously, you had to …</li></ul>Sven VermeulenWed, 01 Dec 2010 22:29:00 +0100tag:blog.siphos.be,2010-12-01:/2010/12/cvechecker-2-0-released/SecurityHelping with version detection rules in cvecheckerhttps://blog.siphos.be/2010/11/helping-with-version-detection-rules-in-cvechecker/<p>The new development snapshot, available from the <a href="http://cvechecker.sourceforge.net">cvechecker project site</a>, contains a helper script that returns potential version detection rules for your system if the current cvechecker database doesn't detect your software. The script is currently available for Gentoo (called <strong>cverules_gentoo</strong>) but other distributions can be easily added. The actual …</p>Sven VermeulenSat, 27 Nov 2010 17:59:00 +0100tag:blog.siphos.be,2010-11-27:/2010/11/helping-with-version-detection-rules-in-cvechecker/SecurityDelta processing in cvecheckerhttps://blog.siphos.be/2010/11/delta-processing-in-cvechecker/<p>The <a href="http://cvechecker.sourceforge.net">cvechecker</a> application will support delta file processing as well as higher version matching with its next release. The functionality is currently in version control and I still have to work out quite a few things before they can go live, but the functionality is there.</p> <p>Now why would these …</p>Sven VermeulenTue, 02 Nov 2010 00:30:00 +0100tag:blog.siphos.be,2010-11-02:/2010/11/delta-processing-in-cvechecker/SecurityRisk identificationhttps://blog.siphos.be/2010/10/risk-identification/<p>Risk identification is a difficult subject. Analysts need it to defend mitigation strategies or to suggest investments. Yet risk identification is often a subjective method, especially in the IT industry. How do you give a number on a certain risk? When do you believe that that number exceeds a threshold …</p>Sven VermeulenThu, 14 Oct 2010 20:18:00 +0200tag:blog.siphos.be,2010-10-14:/2010/10/risk-identification/Securitycvechecker 1.0 releasedhttps://blog.siphos.be/2010/10/cvechecker-1-0-released/<p>With only a few small bugfixes between this release and the previous one, <a href="http://cvechecker.sourceforge.net">cvechecker 1.0</a> has finally been released. It runs fine on my few systems and I have not gotten any bugreports from other users anymore. It can definitely need more rules to identify installed software (those rules …</p>Sven VermeulenFri, 01 Oct 2010 21:34:00 +0200tag:blog.siphos.be,2010-10-01:/2010/10/cvechecker-1-0-released/Securitycvechecker 0.6 releasedhttps://blog.siphos.be/2010/09/cvechecker-0-6-released/<p>This release makes me quite happy, because it resolves one major PITA I had (performance), but you know how things go. If it works fine for the developer, it's probably an abomination for the rest of the world. Anyhow, <a href="http://cvechecker.sf.net">cvechecker</a> version 0.6 is now available. It improves reporting performance …</p>Sven VermeulenWed, 08 Sep 2010 21:41:00 +0200tag:blog.siphos.be,2010-09-08:/2010/09/cvechecker-0-6-released/Securitycvechecker 0.5 releasedhttps://blog.siphos.be/2010/09/cvechecker-0-5-released/<p>A new intermediate release of <a href="http://cvechecker.sourceforge.net">cvechecker</a> is now released. The tool is reported to build properly on NetBSD and FreeBSD as well (although much user experience there is still welcome), introduces a <strong>cvereport</strong> command (<a href="http://cvechecker.sourceforge.net/example/report.html">example output</a>), has lowered its initial dependency requirements and <strong>pullcves</strong> now only loads the CVE XML …</p>Sven VermeulenThu, 02 Sep 2010 00:57:00 +0200tag:blog.siphos.be,2010-09-02:/2010/09/cvechecker-0-5-released/Securitycvechecker 0.4 releasedhttps://blog.siphos.be/2010/08/cvechecker-0-4-released/<p>Albeit with less updates than 0.3 had, <a href="http://cvechecker.sourceforge.net">cvechecker 0.4</a> brings in internal project files reorganization (more to the liking of the GNU autoconf/automake standards - I think), fixes a databaseleak (instead of memoryleak ;-) bug and introduces a teenie weenie bit more intelligent pullcves command (with multiple return code …</p>Sven VermeulenWed, 25 Aug 2010 23:55:00 +0200tag:blog.siphos.be,2010-08-25:/2010/08/cvechecker-0-4-released/Securitycvechecker userguidehttps://blog.siphos.be/2010/08/cvechecker-userguide/<p>Just a quick note, I've created and uploaded the <a href="http://cvechecker.sourceforge.net/documentation.html">cvechecker userguide</a>.</p>Sven VermeulenSun, 22 Aug 2010 17:37:00 +0200tag:blog.siphos.be,2010-08-22:/2010/08/cvechecker-userguide/Securitycvechecker 0.3 releasedhttps://blog.siphos.be/2010/08/cvechecker-0-3-released/<p>Time for a new intermediate <a href="http://cvechecker.sourceforge.net">cvechecker</a> release, so here it is. Changes include (beyond the usual bugfixes) different CSV output (with some sort of version support) so that it can be easily used for reporting purposes, removal of debugging/verbose items and added example files for reporting.</p>Sven VermeulenFri, 20 Aug 2010 22:15:00 +0200tag:blog.siphos.be,2010-08-20:/2010/08/cvechecker-0-3-released/Securitycvechecker 0.2 releasedhttps://blog.siphos.be/2010/08/cvechecker-0-2-released/<p>I've made version 0.2 available of <a href="http://cvechecker.sourceforge.net">cvechecker</a>. It fixes some build warnings and also supports the normal "make install" step. The <strong>pullcves</strong> command now also pulls in the latest <code>versions.dat</code> file. Special thanks to Per Andersson for reporting that the <code>./configure</code> didn't fail if sqlite3 or libconfig wasn't …</p>Sven VermeulenMon, 16 Aug 2010 21:35:00 +0200tag:blog.siphos.be,2010-08-16:/2010/08/cvechecker-0-2-released/Securitycvechecker 0.1 releasedhttps://blog.siphos.be/2010/08/cvechecker-0-1-released/<p>cvechecker <a href="https://sourceforge.net/projects/cvechecker/files/">version 0.1</a> is out. This is the first publicly available development release, so it's still far from production-ready yet. However, it is usable so it can now be publicly analyzed to remove all icky bugs and such. I'm not planning (m)any new features (apart from the reporting …</p>Sven VermeulenSat, 14 Aug 2010 22:03:00 +0200tag:blog.siphos.be,2010-08-14:/2010/08/cvechecker-0-1-released/SecurityLinux Sea sources online, cvechecker still in developmenthttps://blog.siphos.be/2010/07/linux-sea-sources-online-cvechecker-still-in-development/<p>First of all, I've put the sources for <a href="http://swift.siphos.be/linux_sea">Linux Sea</a> online at <a href="http://github.com/sjvermeu/Linux-Sea">GitHub</a>. Not only does that safeguard any latest changes from not hitting my backup in time before my laptop dies (it's terminal, but I can't let him go yet ;-) but it also allows people who want to help …</p>Sven VermeulenFri, 23 Jul 2010 20:59:00 +0200tag:blog.siphos.be,2010-07-23:/2010/07/linux-sea-sources-online-cvechecker-still-in-development/Securitycvechecker in development modehttps://blog.siphos.be/2010/07/cvechecker-in-development-mode/<p>A while ago I had the idea to create a simple tool that checks the CVE database against my current system. It would allow me to check if my system is somewhat up to date (no pending security vulnerabilities), but also to get an automated overview of the various software …</p>Sven VermeulenMon, 12 Jul 2010 20:31:00 +0200tag:blog.siphos.be,2010-07-12:/2010/07/cvechecker-in-development-mode/SecurityOVAL, SCAP, CVE, CPE, ...https://blog.siphos.be/2010/06/oval-scap-cve-cpe/<p>For a personal <abbr title="Proof Of Concept">POC</abbr> I wanted to see if it is possible to generate, based on the collection of CVE entries publicly available, a report informing a system administrator about possible vulnerabilities. Nothing fancy, just based upon versions.</p> <p>A simple example: tool detects Perl, acquires installed Perl version, then matches …</p>Sven VermeulenSat, 05 Jun 2010 15:13:00 +0200tag:blog.siphos.be,2010-06-05:/2010/06/oval-scap-cve-cpe/Security