Home Blog Page 500

Expand Your API Experience at APIStrat: See the Full Conference Schedule

The newly announced schedule for the API Strategy & Practice Conference (APIStrat) — taking place Oct. 31 to Nov. 2 in Portland, Oregon — includes keynotes, workshops, technical talks, and more focused on the API economy. Jointly hosted by the Open API Initiative and The Linux Foundation, this conference brings together developers, IT teams, business users, and executives to discuss opportunities and challenges in the API space.

The conference program includes the following keynote speakers:

  • Yina Arenas – Microsoft

  • Glenn Block – Auth0

  • Adam Duvander – Zapier

  • Sarah Novotny – Google

APIStrat aims to spark conversations between API providers and API consumers, startups and enterprise, developers, architects, and integrators. The conference session tracks and topics include:

  • Beyond REST

  • Civic

  • Design

  • Hypermedia

  • Machine Learning

  • Management

  • Microservices

  • Protocols

  • SDK & Clients

  • Security

  • Standards & Definitions

  • Success Stories

  • Testing

  • Transformation

  • Usability

View the full lineup of all APIStrat speakers and sessions.

Registration is discounted by $300 through August 31, and academic rates are also available. In addition, applications are being accepted for diversity and need-based scholarships.

Linux.com readers receive an additional $25 off their registration with discount code LINUXRD5. Register now!

DevOps Fundamentals (LFS261) Chapter 1 – Continuous Delivery Overview

The DevOps Fundamentals course is written and presented by John Willis. Watch the sample videos here.

How to Write iptables Rules for IPv6

We US-ians have been sheltered from the exhaustion of IPv4 addresses, but they have run out. IPv6 networks are up and running, so we have no excuses for not being IPv6 literate. Today our scintillating topic is iptables rules for IPv6, because, I am sad to report, our faithful IPv4 iptables rules do not magically work on IPv6 packets, and we must write new rules.

Before we dive in, you might want to review these previous articles for basic iptables concepts and scripts:

Iptables Commands

iptables should be the same on all Linuxes, as it is part of the kernel, but if your chosen Linux distribution does something weird, it’s not my fault. You should have ip6tables, ip6tables-restore, ip6tables-save, ip6tables-apply, and their corresponding man pages. Some Linux distributions install with a ready-made firewall and their own tools for stopping and starting it. You must decide whether to disable your distro configuration, or modify it if it’s based on iptables.

ip6tables operates the same way as iptables. It even supports NAT, network address translation, although I can’t think of a good use case for NAT in IPv6. NAT does masquerading and port forwarding, which has extended the lifespan of the inadequate IPv4 address pool by making a single public IPv4 address serve many hosts in private address spaces. NAT rewrites the private addresses to the single public address, and keeps track of which packets belong to which private addresses. This isn’t necessary in IPv6 because the pool of available addresses is so large we’ll never run out (at least not in my lifetime).

Block All IPv6

Because IPv4 rules do not affect IPv6 packets, theoretically, we are vulnerable to attacks over IPv6. The Internet of Gratuitously Connected Insecure Things (IoGIT, creatively abbreviated to pronounce as “idjit”) is experiencing denial-of-service and SYN flood attacks over IPv6, though it seems to me the bigger threat is snoopy vendors who suck up and exploit our personal data. Even iRobot is joining this abusive game by collecting and selling maps of our homes, from Roomba models 960 and 980. When you can’t even trust your cute robot vacuum cleaner, they have gone too far.

You might think meh, I don’t even need IPv6, so why not block it completely? You can, though this may cause some problems, but you won’t know until you try. Add these lines to /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Then load your changes:

$ sudo sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Test this by pinging the link local address of your computer from a second computer on your LAN:

$ ping6 -c3 -I eth0 fe80::f07:3c7a:6d69:8d11
PING fe80::f07:3c7a:6d69:8d11(fe80::f07:3c7a:6d69:8d11) 
from fe80::2eef:d5cc:acac:67c wlan0 56 data bytes
--- fe80::2eef:d5cc:acac:67c ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2999s

This shows that it is disabled. When you re-enable IPv6, you must renew the DHCP lease on your interface to get an IPv6 address again.

