cron.weekly issue #69: SHA-1, Kernel exploit, pssh, securitybot, nscan, Kernel 4.10, live kernel patching & more


cron.weekly is a newsletter about Linux, open source & webdevelopment. Want to get it in your inbox every Sunday? Subscribe below!

I respect your privacy and you won't get spam. Ever. Just a weekly-ish newsletter about Linux and open source.

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Image of Mattias Geniar

Mattias Geniar, February 26, 2017

Follow me on Twitter as @mattiasgeniar

Welcome to cron.weekly issue #69 for Sunday, February 26th, 2017.

My this is a big release again, lots of interesting things happened in Linux & open source the last week! Two security issues (SHA-1 collisions and a new kernel exploit), many interesting new projects like securitybot & upspin and so many new guides to share including live and semi-live kernel patching.

I hope it rains today so we all have an excuse to stay in and cuddle behind the warmth of our PC.

News

SHAttered

Google has, after a considerable amount of time and CPU power, created a SHA1 collision: 2 PDF documents have the same SHA1 hash. This makes it theoretically possible to fake SSL certificates, git commits, PGP signatures, … SHA1 was already deprecated, but if you still have it active in your infrastructure, now’s the time to disable it.

Cloudflare Reverse Proxies are Dumping Uninitialized Memory

This may or may not affect you, depending on your setup and privacy/disclosure policy: Cloudflare had a period where it accidentally leaked memory info of other sites proxied through their setup, much like Heartbleed did a few years ago. Props to Cloudflare for handling the incident and their full write-up.

Linux kernel: CVE-2017-6074 – local privilege escalation in DCCP

A new kernel exploit in the DCCP module that provides local users on a system with a reliable way to become root. This is just as serious as the Dirty Cow vulnerability from a few months ago. Patching is, in most cases, relatively easy though. And to think just a few weeks ago I linked to an article called “DCCP: The socket type you probably never heard of“. Well, we’ve heard of it now.

Tools & Projects

Datadog: all your infrastructure, in one place

Track & alert on the health and performance of every server, container, and app in any environment, with Datadog. Sign up for a free 14-day trial. (Sponsored)

VividCortex: Database Performance Monitoring

Your database is a uniquely demanding and complex tier in your app, & needs database-specific instrumentation. See query & server performance with amazing clarity, & find performance problems that you couldn’t detect before. Start a free trial for instant value(Sponsored)

MirageOS 3.0

One of the biggest players in the ‘unikernel’ space reaches a new 3.0 milestone: a modern, modular library operating system that allows the creation of small, secure, legacy-free services. If you’d like to read more on the concept of a unikernel, see one of my earlier posts: what is a unikernel?

pssh

Some days I wonder how I could’ve ever lived without it: pssh is a program for executing ssh in parallel on a number of hosts. I’ve linked to the manpage, pssh is essentially in every package manager already.

securitybot

Securitybot is an open-source implementation of a distributed alerting chat bot. Distributed alerting improves the monitoring efficiency of your security team and can help you catch security incidents faster and more efficiently.

DatHTTPD

A Web server for Dat and HTTPS, with zero-config TLS. Dat sites are hosted at public keys, which are the equivalent of IP addresses in the P2P network.

bombardier

bombardier is a HTTP(S) benchmarking tool. It is written in Go programming language and uses excellent fasthttp instead of Go’s default http library, because of its lightning fast performance.

nscan

Nscan is a fast Network scanner optimized for internet-wide scanning purposes and inspired by Masscan and Zmap. It has it’s own tiny TCP/IP stack and uses Raw sockets to send TCP SYN probes.

Trojan Scan

Trojan Scan is a simple shell script that allows for simple but relatively effective checking for trojans, rootkits and other malware that may be using your server and network for unwanted (and possibly illegal) purposes.

upspin

A new file sharing project by the team at Google to make sharing files easier. It is not a file system, but a set of protocols and reference implementations that can be used to join things like file systems and other storage services to the name space. Their introductory blogpost explains the reasoning behind the project.

Stethoscope

Stethoscope is a web application that collects information for a given user’s devices and gives them clear and specific recommendations for securing their systems.

Linux 4.10

More than 13.000 commits in this release, with improvements to bpf, new hardware support, improvements to ext4/xfs & many small fixes.

diffoscope

diffoscope will try to get to the bottom of what makes files or directories different. It will recursively unpack archives of many kinds and transform various binary formats into more human readable form to compare them. It can compare two tarballs, ISO images, or PDF just as easily.

mmake

Mmake is a small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.

SSLyze

A Python tool/library which can analyze the SSL configuration of a server by connecting to it and detect various issues (bad certificates, dangerous cipher suites, lack of session resumption, etc.).

osem

Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences. http

Guides & tutorials

Docker in Production: An Update

A practical set of tips and tricks for running Docker in production, learned from failure and incidents. Lots of “do not do this” takeaways if you ever plan to run Docker yourself!

Provisioning and Lifecycle of a Production Ready Kubernetes Cluster

Another set of practical tips, this time for running a Kubernetes infrastructure: Terraform for infrastructure management and a fair amount of Kubernetes tips on how to install & where to get your upstream packages.

Kernel patching with kexec: updating a CentOS 7 kernel without a full reboot

You can use kexec to install and load a kernel without doing the entire bootloader & hardware initialization. For systems that are slow to boot (due to memory checks in POST), this can save minutes during a reboot of your system.

Linux live kernel patching with kpatch on CentOS 7

Real live kernel patching is … complicated, as this post describes. But a proper write-up on all the steps involved in using kpatch for doing full in-memory kernel patching.

4 Tips to Take Control of Your Containers

Another set of practical tips for running containers, once again focussed on Kubernetes: when and where to bundle containers in pods, how to assess security in such a situation, tips on tagging & versioning your containers, …

C2C – False Sharing Detection in Linux Perf

Some pretty low level and advanced stuff in here: a new tool is used, c2c, to assess the performance impact of false cache sharing in a NUMA environment running multi-threaded applications.

Why I Enthusiastically Switched from Cacti to Zabbix for System Monitoring

A proper comparison between Cacti and Zabbix and a highlight for why, in this users’ case, Zabbix won for their monitoring needs.

How setting the TZ environment variable avoids thousands of system calls

This must have been an intensive debug hunt: when a TZ environment variable is set, you can save many system calls that would otherwise be needed to check the local time of the machine.

Exploring Performance of etcd, Zookeeper and Consul Consistent Key-value Datastores

A heavy benchmark of three distributed, consistent key-value stores: etcd, Zookeeper, and Consul.

Adventures in /usr/bin and the likes

On a fresh Linux box, you probably have over a thousand binaries installed, of which you might actively use 20-50. This post details the other 950 (sort of). Many unheard commands, very detailed write-up, something to bookmark and read a few commands a day!

Getting started with Vim

Each his or her own favorite $EDITOR, this guide gets you started with vim. I like how they immediately recognise that vim isn’t easy to get started with. Hang in there, it gets better!



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.