Listing and Flushing Rules

First, see if you already have any rules:

$ sudo ip6tables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

This shows there are no existing rules. If you already have some rules, clear them with this command:

$ sudo ip6tables -F

If you already have active firewall scripts, a reboot restores your rules.

Example Host Rules

This is similar to the host firewall example in Building Linux Firewalls With Good Old Iptables: Part 2. The main difference managing ICMP packets; IPv6 relies a lot more on good ole ping, it is a bad idea to completely block ICMP, even though some howtos recommend this, because it is necessary for proper network operations. In this example all ICMP packets are allowed.

When you’re unsure about protocol names, look in /etc/protocols to find the correct names.

#!/bin/bash

# ip6tables single-host firewall script

# Define your command variables
ipt6="/sbin/ip6tables"

# Flush all rules and delete all chains
# for a clean startup
$ipt6 -F
$ipt6 -X 

# Zero out all counters
$ipt6 -Z

# Default policies: deny all incoming
# Unrestricted outgoing

$ipt6 -P INPUT DROP
$ipt6 -P FORWARD DROP
$ipt6 -P OUTPUT ACCEPT

# Must allow loopback interface
$ipt6 -A INPUT -i lo -j ACCEPT

# Reject connection attempts not initiated from the host
$ipt6 -A INPUT -p tcp --syn -j DROP

# Allow return connections initiated from the host
$ipt6 -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Accept all ICMP v6 packets
$ipt6 -A INPUT -p ipv6-icmp -j ACCEPT

# Optional rules to allow other LAN hosts access 
# to services. Delete $ipt6 -A INPUT -p tcp --syn -j DROP

# Allow DHCPv6 from LAN only
$ipt6 -A INPUT -m state --state NEW -m udp -p udp 
-s fe80::/10 --dport 546 -j ACCEPT

# Allow connections from SSH clients
$ipt6 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# Allow HTTP and HTTPS traffic 
$ipt6 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
$ipt6 -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# Allow access to SMTP, POP3, and IMAP
$ipt -A INPUT -m state --state NEW -p tcp -m multiport 
--dport 25,110,143 -j ACCEPT

There isn’t much in the way of updated official documentation that I can find for ip6tables other than man iptables. If you’re using online man pages make sure they are for your version, iptables --version.

In a future installment, we’ll go into detail on managing ICMP packets, controlling which ones have Internet access, which ones should be LAN-only, rate limiting, and other cool fine-tunings. We’ll also make an Internet gateway and look at rules for restricting source and destination addresses in more details.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

Automotive Grade Linux Moves to UCB 4.0, Launches Virtualization Workgroup

The Linux Foundation’s Automotive Grade Linux (AGL) project released Unified Code Base (UCB) 4.0 (“Daring Dab”) for Linux-based in-vehicle infotainment (IVI) systems, and added seven new members. The open source group also launched a new virtualization working group that will enable new UCB profiles for telematics, instrument clusters, and head-up-displays (HUDs). In other Linux automotive news, Ubuntu has been spotted in an Uber self-driving car trial (see below).

The new AGL members bring the total membership to over 100. The newcomers are Brison, Karamba Security, Lear Corp., Luxoft, Thundersoft, SafeRide Cyber Security, and Wipro Ltd. The announcement follows an April expansion of six new members.

UCB 4.0, which follows a UCB 3.0 “Charming Chinook” version that appeared in January, arrived a little over a month after AGL revealed that the 2018 Toyota Camry will be the first car to fully adopt AGL’s Yocto Project based UCB distribution later this summer. After the debut, AGL’s UCB will roll out to most Toyota and Lexus vehicles in North America.

UCB 4.0 adds major new features such as SmartDeviceLink integration, speech recognition APIs, and secure Over-the-Air Updates (SOTA). Daring Dab also makes improvements to the App Framework and Software Development Kit (SDK).

New features in AGL UCB 4.0 include:

  • Update to Yocto 2.2

  • Application Framework improvements

  • Application Services APIs for Bluetooth, audio, tuner and CAN signaling

  • AGL API version 2 using OpenAPI specification format

  • CAN signaling, secure signaling and notifications

  • SDK improvements with new application templates  

  • SmartDeviceLink ready, ease of integration with SDL

  • Default board support tunings across Intel, ARM32 and ARM64 architectures  

  • Added board support for the Renesas R-Car 3 and Qualcomm Snapdragon 820

SmartDeviceLink (also called SDL) is a technology developed at Ford and hosted by the GENIVI Alliance that enables an automatic sync between IVI systems and mobile phones. The spec aims to be an OS-agnostic alternative to Android Auto or Apple’s CarPlay.

An open source version of Ford’s proprietary AppLink technology, SmartDeviceLink lets developers add extensions to mobile apps so they work over compliant IVI systems. With Toyota announcing support for SmartDeviceLink in early January, along with QNX, it is not surprising that AGL would support the spec as well.

UCB 4.0’s new R-Car 3 support appears to refer to the R-Car M3 SoC announced last year as an upgrade to Renesas’ earlier R-Car M2 SoC. The M3 features dual 1.5GHz ARM Cortex-A57 cores and four Cortex-A53 cores, and provides a “dual lock-step” Cortex-R7 MCU and PowerVR 6XT GX6250 GPU. The SoC offers optimizations for both AGL and the rival GENIVI Alliance spec, which seems to have lost some momentum as the more open source AGL has gained ground.

Unlike the M3, the other newly announced BSP — for the Snapdragon 820 — has not yet appeared on UCB 4.0’s BSP list. The list also includes the R-Car M2-based Porter board, the MinnowBoard Max (Intel Atom), the Raspberry Pi 3 (Broadcom BCM2387), and TI’s Vayu (Jacinto 6). It’s unclear if this is the Snapdragon 820 or Qualcomm’s almost identical, automotive focused Snapdragon 820A, which similarly offers four Cortex-A72-like “Kyro” cores, clocked at up to 2.2GHz, plus an Adreno GPU and other coprocessors.

Virtualization project expands AGL beyond IVI

The announcement of a new Virtualization Expert Group (EG-VIRT) is the first major step toward AGL’s long promised expansion from IVI into telematics, instrument clusters, and HUDs. Virtualization is required because these more safety-critical functions need to be walled off from less secure infotainment applications.

The EG-VIRT will “identify a hypervisor and develop an AGL virtualization architecture that will help accelerate time-to-market, reduce costs and increase security,” says the AGL. This would suggest the group will adapt an existing hypervisor technology rather than build its own.

The upcoming virtualization architecture will implement resource partitioning to enable consolidation of infotainment, cluster, HUD, and rear-seat entertainment applications on a single multicore SoC. In addition to protecting core technologies like the CAN bus from interference or potential malware infestations from the IVI realm, virtualization will also cut costs by enabling multiple applications and OSes to run on a single SoC, says the AGL. Virtualization will play a key role in technology being developed by the recently launched AGL Cockpit Architecture group. 

“Automotive Grade Linux (AGL) is gaining an increasing influence across the automotive industry,” stated Larry Geng, CEO of new AGL member Thundersoft. “As one of the world’s leading smart device operating system and platform technology provider, Thundersoft can provide OEMs and Tier1 suppliers with our advanced smart cockpit solutions to improve driving experience.”

Ubuntu spotted in Uber self-driving launch

AGL plans to eventually move into self-driving car technology where other Linux distributions are already at work in several prototypes. OMG! Ubuntu! spotted the Ubuntu GUI in a Mashable report on Uber’s limited expansion of its self-driving car project to the general public in Pittsburgh. Uber is rolling out 14 customized Ford Fusions equipped with radar, camera, GPS, and other equipment. The cars will offer free service to customers.

OMG! Ubuntu! may have jumped the gun a bit since the interface is running on a laptop that connects to the car computer to present and record data on road and traffic conditions, according to Mashable. However, we would not be surprised if the onboard computer runs Ubuntu as well. Alphabet’s Waymo unit, which took over Google’s self-driving tech, is suing Uber over claims that a former employee stole key technology when he jumped ship for Uber. Google’s earlier self-driving prototypes incorporated Ubuntu computers, and some form of Linux is likely used by Waymo in its newer models. Tesla’s IVI and self-driving tech is also based on Ubuntu.

“We’ve all seen enough shaky cam screen grabs to know that Linux is the engine of choice being used under the hood of the automotive industry’s self-driving experiments,” wrote OMG! Ubuntu!’s Joey Sneddon.

Learn more about embedded Linux at Open Source Summit North America — Sept. 11-14 in Los Angeles, CA. Linux.com readers receive a special discount. Use LINUXRD5 to save an additional $47.

How to Compete With the Cloud

While it was once a controversial statement, more and more software projects are acknowledging that their primary competition is not another software project, but cloud platforms offering similar functionality as a service. The directness of the threat varies, depending on whether a major cloud vendor has targeted a given market yet, but it’s rare that there are businesses – or open source projects, for that matter – for whom the accelerating adoption of cloud services doesn’t have significant implications over a reasonable planning horizon.

The advantages of cloud providers are many. Most obviously, economics are clearly in their favor. Not only are the largest cloud providers in Amazon, Google and Microsoft better capitalized than stand alone providers, the breadth at which they operate generates enormous and daunting economies of scale.

Read more at RedMonk

Setting Up a Docker Registry with JFrog Artifactory and Rancher

For any team using containers – whether in development, test, or production – an enterprise-grade registry is a non-negotiable requirement. JFrog Artifactory is much beloved by Java developers, and it’s easy to use as a Docker registry as well. To make it even easier, we’ve put together a short walkthrough to setting things up Artifactory in Rancher.

Before you start

For this article, we’ve assumed that you already have a Rancher installation up and running (if not, check out our Quick Start guide), and will be working with either Artifactory Pro or Artifactory Enterprise.

Read more at Rancher Labs

Evolving Team Leadership

There is much written about the changing roles of Development and Operations staff when organisations undergo agile/devops transformations. But what about the changing role of the Team Leader?

In pre-agile environments, as a Team Lead, your role is one of structure and co-ordination; it is through you that work routes. You know the skills and capacity of your team and are regularly making decisions about what can and can’t be done.

But as your team starts to work in an agile way, the need for you to keep them busy is reduced, as this is now a responsibility of the product owner and agile team itself.

You may find yourself with increased responsibility during this transition, as you may be asked to initially take on the role of the product owner. This first step fits in well with the current structure, But over time, that may change. As the business matures and identifies more appropriate product owners the responsibilities will shift.

Read more at Cevo

Container Developers Viewed as New Security Attack Targets

Developers are often viewed as the aggressors when it comes to online security. But participants at a Black Hat USA session argued that developers were actually the new targets of attacks. This is increasingly coming to light as container developers become a bigger part of enterprise operations.

Sagie Dulce, senior security researcher at Aqua Security, said developers in charge of microservices and container deployments have become a prime target by their peers of security attacks.

Dulce said most developers are not paid to “think security” when working on platforms. This leads to developers taking short cuts when initially setting up a container or Docker deployment in an attempt to speed up work, but at the expense of security down the road.

“It’s not secure, but you might do it anyway because it helps to get things done,” Dulce said. “A single developer can lead to all containers being infected.”

Read more at SDx Central

Long Live Gopher: The Techies Keeping the Text-Driven Internet Alive

Gopher, an protocol for distributing documents and files over the internet, has a lot of similarities to the web, but also some major differences: For one thing, a gopher server is organized around a set hierarchy, akin to mixing a text document and a file server together.

That’s unlike the web, whose hierarchy is fluid, driven more by the structure of HTML files. Additionally, features like search and the ability to connect to other protocols, like FTP (File Transfer Protocol), were often baked into its structure, rather than offered using separate tools, like Google. In practice, this made Gopher servers much more lightweight than web servers.

But Gopher was a largely text-driven medium in a graphical world, and it faded from view not long after its 1993 peak.

That said, not everyone gave up on it. There is still a Gopher scene. It’s not like Twitter. It’s its own thing, with its own partisans and fans.Here’s where Gopher has been, along with where it’s going.

Read more at Flipboard