<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Simplicity is a form of art...</title><link>https://blog.siphos.be/</link><description></description><lastBuildDate>Sun, 01 Mar 2026 12:00:00 +0100</lastBuildDate><item><title>Embeddings in RAG</title><link>https://blog.siphos.be/2026/03/embeddings-in-rag/</link><description>&lt;p&gt;When I started looking into the architecture of Large Language Models (LLMs),
I got confused when I encountered Retrieval Augmented Generation (RAG).
Both LLMs themselves and RAG use embeddings (a numerical vector
representation of a token) and through its shared terminology, I made the
wrong assumption that the embeddings in both are strongly related. It is
in fact much simpler, and while both use embeddings, they are unrelated to
each other.&lt;/p&gt;
&lt;p&gt;Note: I'm still dipping my toes into the world of LLMs (and other generative
AI, like diffusion-models for image generation), so my posts might be
inaccurate. I welcome any feedback or comments on this.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Embeddings in a large language model&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;LLMs are trained to predict text given a certain input. The text that is
predicted are so-called tokens, small text snippets. These are then added to
the input text, and the LLM again predicts the next token, moving forward
until it predicted a special token that indicates the end of a text sequence.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Simple view of LLM" src="https://blog.siphos.be/images/202603/20260301_simpleview_llm.svg"/&gt;&lt;/p&gt;
&lt;p&gt;Suppose the text at that point is the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Two roads diverged in a yellow wood,
and sorry I
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;You might know this as the start of "The Road Not Taken", a poem by Robert
Frost. If the LLM is trained with this poem, it might be able to predict the
next tokens. When I ran this as input through
&lt;a href="https://github.com/QwenLM/Qwen3-VL"&gt;Qwen3-VL 8B&lt;/a&gt;, one of the more recent
open-weights model released by the Qwen team at Alibaba Cloud, it was able to
generate parts of the poem further, but eventually strayed off course.&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Two roads diverged in a yellow wood,
and sorry I couldn’t travel both
and be one traveler, long I stood.
and looked down one as far as I could
to where it bent in the undergrowth;
Then took the other, as just as fair,
and having perhaps a better claim,
because it was grassy and wanted wear;
though as for that the passing there
had worn them really about the same,

And both that morning equally lay
in leaves no step had trodden black.
And both … The question is — which way does he take? It’s not clear. He says “I took the other”, 
but then says “the passing there had worn them really about the same”. So why did he choose one 
over the other? Is it a matter of chance? Or is there something more symbolic going on?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;sup&gt;&lt;em&gt;Note: There is some randomness involved here, other iterations with the same
model and input did result in the poem being quoted correctly, followed by an
analysis of the poem.&lt;/em&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;While generating the output, the model generates one part of text at a time.
This part of text is called a &lt;strong&gt;token&lt;/strong&gt;, and the LLM has a built-in tokenizer
that converts text into tokens, and tokens back into text. For the Qwen3
models, the Qwen tokenizer is used. If I understand its vocabulary correctly,
the text "couldn't travel" would be tokenized into:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[ "couldn", "'t", " ", "travel" ]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;Different LLMs can use different tokenization methods, but there is a lot of
re-use here. Different LLM models can use the same tokenizer.&lt;/p&gt;
&lt;p&gt;These tokens are converted into embeddings, which form the foundational
representation for use in LLMs.  They are numerical vectors that represent
those text tokens. LLMs work with these numerical vectors: LLMs (and
AI in general) are software systems that perform heavy computational
operations, performing many matrix operations with each matrix being a
massive set of numbers. Well, text is represented as a huge matrix.&lt;/p&gt;
&lt;p&gt;Embeddings are not just a simple index, but are pretrained values. These
values enable token mapping based on semantic similarity. When the training
material often combines "corona" and "COVID", then these two will have
embeddings that allow both terms to be seen as close to each other. But the
same is true if there is material combining "corona" and "beer". So the
embedding that represents "corona" (assuming it is a single token) would have
semantic understanding of both corona being a viral disease (related to
COVID-19) as well as an alcoholic beverage.&lt;/p&gt;
&lt;p&gt;Unlike tokenizers, which can be reused across different LLM models, the
embeddings are unique to each model. Sure, within the same family (e.g. Qwen3)
there can be reuse as well, but it is much less common to see this re-use
across different families.&lt;/p&gt;
&lt;p&gt;The phrase "Two roads" would consist of three tokens ("Two", " ", "roads"),
which are converted into a corresponding 4096-dimensional embedding vector 
during processing. The dimension is fixed for a particular LLM:
Qwen3 8B for instance uses embeddings of 4096 numbers. So that start would be
a matrix with dimensions 3x4096. The entire text itself thus would be
represented by a very large matrix, with one dimension being this embedding
size (4096 in my case), the other dimension being the amount of tokens already
used as text (both input and generated output).&lt;/p&gt;
&lt;p&gt;These matrices are then used as input within the LLM, which then starts doing
magic with them (well, not really magic, it's rather maths, multiplying the
matrix against other in-LLM stored matrices, iterating over multiple blocks of
matrix operations, etc.) to eventually output a (sequence of) embedding(s),
which is appended to the input matrix to re-iterate the entire process over
and over again.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Embedding-based view of LLM" src="https://blog.siphos.be/images/202603/20260301_embedview_llm.svg"/&gt;&lt;/p&gt;
&lt;p&gt;The maximum amount of tokens that a model can handle is also predefined,
although there are methods to extend this. For Qwen3 8B, this is 32768
natively, and 131072 with an extension method called YaRN. So, for the native
implementation, that means the maximum text size would be represented as a
matrix of dimensions 32768x4096.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Retrieval Augmented Generation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;LLMs are trained with a certain set of data, so once it is finished training,
it does not have the ability to learn more. To make it more useful, you want
the LLM to have access to recent insights. Nowadays, the hype is all about MCP
(Model Context Protocol), which is having LLMs trained to understand that they
have tools at their disposal, and know how to call these tools (well, in
reality, they are trained to generate output that the software which executes
the LLM detects, makes a tool output, and adds the outcome of that tool back
to the text already generated, allowing the LLM to continue).&lt;/p&gt;
&lt;p&gt;Before MCP the world was (and still is) using Retrieval Augmented Generation
(RAG). The idea behind RAG is that, before the LLM responds to a user's query
(prompt) it also receives new information from external data sources. With
both the user query and information from the sources, the LLM is able to
generate more useful output.&lt;/p&gt;
&lt;p&gt;When I looked at RAG, I noticed it using embeddings as well prior to the
actual retrieval, so I wrongfully thought that those are the same embeddings,
and that the outcome of the RAG would be an embedding matrix as well, that the
LLM then receives and further processes...&lt;/p&gt;
&lt;p&gt;&lt;img alt="Incorrect RAG view" src="https://blog.siphos.be/images/202603/20260301_wrongragview_llm.svg"/&gt;&lt;/p&gt;
&lt;p&gt;I was misled by documentation on RAGs indicated things like "the data to be
referenced is converted into LLM embeddings", and that the technology used for
RAG retrieval are vector databases specialized for embedding-based operations.
Many online resources also looked at RAG as a complete, singular solution with
multiple components. So I jumped into conclusion that these are the same
embeddings. But then, that would mean the RAG solution would be tailored to
the LLM being used, because other LLM models (like Llama3, or Mistral) use
different embedding vocabulary.&lt;/p&gt;
&lt;p&gt;Instead, what RAG does, is take the same prompt, convert it into tokens and
embeddings (using its own tokenizer/embedding vocabulary) and then uses that
to perform a search operation against the data that is added to the RAG
database. This data (which is the recent insights or other documents you want
your LLM to know about) is also tokenized and converted into embeddings, &lt;em&gt;but&lt;/em&gt;
it is not those embeddings that are brought back to the main LLM, but the
plain text outcome (or other media types that your LLM understands, such as
images).&lt;/p&gt;
&lt;p&gt;Why does RAG then use embeddings? Wouldn't a simple search engine be
sufficient? Well, the RAG's primary advantage is its ability to locate
relevant information more effectively through embeddings.  Thanks to the
embedding representation, the RAG can find information that is related to the
user query without relying on keyword matches. You could effectively replace
the RAG engine with a simple search - and many LLM-powered software
applications do support this. For instance,
&lt;a href="https://github.com/LostRuins/koboldcpp"&gt;Koboldcpp&lt;/a&gt; which I use to run LLM
locally, supports a simple DuckDuckGo-based websearch as well.&lt;/p&gt;
&lt;p&gt;&lt;img alt="RAG view" src="https://blog.siphos.be/images/202603/20260301_ragview_llm.svg"/&gt;&lt;/p&gt;
&lt;p&gt;The use of embeddings for search operations (again, completely independent of
the LLM) allows for contextual understanding. When a user prompts for "What
are the ingredients for Corona", a simple keyword-based search operation might
incorrectly result in findings of COVID-19, whereas in this case the query is
about the Corona beer.&lt;/p&gt;
&lt;p&gt;These improved search operations are often called "semantic search", as they
have a better understanding of the semantics and meanings of text (through the
embeddings), resulting in more contextually relevant insights.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When is it "RAG" and when semantic search&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Retrieval Augmented Generation is the process of converting the user query,
performing a semantic search against the knowledge base, and appending the
best results (e.g. top-3 hits in the knowledge base) to the user input text.
This completed input text thus contains both the user query, as well as pieces
of insights obtained from the semantic search. The LLM uses this additional
information for generating better outcomes. This entire pipeline (retrieving
context, augmenting the prompt, and then generating output) is what defines 
"RAG".&lt;/p&gt;
&lt;p&gt;I personally see RAG technology-wise being very similar to a regular
search: replace the semantic search with a search engine (which underlyingly
could also use semantic search anyway) and the outcome is the same. The main
difference is that RAG is meant for finding exact truth, information snippets
tailored to bring context information accurately, whereas a search engine
based retrieval would rather bring snippets of data back.&lt;/p&gt;
&lt;p&gt;In the market, RAG also focuses on the management of the semantic search (and
vector database), optimizing the data that is added to the knowledge base to
be LLM-friendly (shorter pieces of accurate data, rather than fully-indexed
complete pages which could easily overload the maximum size that an LLM can
handle). It prioritizes efficient data management and insights lifecycle
control.&lt;/p&gt;
&lt;p&gt;For LLMs, it also provides a bit more nuance. A web search would be presented
to the LLM as "The following information can be useful to answer the
question", whereas RAG results would be presented as actual insights/context.
LLMs might be trained to deal differently with that distinction.&lt;/p&gt;
&lt;p&gt;Understanding that the semantic search is independent of the LLM of course
makes much more sense. It allows companies or organizations to build up a
knowledge base and maintain this knowledge independent of the LLMs. Multiple
different LLMs can then use RAG to obtain the latest information from this
knowledge base - or you can just use the engine for semantic searches alone,
you do not need LLMs to get beneficial searches. Many popular web search
engines use semantic search underlyingly (i.e. when they index pages, they
also generate the embeddings from it and store those in their own vector
databases to improve search results).&lt;/p&gt;
&lt;p&gt;When new embedding algorithms emerge that you want to use, you must
re-generate the embeddings for the entire knowledge base. But that will most
likely occur much, much less frequently than using new LLM models (given the
rapid evolution here).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;RAG is a feature of the software that runs the LLM, allowing for retrieving
contextual information from a curated knowledge base. RAG's use of embeddings
is related to its semantic search, not to the same embeddings as those used by
the LLM. The contextual information is added to the user prompt as text, and
only then 'converted' into the embeddings used by the LLM itself.&lt;/p&gt;
&lt;p&gt;Feedback? Comments? Don't hesitate to get in touch on
&lt;a href="https://discuss.systems/@infrainsight"&gt;Mastodon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;Images are created in Inkscape, using icons from
&lt;a href="http://streamlinehq.com/"&gt;Streamline&lt;/a&gt;
&lt;a href="https://github.com/webalys-hq/streamline-vectors"&gt;(GitHub)&lt;/a&gt;, released under
the &lt;a href="https://creativecommons.org/licenses/by/4.0/"&gt;CC BY 4.0 license&lt;/a&gt;, indexed
at &lt;a href="https://opensvg.dev/icons"&gt;OpenSVG&lt;/a&gt;.&lt;/sup&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 01 Mar 2026 12:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2026-03-01:/2026/03/embeddings-in-rag/</guid><category>ai</category><category>ai</category><category>embedding</category><category>rag</category></item><item><title>Hypergovernance is a bad thing, but do not dismiss optimal governance</title><link>https://blog.siphos.be/2025/09/hypergovernance-is-a-bad-thing-but-do-not-dismiss-optimal-governance/</link><description>&lt;p&gt;I once read a blurb about the benefits of bureaucracy, and how it is intended
to resist political influences, autocratic leadership, priority-of-the-day
decision-making, silo'ed views, and more things that we generally see as "Bad
Things&lt;sup&gt;™️&lt;/sup&gt;". I'm sad that I can't recall where it was, but its message
was similar as what &lt;a href="https://www.ritamcgrath.com/sparks/2025/02/the-benefits-of-bureaucracy/"&gt;The Benefits Of Bureaucracy: How I Learned To Stop
Worrying And Love Red
Tape&lt;/a&gt;
by Rita McGrath presents. When I read it, I was strangely supportive to the
message, because I am very much confronted, and perhaps also often the cause,
for bureaucracy and governance-related deliverables in the company that I work
for.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 11 Sep 2025 21:10:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2025-09-11:/2025/09/hypergovernance-is-a-bad-thing-but-do-not-dismiss-optimal-governance/</guid><category>Regulation</category><category>dora</category></item><item><title>Is IT a DORA CIF?</title><link>https://blog.siphos.be/2025/01/is-it-a-dora-cif/</link><description>&lt;p&gt;Core to the &lt;a href="https://blog.siphos.be/2025/01/digital-operational-resilience-act/"&gt;Digital Operational Resilience
Act&lt;/a&gt; is the notion of
a &lt;em&gt;critical or important function&lt;/em&gt;. When a function is deemed critical or
important, DORA expects the company or group to take precautions and measures
to ensure the resilience of the company and the markets in which it is active.&lt;/p&gt;
&lt;p&gt;But what exactly is a function? When do we consider it critical or important?
Is there a differentiation between critical and important? Can an IT function
be a critical or important function?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 27 Jan 2025 21:10:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2025-01-27:/2025/01/is-it-a-dora-cif/</guid><category>Regulation</category><category>dora</category></item><item><title>Digital Operational Resilience Act</title><link>https://blog.siphos.be/2025/01/digital-operational-resilience-act/</link><description>&lt;p&gt;One of the topics that most financial institutions are (still) currently
working on, is their compliance with a European legislation called
&lt;a href="https://eur-lex.europa.eu/eli/reg/2022/2554/oj/eng"&gt;DORA&lt;/a&gt;.  This abbreviation,
which stands for "Digital Operational Resilience Act", is a European
regulation. European regulations apply automatically and uniformly across all EU
countries. This is unlike another recent legislation called
&lt;a href="https://eur-lex.europa.eu/eli/dir/2022/2555/oj/eng"&gt;NIS2&lt;/a&gt;, the "Network and
Information Security" directive. As a EU directive, NIS2 requires the EU
countries to formulate the directive into local law. As a result, 
different EU countries can have a slightly different implementation.&lt;/p&gt;
&lt;p&gt;The DORA regulation applies to the EU financial sector, and has some strict
requirements in it that companies' IT stakeholders are affected by. It doesn't
often sugar-coat things like some frameworks do. This has the advantage that
its "interpretation flexibility" is quite reduced - but not zero of course.
Yet, that advantage is also a disadvantage: financial entities might have
had different strategies covering their resiliency, and now need to adjust their
strategy.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 12 Jan 2025 22:12:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2025-01-12:/2025/01/digital-operational-resilience-act/</guid><category>Regulation</category><category>dora</category></item><item><title>Diagrams are no communication channel</title><link>https://blog.siphos.be/2024/09/diagrams-are-no-communication-channel/</link><description>&lt;p&gt;IT architects generally use architecture-specific languages or modeling
techniques to document their thoughts and designs. &lt;a href="https://www.opengroup.org/archimate-forum/archimate-overview"&gt;ArchiMate&lt;/a&gt;,
the framework I have the most experience with, is a specialized enterprise
architecture modeling language. It is maintained by The Open Group, an organization
known for its broad architecture framework titled TOGAF.&lt;/p&gt;
&lt;p&gt;My stance, however, is that architects should not use the diagrams from their
architecture modeling framework to convey their message to every stakeholder
out there...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 05 Sep 2024 22:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2024-09-05:/2024/09/diagrams-are-no-communication-channel/</guid><category>Architecture</category><category>architecture</category></item><item><title>Sustainability in IT</title><link>https://blog.siphos.be/2022/09/sustainability-in-IT/</link><description>&lt;p&gt;For one of the projects I'm currently involved in, we want to have a better
view on sustainability within IT and see what we (IT) can contribute in light
of the sustainability strategy of the company. For IT infrastructure, one would
think that selecting more power-efficient infrastructure is the way to go, as
well as selecting products whose manufacturing process takes special attention
to sustainability. &lt;/p&gt;
&lt;p&gt;There are other areas to consider as well, though. Reusability of IT
infrastructure and optimal resource consumption are at least two other
attention points that deserve plenty of attention. But let's start at the
manufacturing process...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 25 Sep 2022 13:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-09-25:/2022/09/sustainability-in-IT/</guid><category>Architecture</category><category>sustainability</category></item><item><title>Getting lost in the frameworks</title><link>https://blog.siphos.be/2022/08/getting-lost-in-the-frameworks/</link><description>&lt;p&gt;The IT world is littered with frameworks, best practices, reference
architectures and more. In an ever-lasting attempt to standardize IT,
we often get lost in too many standards or specifications. For consultants,
this is a gold-mine, as they jump in to support companies - for a fee, 
naturally - in adopting one or more of these frameworks or specifications.&lt;/p&gt;
&lt;p&gt;While having references and specifications isn't a bad thing, there are
always pros and cons.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 26 Aug 2022 13:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-08-26:/2022/08/getting-lost-in-the-frameworks/</guid><category>Architecture</category><category>framework</category><category>CMMI</category><category>ISO</category></item><item><title>Containers are the new IaaS</title><link>https://blog.siphos.be/2022/05/containers-are-the-new-iaas/</link><description>&lt;p&gt;At work, as with many other companies, we're actively investing in new
platforms, including container platforms and public cloud. We use Kubernetes
based container platforms both on-premise and in the cloud, but are also very
adamant that the container platforms should only be used for application
workload that is correctly designed for cloud-native deployments: we do not
want to see vendors packaging full operating systems in a container and
then shouting they are now container-ready.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 21 May 2022 13:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-05-21:/2022/05/containers-are-the-new-iaas/</guid><category>Architecture</category><category>kubernetes</category><category>container</category><category>iaas</category><category>infrastructure</category><category>virtual-machine</category></item><item><title>Defining what an IT asset is</title><link>https://blog.siphos.be/2022/02/defining-what-an-it-asset-is/</link><description>&lt;p&gt;One of the main IT processes that a company should strive to have in place
is a decent IT asset management system. It facilitates knowing what assets
you own, where they are, who the owner is, and provides a foundation for
numerous other IT processes.&lt;/p&gt;
&lt;p&gt;However, when asking "what is an IT asset", it gets kind off fuzzy...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 13 Feb 2022 13:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-02-13:/2022/02/defining-what-an-it-asset-is/</guid><category>Architecture</category><category>asset-management</category><category>cobit</category><category>itil</category></item><item><title>An IT conceptual data model</title><link>https://blog.siphos.be/2022/01/an-it-conceptual-data-model/</link><description>&lt;p&gt;This time a much shorter post, as I've been asked to share this information
recently and found that it, by itself, is already useful enough to publish. It
is a conceptual data model for IT services.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 17 Jan 2022 10:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-01-17:/2022/01/an-it-conceptual-data-model/</guid><category>Architecture</category><category>cdm</category><category>asset-management</category><category>configuration-management</category></item><item><title>Ownership and responsibilities for infrastructure services</title><link>https://blog.siphos.be/2022/01/ownership-and-responsibilities-for-infrastructure-services/</link><description>&lt;p&gt;In a perfect world, using infrastructure or technology services would be
seamless, without impact, without risks. It would auto-update, tailor to
the user needs, detect when new features are necessary, adapt, etc. But
while this is undoubtedly what vendors are saying their product delivers,
the truth is way, waaaay different.&lt;/p&gt;
&lt;p&gt;Managing infrastructure services implies that the company or organization
needs to organize itself to deal with all aspects of supporting a service.
What are these aspects? Well, let's go through those that are top-of-mind
for me...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 13 Jan 2022 09:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2022-01-13:/2022/01/ownership-and-responsibilities-for-infrastructure-services/</guid><category>Architecture</category><category>RACI</category><category>responsibilities</category></item><item><title>The pleasures of having DTAP</title><link>https://blog.siphos.be/2021/12/the-pleasures-of-having-DTAP/</link><description>&lt;p&gt;No, not Diphtheria, Tetanus, and Pertussis (vaccine), but &lt;em&gt;Development,
Test, Acceptance, and Production (DTAP)&lt;/em&gt;: different environments that,
together with a well-working release management process, provide a way to
get higher quality and reduced risks in production. DTAP is an important
cornerstone for a larger infrastructure architecture as it provides
environments that are tailored to the needs of many stakeholders.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 30 Dec 2021 12:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-12-30:/2021/12/the-pleasures-of-having-DTAP/</guid><category>Architecture</category><category>DTAP</category><category>environments</category><category>zoning</category><category>development</category><category>test</category><category>acceptance</category><category>production</category></item><item><title>Creating an enterprise open source policy</title><link>https://blog.siphos.be/2021/11/creating-an-enterprise-open-source-policy/</link><description>&lt;p&gt;Nowadays it is impossible to ignore, or even prevent open source from being
active within the enterprise world. Even if a company only wants to use
commercially backed solutions, many - if not most - of these are built with, and
are using open source software.&lt;/p&gt;
&lt;p&gt;However, open source is more than just a code sourcing possibility. By having a
good statement within the company on how it wants to deal with open source, what
it wants to support, etc. engineers and developers can have a better
understanding of what they can do to support their business further.&lt;/p&gt;
&lt;p&gt;In many cases, companies will draft up an &lt;em&gt;open source policy&lt;/em&gt;, and in this post
I want to share some practices I've learned on how to draft such a policy.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 20 Nov 2021 15:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-11-20:/2021/11/creating-an-enterprise-open-source-policy/</guid><category>Architecture</category><category>opensource</category><category>enterprise</category><category>legal</category><category>compliance</category></item><item><title>Hybrid cloud can be very complex</title><link>https://blog.siphos.be/2021/11/hybrid-cloud-can-be-very-complex/</link><description>&lt;p&gt;I am not an advocate for hybrid cloud architectures. Or at least, not the
definition for hybrid cloud that assumes one (cloud or on premise) environment
is just an extension of another (cloud or on premise) environment. While such
architectures seem to be simple and fruitful - you can easily add some capacity
in the other environment to handle burst load - they are a complex beast to
tame.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 08 Nov 2021 20:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-11-08:/2021/11/hybrid-cloud-can-be-very-complex/</guid><category>Architecture</category><category>hybrid</category><category>cloud</category></item><item><title>Transparent encryption is not a silver bullet</title><link>https://blog.siphos.be/2021/10/transparent-encryption-is-not-a-silver-bullet/</link><description>&lt;p&gt;Transparent encryption is relatively easy to implement, but without
understanding what it actually means or why you are implementing it, you will
probably make the assumption that this will prevent the data from being
accessed by unauthorized users. Nothing can be further from the truth.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 19 Oct 2021 08:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-10-19:/2021/10/transparent-encryption-is-not-a-silver-bullet/</guid><category>Architecture</category><category>encryption</category><category>transparent</category><category>luks</category><category>dm-crypt</category></item><item><title>Evaluating the zero trust hype</title><link>https://blog.siphos.be/2021/10/evaluating-the-zero-trust-hype/</link><description>&lt;p&gt;Security vendors are touting the benefits of "zero trust" as the new way to
approach security and security-conscious architecturing. But while there are
principles within the zero trust mindset that came up in the last dozen years,
most of the content in zero trust discussions is tied to age-old security
propositions.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 05 Oct 2021 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-10-05:/2021/10/evaluating-the-zero-trust-hype/</guid><category>Architecture</category><category>zero-trust</category><category>security</category><category>enterprise</category><category>network-security</category></item><item><title>Scale is a cloud threat</title><link>https://blog.siphos.be/2021/09/scale-is-a-cloud-threat/</link><description>&lt;p&gt;Not that long ago, a vulnerability was found in &lt;a href="https://docs.microsoft.com/en-us/azure/cosmos-db/"&gt;Microsoft Azure Cosmos
DB&lt;/a&gt;, a NoSQL SaaS database
within the Microsoft Azure cloud. The vulnerability, which is dubbed
&lt;a href="https://chaosdb.wiz.io/"&gt;ChaosDB&lt;/a&gt; by the &lt;a href="https://twitter.com/wiz_io"&gt;Wiz Research
Team&lt;/a&gt;, uses a vulnerability or misconfiguration in
the &lt;a href="https://docs.microsoft.com/en-us/azure/cosmos-db/cosmosdb-jupyter-notebooks"&gt;Jupyter Notebook
feature&lt;/a&gt;
within Cosmos DB. This vulnerability allowed an attacker to gain access to
other's Cosmos DB credentials. Not long thereafter, a second vulnerability
dubbed
&lt;a href="https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure"&gt;OMIGOD&lt;/a&gt;
showed that cloud security is not as simple as some vendors like you to believe.&lt;/p&gt;
&lt;p&gt;These vulnerabilities are a good example of how scale is a cloud threat. Companies
that do not have enough experience with public cloud might not assume this in
their threat models.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 28 Sep 2021 17:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-09-28:/2021/09/scale-is-a-cloud-threat/</guid><category>Architecture</category><category>cloud</category><category>vulnerability</category></item><item><title>Naming conventions</title><link>https://blog.siphos.be/2021/09/naming-conventions/</link><description>&lt;p&gt;Naming conventions. Picking the right naming convention is easy if you are all
by yourself, but hard when you need to agree upon the conventions in a larger
group. Everybody has an opinion on naming conventions, and once you decide
on it, you do expect everybody to follow through on it.&lt;/p&gt;
&lt;p&gt;Let's consider why naming conventions are (not) important and consider a few
examples to help in creating a good naming convention yourself.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 15 Sep 2021 19:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-09-15:/2021/09/naming-conventions/</guid><category>Architecture</category><category>naming</category></item><item><title>Location view of infrastructure</title><link>https://blog.siphos.be/2021/09/location-view-of-infrastructure/</link><description>&lt;p&gt;In this last post on the infrastructure domain, I cover the fifth and final
viewpoint that is important for an infrastructure domain representation, and
that is the &lt;em&gt;location view&lt;/em&gt;. As mentioned in previous posts, the viewpoints I
think are most representative of the infrastructure domain are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.siphos.be/2021/09/process-view-of-infrastructure/"&gt;process view&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.siphos.be/2021/06/an-it-services-overview/"&gt;service view&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.siphos.be/2021/08/component-view-of-infrastructure/"&gt;component view&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.siphos.be/2017/06/structuring-infrastructural-deployments/"&gt;zoning view&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;location view&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Like with the component view, the location view is a layered approach. While I
initially wanted to call it the network view, "location" might be a broader
term that matches the content better. Still, it's not a perfect name, but the
name is less important than the content, not?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 07 Sep 2021 18:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-09-07:/2021/09/location-view-of-infrastructure/</guid><category>Architecture</category><category>architecture</category><category>location</category><category>network</category><category>virtualization</category><category>protocol</category></item><item><title>Process view of infrastructure</title><link>https://blog.siphos.be/2021/09/process-view-of-infrastructure/</link><description>&lt;p&gt;In my &lt;a href="https://blog.siphos.be/2021/08/component-view-of-infrastructure/"&gt;previous post&lt;/a&gt;,
I started with the five different views that would support a good view of
what infrastructure would be. I believe these views (component, location,
process, service, and zoning) cover the breadth of the domain. The post also
described the component view a bit more and linked to previous posts I made (one
for &lt;a href="https://blog.siphos.be/2021/06/an-it-services-overview/"&gt;services&lt;/a&gt;, another for
&lt;a href="https://blog.siphos.be/2017/06/structuring-infrastructural-deployments/"&gt;zoning&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The one I want to tackle here is the most elaborate one, also the most
enterprise-ish, and one that always is a balance on how much time and
effort to put into it (as an architect), as well as hoping that the processes
are sufficiently standardized in a flexible manner so that you don't need
to cover everything again and again in each project.&lt;/p&gt;
&lt;p&gt;So, let's talk about processes...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 01 Sep 2021 11:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-09-01:/2021/09/process-view-of-infrastructure/</guid><category>Architecture</category><category>architecture</category><category>process</category></item><item><title>Component view of infrastructure</title><link>https://blog.siphos.be/2021/08/component-view-of-infrastructure/</link><description>&lt;p&gt;IT architects try to use views and viewpoints to convey the target architecture
to the various stakeholders. Each stakeholder has their own interests in the
architecture and wants to see their requirements fulfilled. A core
role of the architect is to understand these requirements and make sure the
requirements are met, and to balance all the different requirements.&lt;/p&gt;
&lt;p&gt;Architecture languages or meta-models often put significant focus on these
views. Archimate has a large annex on &lt;a href="https://pubs.opengroup.org/architecture/archimate3-doc/apdxc.html#_Toc10045495"&gt;Example
Viewpoints&lt;/a&gt;
just for this purpose. However, unless the organization is widely accustomed to
enterprise architecture views, it is unlikely that the views themselves are the
final product: being able to translate those views into pretty slides and
presentations is still an important task for architects when they need to
present their findings to non-architecture roles.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 27 Aug 2021 21:10:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-08-27:/2021/08/component-view-of-infrastructure/</guid><category>Architecture</category><category>architecture</category><category>component</category><category>viewpoint</category></item><item><title>Disaster recovery in the public cloud</title><link>https://blog.siphos.be/2021/07/disaster-recovery-in-the-public-cloud/</link><description>&lt;p&gt;The public cloud is a different beast than an on-premise environment, and that
also reflects itself on how we (should) look at the processes that are
actively steering infrastructure designs and architecture. One of these
is the business continuity, severe incident handling, and the
hopefully-never-to-occur disaster recovery. When building up procedures
for handling disasters (&lt;a href="https://en.wikipedia.org/wiki/Disaster_recovery"&gt;DRP = Disaster Recovery Procedure or Disaster 
Recover Planning&lt;/a&gt;),
it is important to keep in mind what these are about.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 30 Jul 2021 20:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-07-30:/2021/07/disaster-recovery-in-the-public-cloud/</guid><category>Architecture</category><category>architecture</category><category>cloud</category><category>DRP</category></item><item><title>What is the infrastructure domain?</title><link>https://blog.siphos.be/2021/07/what-is-the-infrastructure-domain/</link><description>&lt;p&gt;In my job as domain architect for "infrastructure", I often come across
stakeholders that have no common understanding of what infrastructure means in
an enterprise architecture. Since then, I am trying to figure out a way to
easily explain it - to find a common, generic view on what infrastructure
entails. If successful, I could use this common view to provide context on the
many, many IT projects that are going around.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 19 Jul 2021 15:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-07-19:/2021/07/what-is-the-infrastructure-domain/</guid><category>Architecture</category><category>architecture</category><category>pattern</category></item><item><title>Organizing service documentation</title><link>https://blog.siphos.be/2021/07/organizing-service-documentation/</link><description>&lt;p&gt;As I mentioned in &lt;a href="https://blog.siphos.be/2021/06/an-it-services-overview/"&gt;An IT services overview&lt;/a&gt;
I try to keep track of the architecture and designs of the IT services and
solutions in a way that I feel helps me keep in touch with all the various
services and solutions out there. Similar to how system administrators try to
find a balance while working on documentation (which is often considered a
chore) and using a structure that is sufficiently simple and standard for the
organization to benefit from, architects should try to keep track of
architecturally relevant information as well.&lt;/p&gt;
&lt;p&gt;So in this post, I'm going to explain a bit more on how I approach documenting
service and solution insights for architectural relevance.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 08 Jul 2021 09:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-07-08:/2021/07/organizing-service-documentation/</guid><category>Architecture</category><category>architecture</category><category>documentation</category><category>structure</category><category>wiki</category></item><item><title>Not sure if TOSCA will grow further</title><link>https://blog.siphos.be/2021/06/not-sure-if-TOSCA-will-grow-further/</link><description>&lt;p&gt;TOSCA is an OASIS open standard, and is an abbreviation for &lt;em&gt;Topology and
Orchestration Specification for Cloud Applications&lt;/em&gt;. It provides a
domain-specific language to describe how an application should be deployed
in the cloud (the topology), which and how many resources it needs, as well
as tasks to run when certain events occur (the orchestration). When I
initially came across this standard, I was (and still am) interested
in how far this goes. The promise of declaring an application (and even
bundling the necessary application artefacts) within a single asset and
then using this asset to deploy on whatever cloud is very appealing to
an architect. Especially in organizations that have a multi-cloud
strategy.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 30 Jun 2021 14:30:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-06-30:/2021/06/not-sure-if-TOSCA-will-grow-further/</guid><category>Architecture</category><category>architecture</category><category>cloud</category><category>TOSCA</category><category>OASIS</category><category>topology</category><category>orchestration</category><category>infrastructure</category><category>IaC</category><category>NFV</category></item><item><title>Integrating or customizing SaaS within your own cloud environment</title><link>https://blog.siphos.be/2021/06/integrating-or-customizing-SaaS-within-your-own-cloud-environment/</link><description>&lt;p&gt;Software as a Service (SaaS) solutions are often a quick way to get new
capabilities into an organization’s portfolio. Smaller SaaS solutions are
simple, web-based solutions which barely integrate with the organization’s
other solutions, besides the identity and access management (which is often
handled by federated authentication).&lt;/p&gt;
&lt;p&gt;More complex or intermediate solutions require more integration focus, and
a whole new market of Integration Platform as a Service (iPaaS) solutions
came up to facilitate cross-cloud integrations. But even without the iPaaS
offerings, integrations are often a mandatory part to leverage the benefits
of the newly activated SaaS solution.&lt;/p&gt;
&lt;p&gt;In this post I want to bring some thoughts on the integrations that might be
needed to support customizing a SaaS solution.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 23 Jun 2021 15:10:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-06-23:/2021/06/integrating-or-customizing-SaaS-within-your-own-cloud-environment/</guid><category>Architecture</category><category>architecture</category><category>cloud</category><category>SaaS</category><category>integration</category><category>customization</category></item><item><title>An IT services overview</title><link>https://blog.siphos.be/2021/06/an-it-services-overview/</link><description>&lt;p&gt;My current role within the company I work for is “domain architect”, part
of the enterprise architects teams. The domain I am accountable for is 
“infrastructure”, which can be seen as a very broad one. Now, I’ve been
maintaining an overview of our IT services before I reached that role, 
mainly from an elaborate interest in the subject, as well as to optimize
my efficiency further.&lt;/p&gt;
&lt;p&gt;Becoming a domain architect allows me to use the insights I’ve since
gathered to try and give appropriate advice, but also now requires me to
maintain a domain architecture. This structure is going to be the starting
point of it, although it is not the true all and end all of what I would
consider a domain architecture.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 14 Jun 2021 17:30:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-06-14:/2021/06/an-it-services-overview/</guid><category>Architecture</category><category>architecture</category><category>overview</category><category>service</category><category>landscape</category><category>catalog</category><category>capability</category></item><item><title>The three additional layers in the OSI model</title><link>https://blog.siphos.be/2021/06/the-three-additional-layers-in-the-OSI-model/</link><description>&lt;p&gt;At my workplace, I jokingly refer to the three extra layers on top of the
OSI network model as a way to describe the difficulties of discussions or
cases. These three additional layers are Financial Layer, Politics Layer
and Religion Layer, and the idea is that the higher up you go, the more
challenging discussions will be.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 09 Jun 2021 11:10:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-06-09:/2021/06/the-three-additional-layers-in-the-OSI-model/</guid><category>Misc</category><category>OSI</category><category>meeting</category><category>humor</category></item><item><title>Virtualization vs abstraction</title><link>https://blog.siphos.be/2021/06/virtualization-vs-abstraction/</link><description>&lt;p&gt;When an organization has an extensively large, and heterogeneous
infrastructure, infrastructure architects will attempt to make itless
complex and chaotic by introducing and maintaining a certain degree of
standardization. While many might consider standardization as a
rationalization (standardizing on a single database technology, single
vendor for hardware, etc.), rationalization is only one of the many ways
in which standards can simplify such a degree of complexity.&lt;/p&gt;
&lt;p&gt;In this post, I'd like to point out two other, very common ways to
standardize the IT environment, without really considering a
rationalization: abstraction and virtualization.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 03 Jun 2021 10:10:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-06-03:/2021/06/virtualization-vs-abstraction/</guid><category>Architecture</category><category>architecture</category><category>virtualization</category><category>abstraction</category></item><item><title>SELinux System Administration 3rd Edition</title><link>https://blog.siphos.be/2021/01/selinux-system-administration-3rd-edition/</link><description>&lt;p&gt;As I mentioned previously, recently my latest installment of "SELinux System
Administration" has been released by Packt Publishing. This is already the
third edition of the book, after the first (2013) and second (2016) editions
have gotten reasonable success given the technical and often hard nature of
full SELinux administration.&lt;/p&gt;
&lt;p&gt;Like with the previous editions, this book remains true to the public of
system administrators, rather than SELinux policy developers. Of course,
SELinux policy development is not ignored in the book.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 06 Jan 2021 20:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2021-01-06:/2021/01/selinux-system-administration-3rd-edition/</guid><category>SELinux</category><category>selinux</category><category>packt</category><category>book</category></item><item><title>Abstracting infrastructure complexity</title><link>https://blog.siphos.be/2020/12/abstracting-infrastructure-complexity/</link><description>&lt;p&gt;IT is complex. Some even consider it to be more magic than reality. And with
the ongoing evolutions and inventions, the complexity is not really going
away. Sure, some IT areas are becoming easier to understand, but that is often
offset with new areas being explored.&lt;/p&gt;
&lt;p&gt;Companies and organizations that have a sizeable IT footprint generally see an
increase in their infrastructure, regardless of how many rationalization
initiatives that are started. Personally, I find it challenging, in a fun
way, to keep up with the onslaught of new technologies and services that are
onboarded in the infrastructure landscape that I'm responsible for.&lt;/p&gt;
&lt;p&gt;But just understanding a technology isn't enough to deal with its position in
the larger environment.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 25 Dec 2020 23:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2020-12-25:/2020/12/abstracting-infrastructure-complexity/</guid><category>Architecture</category><category>infrastructure</category><category>archimate</category></item><item><title>Working on infra strategy</title><link>https://blog.siphos.be/2020/10/working-on-infra-strategy/</link><description>&lt;p&gt;After a long hiatus, I'm ready to take up blogging again on my public blog.
With my day job becoming more intensive and my side-job taking the remainder
of the time, I've since quit my work on the Gentoo project. I am in process
of releasing a new edition of the SELinux System Administration book, so I'll
probably discuss that more later.&lt;/p&gt;
&lt;p&gt;Today, I want to write about a task I had to do this year as brand new domain
architect for infrastructure.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 04 Oct 2020 13:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2020-10-04:/2020/10/working-on-infra-strategy/</guid><category>Architecture</category></item><item><title>cvechecker 3.9 released</title><link>https://blog.siphos.be/2018/09/cvechecker-3.9-released/</link><description>&lt;p&gt;Thanks to updates from Vignesh Jayaraman, Anton Hillebrand and Rolf Eike Beer,
a new release of &lt;a href="https://github.com/sjvermeu/cvechecker/wiki"&gt;cvechecker&lt;/a&gt; is
now made available.&lt;/p&gt;
&lt;p&gt;This new release (v3.9) is a bugfix release.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 09 Sep 2018 13:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2018-09-09:/2018/09/cvechecker-3.9-released/</guid><category>Free-Software</category><category>cvechecker</category></item><item><title>Automating compliance checks</title><link>https://blog.siphos.be/2018/03/automating-compliance-checks/</link><description>&lt;p&gt;With the configuration baseline for a technical service being described fully (see the &lt;a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/"&gt;first&lt;/a&gt;, &lt;a href="https://blog.siphos.be/2018/01/structuring-a-configuration-baseline/"&gt;second&lt;/a&gt; and &lt;a href="https://blog.siphos.be/2018/01/documenting-a-rule/"&gt;third&lt;/a&gt; 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 &lt;em&gt;Open Vulnerability and Assessment Language (OVAL)&lt;/em&gt;, which is nowadays managed by the &lt;a href="https://oval.cisecurity.org/"&gt;Center for Internet Security&lt;/a&gt;, 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 &lt;a href="https://github.com/OVALProject/Language/tree/5.11.2/docs"&gt;github repositories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But I digress...&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 03 Mar 2018 13:20:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2018-03-03:/2018/03/automating-compliance-checks/</guid><category>Security</category><category>xccdf</category><category>oval</category><category>scap</category><category>baseline</category></item><item><title>Documenting a rule</title><link>https://blog.siphos.be/2018/01/documenting-a-rule/</link><description>&lt;p&gt;In the &lt;a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/"&gt;first post&lt;/a&gt; I talked about why configuration documentation is important. In the &lt;a href="https://blog.siphos.be/2018/01/structuring-a-configuration-baseline/"&gt;second post&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;The next step is to document the rules themselves, i.e. the actual content of a configuration baseline.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 24 Jan 2018 20:40:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2018-01-24:/2018/01/documenting-a-rule/</guid><category>Security</category><category>xccdf</category><category>scap</category><category>baseline</category></item><item><title>Structuring a configuration baseline</title><link>https://blog.siphos.be/2018/01/structuring-a-configuration-baseline/</link><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;If you haven't read the blog post on &lt;a href="https://blog.siphos.be/2018/01/documenting-configuration-changes/"&gt;documenting configuration changes&lt;/a&gt;, 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.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 17 Jan 2018 09:10:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2018-01-17:/2018/01/structuring-a-configuration-baseline/</guid><category>Security</category><category>xccdf</category><category>scap</category><category>baseline</category></item><item><title>Documenting configuration changes</title><link>https://blog.siphos.be/2018/01/documenting-configuration-changes/</link><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;In this blog post series, I'm going to look into using the &lt;em&gt;Extensible Configuration Checklist Description Format (XCCDF)&lt;/em&gt; as the way to document these. This first post is an introduction to XCCDF functionally, and what I position it for.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 07 Jan 2018 21:20:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2018-01-07:/2018/01/documenting-configuration-changes/</guid><category>Security</category><category>xccdf</category><category>scap</category><category>baseline</category></item><item><title>SELinux and extended permissions</title><link>https://blog.siphos.be/2017/11/selinux-and-extended-permissions/</link><description>&lt;p&gt;One of the features present in the &lt;a href="https://github.com/SELinuxProject/selinux/wiki/Releases"&gt;August release&lt;/a&gt; of the SELinux user space is its support for ioctl xperm rules in modular policies. In the past, this was only possible in monolithic ones (and CIL). Through this, allow rules can be extended to not only cover source (domain) and target (resource) identifiers, but also a specific number on which it applies. And ioctl's are the first (and currently only) permission on which this is implemented.&lt;/p&gt;
&lt;p&gt;Note that ioctl-level permission controls isn't a new feature by itself, but the fact that it can be used in modular policies is.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 20 Nov 2017 17:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-11-20:/2017/11/selinux-and-extended-permissions/</guid><category>SELinux</category><category>selinux</category><category>ioctl</category></item><item><title>SELinux Userspace 2.7</title><link>https://blog.siphos.be/2017/09/selinux-userspace-2.7/</link><description>&lt;p&gt;A few days ago, &lt;a href="http://blog.perfinion.com/"&gt;Jason "perfinion" Zaman&lt;/a&gt; stabilized the 2.7 SELinux userspace on
Gentoo. This release has quite a &lt;a href="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804/RELEASE-20170804.txt"&gt;few new features&lt;/a&gt;, which I'll cover in later
posts, but for distribution packagers the main change is that the userspace
now has many more components to package. The project has split up the
policycoreutils package in separate packages so that deployments can be made
more specific.&lt;/p&gt;
&lt;p&gt;Let's take a look at all the various userspace packages again, learn what their
purpose is, so that you can decide if they're needed or not on a system. Also,
when I cover the contents of a package, be aware that it is based on the deployment
on my system, which might or might not be a complete installation (as with Gentoo,
different USE flags can trigger different package deployments).&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 26 Sep 2017 14:50:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-09-26:/2017/09/selinux-userspace-2.7/</guid><category>SELinux</category><category>gentoo</category><category>selinux</category><category>userspace</category></item><item><title>Authenticating with U2F</title><link>https://blog.siphos.be/2017/09/authenticating-with-u2f/</link><description>&lt;p&gt;In order to further secure access to my workstation, after the &lt;a href="http://blog.siphos.be/2017/08/switch-to-gentoo-sources/"&gt;switch to Gentoo
sources&lt;/a&gt;, 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 &lt;a href="https://lwn.net/Articles/544640/"&gt;chaining authentication
methods in OpenSSH&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enabling U2F on (Gentoo) Linux is fairly easy. The various guides online which talk
about the &lt;code&gt;pam_u2f&lt;/code&gt; setup are indeed correct that it is fairly simple. For completeness
sake, I've documented what I know on the Gentoo Wiki, as the &lt;a href="https://wiki.gentoo.org/wiki/Pam_u2f"&gt;pam_u2f article&lt;/a&gt;.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 11 Sep 2017 18:25:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-09-11:/2017/09/authenticating-with-u2f/</guid><category>Security</category><category>gentoo</category><category>security</category><category>yubico</category><category>u2f</category><category>pam</category></item><item><title>Using nVidia with SELinux</title><link>https://blog.siphos.be/2017/08/using-nvidia-with-selinux/</link><description>&lt;p&gt;Yesterday I've &lt;a href="http://blog.siphos.be/2017/08/switch-to-gentoo-sources/"&gt;switched to the gentoo-sources kernel package&lt;/a&gt; on Gentoo Linux.
And with that, I also attempted (succesfully) to use the propriatary nvidia drivers
so that I can enjoy both a smoother 3D experience while playing minecraft, as well
as use the CUDA support so I don't need to use cloud-based services for small
exercises.&lt;/p&gt;
&lt;p&gt;The move to nvidia was quite simple, as the &lt;a href="https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers"&gt;nvidia-drivers wiki article&lt;/a&gt; on
the Gentoo wiki was quite easy to follow.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 23 Aug 2017 19:04:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-08-23:/2017/08/using-nvidia-with-selinux/</guid><category>SELinux</category><category>gentoo</category><category>selinux</category><category>nvidia</category></item><item><title>Switch to Gentoo sources</title><link>https://blog.siphos.be/2017/08/switch-to-gentoo-sources/</link><description>&lt;p&gt;You've might already read it on the Gentoo news site, the &lt;a href="https://www.gentoo.org/news/2017/08/19/hardened-sources-removal.html"&gt;Hardened Linux kernel sources
are removed from the tree&lt;/a&gt; due to the &lt;a href="http://grsecurity.net/"&gt;grsecurity&lt;/a&gt; change where the grsecurity
Linux kernel patches are no longer provided for free. The decision was made due to
supportability and maintainability reasons.&lt;/p&gt;
&lt;p&gt;That doesn't mean that users who want to stick with the grsecurity related hardening
features are left alone. &lt;a href="https://blogs.gentoo.org/ago/2017/08/21/sys-kernel-grsecurity-sources-available/#utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=feed"&gt;Agostino Sarubbo has started providing sys-kernel/grsecurity-sources&lt;/a&gt;
for the users who want to stick with it, as it is based on &lt;a href="https://github.com/minipli/linux-unofficial_grsec"&gt;minipli's unofficial patchset&lt;/a&gt;.
I seriously hope that the patchset will continue to be maintained and, who knows, even evolve further.&lt;/p&gt;
&lt;p&gt;Personally though, I'm switching to the Gentoo sources, and stick with SELinux as one of the
protection measures. And with that, I might even start using my NVidia graphics card a bit more, 
as that one hasn't been touched in several years (I have an Optimus-capable setup with both an
Intel integrated graphics card and an NVidia one, but all attempts to use nouveau for the one game
I like to play - minecraft - didn't work out that well).&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 22 Aug 2017 19:04:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-08-22:/2017/08/switch-to-gentoo-sources/</guid><category>Gentoo</category><category>gentoo</category><category>hardened</category><category>grsecurity</category><category>selinux</category></item><item><title>Project prioritization</title><link>https://blog.siphos.be/2017/07/project-prioritization/</link><description>&lt;p&gt;&lt;sub&gt;This is a long read, skip to “Prioritizing the projects and changes” for the
approach details...&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;Organizations and companies generally have an IT workload (dare I say,
backlog?) which needs to be properly assessed, prioritized and taken up.
Sometimes, the IT team(s) get an amount of budget and HR resources to "do their
thing", while others need to continuously ask for approval to launch a new
project or instantiate a change.&lt;/p&gt;
&lt;p&gt;Sizeable organizations even require engineering and development effort on IT
projects which are not readily available: specialized teams exist, but they are
governance-wise assigned to projects. And as everyone thinks their project is
the top-most priority one, many will be disappointed when they hear there are
no resources available for their pet project.&lt;/p&gt;
&lt;p&gt;So... how should organizations prioritize such projects?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 18 Jul 2017 20:40:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-07-18:/2017/07/project-prioritization/</guid><category>Architecture</category><category>pmo</category><category>strategy</category><category>SAFe</category><category>prioritization</category><category>project</category></item><item><title>Structuring infrastructural deployments</title><link>https://blog.siphos.be/2017/06/structuring-infrastructural-deployments/</link><description>&lt;p&gt;Many organizations struggle with the all-time increase in IP address
allocation and the accompanying need for segmentation. In the past, governing
the segments within the organization means keeping close control over the
service deployments, firewall rules, etc.&lt;/p&gt;
&lt;p&gt;Lately, the idea of micro-segmentation, supported through software-defined
networking solutions, seems to defy the need for a segmentation governance.
However, I think that that is a very short-sighted sales proposition. Even
with micro-segmentation, or even pure point-to-point / peer2peer communication
flow control, you'll still be needing a high level overview of the services
within your scope.&lt;/p&gt;
&lt;p&gt;In this blog post, I'll give some insights in how we are approaching this in
the company I work for. In short, it starts with requirements gathering,
creating labels to assign to deployments, creating groups based on one or two
labels in a layered approach, and finally fixating the resulting schema and
start mapping guidance documents (policies) toward the presented architecture.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 07 Jun 2017 20:40:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-06-07:/2017/06/structuring-infrastructural-deployments/</guid><category>Architecture</category><category>segmentation</category><category>zoning</category><category>deployments</category><category>landscape</category></item><item><title>Matching MD5 SSH fingerprint</title><link>https://blog.siphos.be/2017/05/matching-md5-ssh-fingerprint/</link><description>&lt;p&gt;Today I was attempting to update a local repository, when SSH complained
about a changed fingerprint, something like the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 18 May 2017 18:20:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-05-18:/2017/05/matching-md5-ssh-fingerprint/</guid><category>Security</category><category>openssh</category><category>fingerprint</category><category>md5</category></item><item><title>Switched to Lineage OS</title><link>https://blog.siphos.be/2017/04/switched-to-lineage-os/</link><description>&lt;p&gt;I have been a long time user of &lt;a href="https://en.wikipedia.org/wiki/CyanogenMod"&gt;Cyanogenmod&lt;/a&gt;, 
which discontinued its services end of 2016. Due to lack of (continuous) time, I was not
able to switch over toward a different ROM. Also, I wasn't sure if
&lt;a href="https://www.lineageos.org/"&gt;LineageOS&lt;/a&gt; would remain the best choice for me or not. I wanted
to review other ROMs for my Samsung Galaxy SIII (the i9300 model) phone.&lt;/p&gt;
&lt;p&gt;Today, I made my choice and installed LineageOS.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 09 Apr 2017 16:40:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-04-09:/2017/04/switched-to-lineage-os/</guid><category>Misc</category><category>cyanogenmod</category><category>lineageos</category><category>mobile</category><category>android</category></item><item><title>cvechecker 3.8 released</title><link>https://blog.siphos.be/2017/03/cvechecker-3.8-released/</link><description>&lt;p&gt;A new release is now available for the &lt;a href="https://github.com/sjvermeu/cvechecker/wiki"&gt;cvechecker&lt;/a&gt; application.
This is a stupid yet important bugfix release: the 3.7 release saw all newly released CVEs as being already
known, so it did not take them up to the database. As a result, systems would never check for the new CVEs.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 27 Mar 2017 19:00:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-03-27:/2017/03/cvechecker-3.8-released/</guid><category>Free-Software</category><category>cvechecker</category></item><item><title>Handling certificates in Gentoo Linux</title><link>https://blog.siphos.be/2017/03/handling-certificates-in-gentoo-linux/</link><description>&lt;p&gt;I recently created a new article on the Gentoo Wiki titled &lt;a href="https://wiki.gentoo.org/wiki/Certificates"&gt;Certificates&lt;/a&gt;
which talks about how to handle certificate stores on Gentoo Linux. The write-up
of the article (which might still change name later, because it does not handle
&lt;em&gt;everything&lt;/em&gt; about certificates, mostly how to handle certificate stores) was
inspired by the observation that I had to adjust the certificate stores of both
Chromium and Firefox separately, even though they both use NSS.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 06 Mar 2017 22:20:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-03-06:/2017/03/handling-certificates-in-gentoo-linux/</guid><category>Gentoo</category><category>gentoo</category><category>certificates</category><category>nss</category></item><item><title>cvechecker 3.7 released</title><link>https://blog.siphos.be/2017/03/cvechecker-3.7-released/</link><description>&lt;p&gt;After a long time of getting too little attention from me, I decided to make a 
new &lt;a href="https://github.com/sjvermeu/cvechecker/wiki"&gt;cvechecker&lt;/a&gt; release. There are
few changes in it, but I am planning on making a new release soon with lots of
clean-ups.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 02 Mar 2017 10:00:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-03-02:/2017/03/cvechecker-3.7-released/</guid><category>Free-Software</category><category>cvechecker</category></item><item><title>I missed FOSDEM</title><link>https://blog.siphos.be/2017/02/i-missed-fosdem/</link><description>&lt;p&gt;I sadly had to miss out on the FOSDEM event. The entire weekend was filled with
me being apathetic, feverish and overall zombie-like. Yes, sickness can be cruel.
It wasn't until today that I had the energy back to fire up my laptop.&lt;/p&gt;
&lt;p&gt;Sorry for the crew that I promised to meet at FOSDEM. I'll make it up, somehow.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 07 Feb 2017 17:06:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2017-02-07:/2017/02/i-missed-fosdem/</guid><category>Misc</category><category>gentoo</category><category>fosdem</category></item><item><title>SELinux System Administration, 2nd Edition</title><link>https://blog.siphos.be/2016/12/selinux-system-administration-2nd-edition/</link><description>&lt;p&gt;While still working on a few other projects, one of the time consumers of the
past half year (haven't you noticed? my blog was quite silent) has come to an
end: the &lt;a href="https://www.packtpub.com/networking-and-servers/selinux-system-administration-second-edition"&gt;SELinux System Administration - Second Edition&lt;/a&gt;
book is now available. With almost double the amount of pages and a serious
update of the content, the book can now be bought either through Packt Publishing
itself, or the various online bookstores such as &lt;a href="https://www.amazon.com/SELinux-System-Administration-Sven-Vermeulen-ebook/dp/B01LWM02WI"&gt;Amazon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;With the holidays now approaching, I hope to be able to execute a few tasks
within the Gentoo community (and of the Gentoo Foundation) and get back on track.
Luckily, my absence was not jeopardizing the state of &lt;a href="https://wiki.gentoo.org/wiki/SELinux"&gt;SELinux&lt;/a&gt;
in Gentoo thanks to the efforts of Jason Zaman.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 22 Dec 2016 19:26:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-12-22:/2016/12/selinux-system-administration-2nd-edition/</guid><category>SELinux</category><category>selinux</category><category>gentoo</category><category>rhel</category><category>redhat</category><category>packt</category><category>book</category><category>publishing</category></item><item><title>GnuPG: private key suddenly missing?</title><link>https://blog.siphos.be/2016/10/gnupg-private-key-suddenly-missing/</link><description>&lt;p&gt;After updating my workstation, I noticed that keychain reported that it could
not load one of the GnuPG keys I passed it on.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt; * keychain 2.8.1 ~ http://www.funtoo.org
 * Found existing ssh-agent: 2167
 * Found existing gpg-agent: 2194
 * Warning: can't find 0xB7BD4B0DE76AC6A4; skipping
 * Known ssh key: /home/swift/.ssh/id_dsa
 * Known ssh key: /home/swift/.ssh/id_ed25519
 * Known gpg key: 0x22899E947878B0CE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I did not modify my key store at all, so what happened?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 12 Oct 2016 18:56:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-10-12:/2016/10/gnupg-private-key-suddenly-missing/</guid><category>Free-Software</category><category>gnupg</category></item><item><title>We do not ship SELinux sandbox</title><link>https://blog.siphos.be/2016/09/we-do-not-ship-selinux-sandbox/</link><description>&lt;p&gt;A few days ago a vulnerability was reported in the SELinux sandbox user space
utility. The utility is part of the &lt;code&gt;policycoreutils&lt;/code&gt; package. Luckily, Gentoo's
&lt;code&gt;sys-apps/policycoreutils&lt;/code&gt; package is not vulnerable - and not because we were
clairvoyant about this issue, but because we don't ship this utility.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 27 Sep 2016 20:47:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-09-27:/2016/09/we-do-not-ship-selinux-sandbox/</guid><category>SELinux</category><category>selinux</category><category>sandbox</category><category>gentoo</category><category>vulnerability</category><category>seunshare</category></item><item><title>Mounting QEMU images</title><link>https://blog.siphos.be/2016/09/mounting-qemu-images/</link><description>&lt;p&gt;While working on the second edition of my first book, &lt;a href="https://www.packtpub.com/networking-and-servers/selinux-system-administration-second-edition"&gt;SELinux System Administration - Second Edition&lt;/a&gt;
I had to test out a few commands on different Linux distributions to make sure
that I don't create instructions that only work on Gentoo Linux. After all, as
awesome as Gentoo might be, the Linux world is a bit bigger. So I downloaded a
few live systems to run in Qemu/KVM.&lt;/p&gt;
&lt;p&gt;Some of these systems however use &lt;a href="https://cloudinit.readthedocs.io/en/latest/"&gt;cloud-init&lt;/a&gt;
which, while interesting to use, is not set up on my system yet. And without 
support for cloud-init, how can I get access to the system?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 26 Sep 2016 19:26:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-09-26:/2016/09/mounting-qemu-images/</guid><category>Free-Software</category><category>qemu</category></item><item><title>Comparing Hadoop with mainframe</title><link>https://blog.siphos.be/2016/06/comparing-hadoop-with-mainframe/</link><description>&lt;p&gt;At my work, I have the pleasure of being involved in a big data project that
uses Hadoop as the primary platform for several services. As an architect, I
try to get to know the platform's capabilities, its potential use cases, its
surrounding ecosystem, etc. And although the implementation at work is not in
its final form (yay agile infrastructure releases) I do start to get a grasp of
where we might be going.&lt;/p&gt;
&lt;p&gt;For many analysts and architects, this Hadoop platform is a new kid on the block
so I have some work explaining what it is and what it is capable of. Not for the
fun of it, but to help the company make the right decisions, to support management
and operations, to lift the fear of new environments. One thing I've once said is
that "Hadoop is the poor man's mainframe", because I notice some high-level
similarities between the two.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 15 Jun 2016 20:55:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-06-15:/2016/06/comparing-hadoop-with-mainframe/</guid><category>Hadoop</category><category>hadoop</category><category>mainframe</category></item><item><title>Template was specified incorrectly</title><link>https://blog.siphos.be/2016/03/template-was-specified-incorrectly/</link><description>&lt;p&gt;After reorganizing my salt configuration, I received the following error:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[ERROR   ] Template was specified incorrectly: False
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enabling some debugging on the command gave me a slight pointer why this occurred:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[DEBUG   ] Could not find file from saltenv 'testing', u'salt://top.sls'
[DEBUG   ] No contents loaded for env: testing
[DEBUG   ] compile template: False
[ERROR   ] Template was specified incorrectly: False
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I was using a single top file as recommended by Salt, but apparently it was still
looking for top files in the other environments.&lt;/p&gt;
&lt;p&gt;Yet, if I split the top files across the environments, I got the following warning:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[WARNING ] Top file merge strategy set to 'merge' and multiple top files found. Top file merging order is undefined; for better results use 'same' option
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;So what's all this about?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 27 Mar 2016 13:32:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-03-27:/2016/03/template-was-specified-incorrectly/</guid><category>Free-Software</category><category>salt</category></item><item><title>Using salt-ssh with agent forwarding</title><link>https://blog.siphos.be/2016/03/using-salt-ssh-with-agent-forwarding/</link><description>&lt;p&gt;Part of a system's security is to reduce the attack surface. Following this principle,
I want to see if I can switch from using regular salt minions for a saltstack managed
system set towards &lt;code&gt;salt-ssh&lt;/code&gt;. This would allow to do some system management over SSH
instead of ZeroMQ.&lt;/p&gt;
&lt;p&gt;I'm not confident yet that this is a solid approach to take (as performance is also
important, which is greatly reduced with &lt;code&gt;salt-ssh&lt;/code&gt;), and the security exposure of the
salt minions over ZeroMQ is also not that insecure (especially not when a local firewall
ensures that only connections from the salt master are allowed). But playing doesn't hurt.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 26 Mar 2016 19:57:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-03-26:/2016/03/using-salt-ssh-with-agent-forwarding/</guid><category>Free-Software</category><category>salt</category></item><item><title>Trying out imapsync</title><link>https://blog.siphos.be/2016/03/trying-out-imapsync/</link><description>&lt;p&gt;Recently, I had to migrate mail boxes for a couple of users from one mail provider to
another. Both mail providers used IMAP, so I looked into IMAP related synchronization
methods. I quickly found the &lt;a href="https://github.com/imapsync/imapsync"&gt;imapsync&lt;/a&gt; application,
also supported through Gentoo's repository.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 13 Mar 2016 12:57:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2016-03-13:/2016/03/trying-out-imapsync/</guid><category>Free-Software</category><category>imapsync</category></item><item><title>New cvechecker release</title><link>https://blog.siphos.be/2015/11/new-cvechecker-release/</link><description>&lt;p&gt;A short while ago I got the notification that pulling new CVE information was
no longer possible. The reason was that the NVD site did not support uncompressed
downloads anymore. The fix for cvechecker was simple, and it also gave me a reason
to push out a new release (after two years) which also includes various updates by
Christopher Warner.&lt;/p&gt;
&lt;p&gt;So &lt;a href="https://github.com/sjvermeu/cvechecker/wiki"&gt;cvechecker 3.6&lt;/a&gt; is now available
for general consumption.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 07 Nov 2015 11:07:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-11-07:/2015/11/new-cvechecker-release/</guid><category>Free-Software</category><category>cvechecker</category></item><item><title>Switching focus at work</title><link>https://blog.siphos.be/2015/09/switching-focus-at-work/</link><description>&lt;p&gt;Since 2010, I was at work responsible for the infrastructure architecture of 
a couple of technological domains, namely databases and scheduling/workload 
automation. It brought me in contact with many vendors, many technologies
and most importantly, many teams within the organization. The focus domain
was challenging, as I had to deal with the strategy on how the organization,
which is a financial institution, will deal with databases and scheduling in
the long term.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 20 Sep 2015 13:29:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-09-20:/2015/09/switching-focus-at-work/</guid><category>Architecture</category><category>work</category><category>hadoop</category><category>docker</category></item><item><title>Getting su to work in init scripts</title><link>https://blog.siphos.be/2015/09/getting-su-to-work-in-init-scripts/</link><description>&lt;p&gt;While developing an init script which has to switch user, I got a couple of
errors from SELinux and the system itself:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="go"&gt;~# rc-service hadoop-namenode format&lt;/span&gt;
&lt;span class="go"&gt;Authenticating root.&lt;/span&gt;
&lt;span class="go"&gt; * Formatting HDFS ...&lt;/span&gt;
&lt;span class="go"&gt;su: Authentication service cannot retrieve authentication info&lt;/span&gt;
&lt;span class="gp gp-VirtualEnv"&gt;(Ignored)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 14 Sep 2015 16:37:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-09-14:/2015/09/getting-su-to-work-in-init-scripts/</guid><category>SELinux</category><category>selinux</category><category>initrc</category></item><item><title>Custom CIL SELinux policies in Gentoo</title><link>https://blog.siphos.be/2015/09/custom-cil-selinux-policies-in-gentoo/</link><description>&lt;p&gt;In Gentoo, we have been supporting &lt;a href="https://wiki.gentoo.org/wiki/SELinux/Tutorials/Creating_your_own_policy_module_file"&gt;custom policy packages&lt;/a&gt;
for a while now. Unlike most other distributions, which focus on binary packages,
Gentoo has always supported source-based packages as default (although 
&lt;a href="https://wiki.gentoo.org/wiki/Binary_package_guide"&gt;binary packages&lt;/a&gt; are 
supported as well).&lt;/p&gt;
&lt;p&gt;A recent &lt;a href="https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f2aa45db35bbf3a74f8db09ece9edac60e79ee4"&gt;commit&lt;/a&gt;
now also allows CIL files to be used.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 10 Sep 2015 07:13:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-09-10:/2015/09/custom-cil-selinux-policies-in-gentoo/</guid><category>Gentoo</category><category>gentoo</category><category>cil</category><category>selinux</category><category>ebuild</category><category>eclass</category></item><item><title>Using multiple OpenSSH daemons</title><link>https://blog.siphos.be/2015/09/using-multiple-openssh-daemons/</link><description>&lt;p&gt;I administer a couple of systems which provide interactive access by end users,
and for this interactive access I position &lt;a href="http://www.openssh.com/"&gt;OpenSSH&lt;/a&gt;. 
However, I also use this for administrative access to the system, and I tend to
have harder security requirements for OpenSSH than most users do.&lt;/p&gt;
&lt;p&gt;For instance, on one system, end users with a userid + password use the
sFTP server for publishing static websites. Other access is prohibited,
so I really like this OpenSSH configuration to use chrooted users, internal
sftp support, whereas a different OpenSSH is used for administrative access
(which is only accessible by myself and some trusted parties).&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 06 Sep 2015 16:37:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-09-06:/2015/09/using-multiple-openssh-daemons/</guid><category>Free-Software</category><category>openssh</category><category>ssh</category><category>u2f</category><category>selinux</category></item><item><title>Maintaining packages and backporting</title><link>https://blog.siphos.be/2015/09/maintaining-packages-and-backporting/</link><description>&lt;p&gt;A few days ago I committed a small update to &lt;code&gt;policycoreutils&lt;/code&gt;, a SELinux related
package that provides most of the management utilities for SELinux systems. The
fix was to get two patches (which are committed upstream) into the existing
release so that our users can benefit from the fixed issues without having to
wait for a new release.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 02 Sep 2015 20:33:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-09-02:/2015/09/maintaining-packages-and-backporting/</guid><category>Gentoo</category><category>gentoo</category><category>ebuild</category><category>patching</category></item><item><title>Doing away with interfaces</title><link>https://blog.siphos.be/2015/08/doing-away-with-interfaces/</link><description>&lt;p&gt;CIL is SELinux' Common Intermediate Language, which brings on a whole new set of
possibilities with policy development. I hardly know CIL but am (slowly)
learning. Of course, the best way to learn is to try and do lots of things with
it, but real-life work and time-to-market for now forces me to stick with the
M4-based refpolicy one.&lt;/p&gt;
&lt;p&gt;Still, I do try out some things here and there, and one of the things I wanted
to look into was how CIL policies would deal with interfaces.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 29 Aug 2015 11:30:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-29:/2015/08/doing-away-with-interfaces/</guid><category>SELinux</category><category>selinux</category><category>cil</category></item><item><title>Slowly converting from GuideXML to HTML</title><link>https://blog.siphos.be/2015/08/slowly-converting-from-guidexml-to-html/</link><description>&lt;p&gt;Gentoo has removed its support of the older GuideXML format in favor of using
the &lt;a href="https://wiki.gentoo.org"&gt;Gentoo Wiki&lt;/a&gt; and a new content management system
for the main site (or is it static pages, I don't have the faintest idea to be
honest). I do still have a few GuideXML pages in my development space, which I
am going to move to HTML pretty soon.&lt;/p&gt;
&lt;p&gt;In order to do so, I make use of the &lt;a href="https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/xml/htdocs/xsl/guidexml2wiki.xsl?view=log"&gt;guidexml2wiki&lt;/a&gt;
stylesheet I &lt;a href="http://blog.siphos.be/2013/02/transforming-guidexml-to-wiki/"&gt;developed&lt;/a&gt;.
But instead of migrating it to wiki syntax, I want to end with HTML.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 25 Aug 2015 11:30:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-25:/2015/08/slowly-converting-from-guidexml-to-html/</guid><category>Gentoo</category><category>gentoo</category><category>guidexml</category><category>xml</category><category>xslt</category><category>rst</category><category>mediawiki</category><category>html</category></item><item><title>Making the case for multi-instance support</title><link>https://blog.siphos.be/2015/08/making-the-case-for-multi-instance-support/</link><description>&lt;p&gt;With the high attention that technologies such as &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;,
&lt;a href="https://coreos.com/blog/rocket/"&gt;Rocket&lt;/a&gt; and the like get (I recommend to look at 
&lt;a href="https://github.com/p8952/bocker"&gt;Bocker&lt;/a&gt; by Peter Wilmott as well ;-), I
still find it important that technologies are well capable of supporting a
multi-instance environment.&lt;/p&gt;
&lt;p&gt;Being able to run multiple instances makes for great consolidation. The system
can be optimized for the technology, access to the system limited to the admins
of said technology while still providing isolation between instances. For some
technologies, running on commodity hardware just doesn't cut it (not all 
software is written for such hardware platforms) and consolidation allows for
reducing (hardware/licensing) costs.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 22 Aug 2015 12:45:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-22:/2015/08/making-the-case-for-multi-instance-support/</guid><category>Architecture</category></item><item><title>Switching OpenSSH to ed25519 keys</title><link>https://blog.siphos.be/2015/08/switching-openssh-to-ed25519-keys/</link><description>&lt;p&gt;With Mike's &lt;a href="http://comments.gmane.org/gmane.linux.gentoo.devel/96896"&gt;news item&lt;/a&gt;
on OpenSSH's deprecation of the &lt;a href="https://en.wikipedia.org/wiki/Digital_Signature_Algorithm"&gt;DSA algorithm&lt;/a&gt;
for the public key authentication, I started switching the few keys I still had
using DSA to the suggested &lt;a href="http://ed25519.cr.yp.to/"&gt;ED25519&lt;/a&gt; algorithm. Of
course, I wouldn't be a security-interested party if I did not do some additional
investigation into the DSA versus Ed25519 discussion.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 19 Aug 2015 18:26:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-19:/2015/08/switching-openssh-to-ed25519-keys/</guid><category>Free-Software</category><category>openssh</category><category>ssh</category><category>gentoo</category></item><item><title>Updates on my Pelican adventure</title><link>https://blog.siphos.be/2015/08/updates-on-my-pelican-adventure/</link><description>&lt;p&gt;It's been a few weeks that I &lt;a href="http://blog.siphos.be/2015/08/switching-to-pelican/"&gt;switched&lt;/a&gt;
my blog to &lt;a href="http://blog.getpelican.com/"&gt;Pelican&lt;/a&gt;, a static site generator build
with Python. A number of adjustments have been made since, which I'll happily
talk about.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 16 Aug 2015 19:50:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-16:/2015/08/updates-on-my-pelican-adventure/</guid><category>Free-Software</category><category>blog</category><category>pelican</category><category>wordpress</category></item><item><title>Finding a good compression utility</title><link>https://blog.siphos.be/2015/08/finding-a-good-compression-utility/</link><description>&lt;p&gt;I recently came across a &lt;a href="http://catchchallenger.first-world.info//wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO"&gt;wiki page&lt;/a&gt;
written by &lt;a href="http://catchchallenger.first-world.info/wiki/User:Alpha_one_x86"&gt;Herman Brule&lt;/a&gt;
which gives a quick benchmark on a couple of compression methods / algorithms.
It gave me the idea of writing a quick script that tests out a wide number of
compression utilities available in Gentoo (usually through the &lt;code&gt;app-arch&lt;/code&gt;
category), with also a number of options (in case multiple options are
possible).&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 13 Aug 2015 19:15:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-13:/2015/08/finding-a-good-compression-utility/</guid><category>Gentoo</category><category>gentoo</category><category>compression</category></item><item><title>Why we do confine Firefox</title><link>https://blog.siphos.be/2015/08/why-we-do-confine-firefox/</link><description>&lt;p&gt;If you're a bit following the SELinux development community you will know
&lt;a href="http://danwalsh.livejournal.com"&gt;Dan Walsh&lt;/a&gt;, a &lt;a href="http://people.redhat.com/dwalsh/"&gt;Red Hat&lt;/a&gt;
security engineer. Today he &lt;a href="http://danwalsh.livejournal.com/72697.html"&gt;blogged&lt;/a&gt; 
about &lt;em&gt;CVE-2015-4495 and SELinux, or why doesn't SELinux confine Firefox&lt;/em&gt;. He 
should've asked why the &lt;em&gt;reference policy&lt;/em&gt; or &lt;em&gt;Red Hat/Fedora policy&lt;/em&gt; does not
confine Firefox, because SELinux is, as I've
&lt;a href="http://blog.siphos.be/2015/08/dont-confuse-selinux-with-its-policy/"&gt;mentioned before&lt;/a&gt;,
not the same as its policy.&lt;/p&gt;
&lt;p&gt;In effect, Gentoo's SELinux policy &lt;em&gt;does&lt;/em&gt; confine Firefox by default. One of the
principles we focus on in Gentoo Hardened is to
&lt;a href="https://wiki.gentoo.org/wiki/Project:SELinux/Development_policy#Develop_desktop_policies"&gt;develop desktop policies&lt;/a&gt;
in order to reduce exposure and information leakage of user documents. We might
not have the manpower to confine all desktop applications, but I do think it is
worthwhile to at least attempt to do this, even though what Dan Walsh mentioned
is also correct: desktops are notoriously difficult to use a mandatory access
control system on.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 11 Aug 2015 19:18:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-11:/2015/08/why-we-do-confine-firefox/</guid><category>SELinux</category><category>gentoo</category><category>selinux</category><category>policy</category><category>firefox</category><category>cve</category><category>vulnerability</category><category>xdg</category></item><item><title>Can SELinux substitute DAC?</title><link>https://blog.siphos.be/2015/08/can-selinux-substitute-dac/</link><description>&lt;p&gt;A nice &lt;a href="https://twitter.com/sjvermeu/status/630107879123623936"&gt;twitter discussion&lt;/a&gt;
with &lt;a href="https://twitter.com/erlheldata"&gt;Erling Hellenäs&lt;/a&gt; caught my full attention later
when I was heading home: Can SELinux substitute DAC? I know it can't and doesn't
in the current implementation, but why not and what would be needed?&lt;/p&gt;
&lt;p&gt;SELinux is implemented through the &lt;a href="https://en.wikipedia.org/wiki/Linux_Security_Modules"&gt;Linux Security Modules framework&lt;/a&gt;
which allows for different security systems to be implemented and integrated
in the Linux kernel. Through LSM, various security-sensitive operations can be
secured further through &lt;em&gt;additional&lt;/em&gt; access checks. This criteria was made to
have LSM be as minimally invasive as possible.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 09 Aug 2015 14:48:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-09:/2015/08/can-selinux-substitute-dac/</guid><category>SELinux</category><category>selinux</category><category>refpolicy</category><category>linux</category><category>dac</category><category>lsm</category></item><item><title>Filtering network access per application</title><link>https://blog.siphos.be/2015/08/filtering-network-access-per-application/</link><description>&lt;p&gt;Iptables (and the successor nftables) is a powerful packet filtering system in
the Linux kernel, able to create advanced firewall capabilities. One of the 
features that it &lt;em&gt;cannot&lt;/em&gt; provide is per-application filtering. Together with
SELinux however, it is possible to implement this on a &lt;em&gt;per domain&lt;/em&gt; basis.&lt;/p&gt;
&lt;p&gt;SELinux does not know applications, but it knows domains. If we ensure that each
application runs in its own domain, then we can leverage the firewall
capabilities with SELinux to only allow those domains access that we need.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 07 Aug 2015 03:49:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-07:/2015/08/filtering-network-access-per-application/</guid><category>SELinux</category><category>selinux</category><category>network</category><category>iptables</category></item><item><title>My application base: Obnam</title><link>https://blog.siphos.be/2015/08/my-application-base-obnam/</link><description>&lt;p&gt;It is often said, yet too often forgotten: taking backups (and verifying that 
they work). Taking backups is not purely for companies and organizations.
Individuals should also take backups to ensure that, in case of errors or
calamities, the all important files are readily recoverable.&lt;/p&gt;
&lt;p&gt;For backing up files and directories, I personally use &lt;a href="http://obnam.org/"&gt;obnam&lt;/a&gt;,
after playing around with &lt;a href="http://www.bacula.org/"&gt;Bacula&lt;/a&gt; and
&lt;a href="https://attic-backup.org/"&gt;attic&lt;/a&gt;. Bacula is more meant for large
distributed environments (although I also tend to use obnam for my server
infrastructure) and was too complex for my taste. The choice between obnam and
attic is even more personally-oriented.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 05 Aug 2015 22:35:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-05:/2015/08/my-application-base-obnam/</guid><category>Free-Software</category><category>mab</category><category>backup</category><category>obnam</category></item><item><title>Don't confuse SELinux with its policy</title><link>https://blog.siphos.be/2015/08/dont-confuse-selinux-with-its-policy/</link><description>&lt;p&gt;With the increased attention that SELinux is getting thanks to its inclusion in
recent &lt;a href="https://source.android.com/devices/tech/security/selinux/"&gt;Android&lt;/a&gt;
releases, more and more people are understanding that SELinux is not a singular
security solution. Many administrators are still disabling SELinux on their 
servers because it does not play well with their day-to-day operations. But
the Android inclusion shows that SELinux itself is not the culprit for this:
it is the policy.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 03 Aug 2015 01:49:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-03:/2015/08/dont-confuse-selinux-with-its-policy/</guid><category>SELinux</category><category>selinux</category><category>policy</category><category>cil</category></item><item><title>Switching to Pelican</title><link>https://blog.siphos.be/2015/08/switching-to-pelican/</link><description>&lt;p&gt;Nothing beats a few hours of flying to get things moving on stuff. Being
offline for a few hours with a good workstation helps to not be disturbed
by external actions (air pockets notwithstanding).&lt;/p&gt;
&lt;p&gt;Early this year, I expressed my &lt;a href="http://blog.siphos.be/2015/03/trying-out-pelican-part-one/"&gt;intentions to move to Pelican&lt;/a&gt;
from WordPress. I wasn't actually unhappy with WordPress, but the security
concerns I had were a bit too much for blog as simple as mine. Running a
PHP-enabled site with a database for something that I can easily handle through
a static site, well, I had to try.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 02 Aug 2015 04:09:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-08-02:/2015/08/switching-to-pelican/</guid><category>Free-Software</category><category>blog</category><category>pelican</category><category>wordpress</category></item><item><title>Loading CIL modules directly</title><link>https://blog.siphos.be/2015/07/loading-cil-modules-directly/</link><description>&lt;p&gt;In a &lt;a href="http://blog.siphos.be/2015/06/where-does-cil-play-in-the-selinux-system/"&gt;previous
post&lt;/a&gt;
I used the &lt;code&gt;secilc&lt;/code&gt; binary to load an additional test policy. Little did
I know (and that's actually embarrassing because it was one of the
things I complained about) that you can just use the CIL policy as
modules directly.&lt;/p&gt;
&lt;!-- PELICAN_END_SUMMMARY --&gt;

&lt;p&gt;With this I mean that a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 15 Jul 2015 15:54:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-07-15:/2015/07/loading-cil-modules-directly/</guid><category>SELinux</category><category>cil</category><category>selinux</category></item><item><title>Restricting even root access to a folder</title><link>https://blog.siphos.be/2015/07/restricting-even-root-access-to-a-folder/</link><description>&lt;p&gt;In a
&lt;a href="http://blog.siphos.be/2014/01/private-key-handling-and-selinux-protection/comment-page-1/#comment-143323"&gt;comment&lt;/a&gt;
Robert asked how to use SELinux to prevent even root access to a
directory. The trivial solution would be not to assign an administrative
role to the root account (which is definitely possible, but you want
some way to gain administrative access otherwise ;-)&lt;/p&gt;
&lt;p&gt;Restricting root is one of the commonly referred features of a MAC
(Mandatory Access Control) system. With a well designed user management
and sudo environment, it is fairly trivial - but if you need to start
from the premise that a user has direct root access, it requires some
thought to implement it correctly. The main "issue" is not that it is
difficult to implement policy-wise, but that most users will start from
a pre-existing policy (such as the reference policy) and build on top of
that.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 11 Jul 2015 14:09:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-07-11:/2015/07/restricting-even-root-access-to-a-folder/</guid><category>SELinux</category></item><item><title>Intermediate policies</title><link>https://blog.siphos.be/2015/07/intermediate-policies/</link><description>&lt;p&gt;When developing SELinux policies for new software (or existing ones
whose policies I don't agree with) it is often more difficult to finish
the policies so that they are broadly usable. When dealing with personal
policies, having them "just work" is often sufficient. To make the
policies reusable for distributions (or for the upstream project), a
number of things are necessary:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Try structuring the policy using the style as suggested by refpolicy
    or Gentoo&lt;/li&gt;
&lt;li&gt;Add the role interfaces that are most likely to be used or required,
    or which are in the current draft implemented differently&lt;/li&gt;
&lt;li&gt;Refactor some of the policies to use refpolicy/Gentoo style
    interfaces&lt;/li&gt;
&lt;li&gt;Remove the comments from the policies (as refpolicy does not want
    too verbose policies)&lt;/li&gt;
&lt;li&gt;Change or update the file context definitions for default
    installations (rather than the custom installations I use)&lt;/li&gt;
&lt;/ul&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 05 Jul 2015 18:17:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-07-05:/2015/07/intermediate-policies/</guid><category>SELinux</category><category>community</category><category>contributions</category><category>policy-development</category><category>selinux</category></item><item><title>Where does CIL play in the SELinux system?</title><link>https://blog.siphos.be/2015/06/where-does-cil-play-in-the-selinux-system/</link><description>&lt;p&gt;SELinux policy developers already have a number of file formats to work
with. Currently, policy code is written in a set of three files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;.te&lt;/code&gt; file contains the SELinux policy code (type
    enforcement rules)&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;.if&lt;/code&gt; file contains functions which turn a set of arguments into
    blocks of SELinux policy code (interfaces). These functions are
    called by other interface files or type enforcement files&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;.fc&lt;/code&gt; file contains mappings of file path expressions towards
    labels (file contexts)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These files are compiled into loadable modules (or a base module) which
are then transformed to an active policy. But this is not a single-step
approach.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 13 Jun 2015 23:12:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-06-13:/2015/06/where-does-cil-play-in-the-selinux-system/</guid><category>SELinux</category><category>cil</category><category>selinux</category><category>userspace</category></item><item><title>Live SELinux userspace ebuilds</title><link>https://blog.siphos.be/2015/06/live-selinux-userspace-ebuilds/</link><description>&lt;p&gt;In between courses, I pushed out live ebuilds for the SELinux userspace
applications: libselinux, policycoreutils, libsemanage, libsepol,
sepolgen, checkpolicy and secilc. These live ebuilds (with Gentoo
version 9999) pull in the current development code of the &lt;a href="https://github.com/SELinuxProject/selinux"&gt;SELinux
userspace&lt;/a&gt; so that developers
and contributors can already work with in-progress code developments as
well as see how they work on a Gentoo platform.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 10 Jun 2015 20:07:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-06-10:/2015/06/live-selinux-userspace-ebuilds/</guid><category>Gentoo</category><category>cil</category><category>Gentoo</category><category>selinux</category><category>userspace</category></item><item><title>PostgreSQL with central authentication and authorization</title><link>https://blog.siphos.be/2015/05/postgresql-with-central-authentication-and-authorization/</link><description>&lt;p&gt;I have been running a PostgreSQL cluster for a while as the primary
backend for many services. The database system is very robust, well
supported by the community and very powerful. In this post, I'm going to
show how I use central authentication and authorization with PostgreSQL.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 25 May 2015 12:07:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-05-25:/2015/05/postgresql-with-central-authentication-and-authorization/</guid><category>Free-Software</category><category>postgresql</category></item><item><title>Testing with permissive domains</title><link>https://blog.siphos.be/2015/05/testing-with-permissive-domains/</link><description>&lt;p&gt;When testing out new technologies or new setups, not having (proper)
SELinux policies can be a nuisance. Not only are the number of SELinux
policies that are available through the standard repositories limited,
some of these policies are not even written with the same level of
confinement that an administrator might expect. Or perhaps the
technology to be tested is used in a completely different manner.&lt;/p&gt;
&lt;p&gt;Without proper policies, any attempt to start such a daemon or
application might or will cause permission violations. In many cases,
developers or users tend to disable SELinux enforcing then so that they
can continue playing with the new technology. And why not? After all,
policy development is to be done &lt;em&gt;after&lt;/em&gt; the technology is understood.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 18 May 2015 13:40:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-05-18:/2015/05/testing-with-permissive-domains/</guid><category>SELinux</category><category>permissive</category><category>policy</category><category>selinux</category><category>semanage</category><category>test</category></item><item><title>Audit buffering and rate limiting</title><link>https://blog.siphos.be/2015/05/audit-buffering-and-rate-limiting/</link><description>&lt;p&gt;Be it because of SELinux experiments, or through general audit
experiments, sometimes you'll get in touch with a message similar to the
following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;audit: audit_backlog=321 &amp;gt; audit_backlog_limit=320
audit: audit_lost=44395 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;!-- PELICAN_END_SUMMMARY --&gt;

&lt;p&gt;The message shows up when certain audit events could not be …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 10 May 2015 14:18:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-05-10:/2015/05/audit-buffering-and-rate-limiting/</guid><category>Free-Software</category><category>audit</category><category>kernel</category><category>security</category><category>selinux</category></item><item><title>Use change management when you are using SELinux to its fullest</title><link>https://blog.siphos.be/2015/04/use-change-management-when-you-are-using-selinux-to-its-fullest/</link><description>&lt;p&gt;If you are using SELinux on production systems (with which I mean
systems that you offer services with towards customers or other parties
beyond you, yourself and your ego), please consider proper change
management if you don't do already. SELinux is a very sensitive security
subsystem - not in the sense …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 30 Apr 2015 20:58:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-04-30:/2015/04/use-change-management-when-you-are-using-selinux-to-its-fullest/</guid><category>SELinux</category><category>change-management</category><category>policy</category><category>selinux</category></item><item><title>Moving closer to 2.4 stabilization</title><link>https://blog.siphos.be/2015/04/moving-closer-to-2-4-stabilization/</link><description>&lt;p&gt;The &lt;a href="https://github.com/SELinuxProject/selinux/wiki"&gt;SELinux userspace&lt;/a&gt;
project has released version 2.4 in february this year, after release
candidates have been tested for half a year. After its release, we at
the &lt;a href="https://wiki.gentoo.org/wiki/Project:Hardened"&gt;Gentoo Hardened&lt;/a&gt;
project have been working hard to integrate it within Gentoo. This
effort has been made a bit more difficult …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Mon, 27 Apr 2015 19:18:00 +0200</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-04-27:/2015/04/moving-closer-to-2-4-stabilization/</guid><category>Gentoo</category><category>2.4</category><category>Gentoo</category><category>hardened</category><category>selinux</category><category>userspace</category></item><item><title>Trying out Pelican, part one</title><link>https://blog.siphos.be/2015/03/trying-out-pelican-part-one/</link><description>&lt;p&gt;One of the goals I've set myself to do this year (not as a new year
resolution though, I *really* want to accomplish this ;-) is to move
my blog from Wordpress to a statically built website. And
&lt;a href="http://docs.getpelican.com/en/3.5.0/"&gt;Pelican&lt;/a&gt; looks to be a good
solution to do so. It's based on …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 06 Mar 2015 20:02:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-03-06:/2015/03/trying-out-pelican-part-one/</guid><category>Gentoo</category><category>blog</category><category>Gentoo</category><category>haskell</category><category>pandoc</category><category>pelican</category><category>wordpress</category></item><item><title>CIL and attributes</title><link>https://blog.siphos.be/2015/02/cil-and-attributes/</link><description>&lt;p&gt;I keep on struggling to remember this, so let's make a blog post out of
it ;-)&lt;/p&gt;
&lt;p&gt;When the SELinux policy is being built, recent userspace (2.4 and
higher) will convert the policy into CIL language, and then build the
binary policy. When the policy supports type attributes, these are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 15 Feb 2015 15:49:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-02-15:/2015/02/cil-and-attributes/</guid><category>SELinux</category><category>attribute</category><category>cil</category><category>selinux</category></item><item><title>Have dhcpcd wait before backgrounding</title><link>https://blog.siphos.be/2015/02/have-dhcpcd-wait-before-backgrounding/</link><description>&lt;p&gt;Many of my systems use DHCP for obtaining IP addresses. Even though they
all receive a static IP address, it allows me to have them moved over
(migrations), use TFTP boot, cloning (in case of quick testing), etc.
But one of the things that was making my efforts somewhat more …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 08 Feb 2015 16:50:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-02-08:/2015/02/have-dhcpcd-wait-before-backgrounding/</guid><category>Gentoo</category><category>dhcp</category><category>dhcpcd</category><category>Gentoo</category></item><item><title>Old Gentoo system? Not a problem...</title><link>https://blog.siphos.be/2015/01/old-gentoo-system-not-a-problem/</link><description>&lt;p&gt;If you have a very old Gentoo system that you want to upgrade, you might
have some issues with too old software and Portage which can't just
upgrade to a recent state. Although many methods exist to work around
it, one that I have found to be very useful is …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 21 Jan 2015 23:05:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-01-21:/2015/01/old-gentoo-system-not-a-problem/</guid><category>Gentoo</category><category>Gentoo</category><category>portage</category><category>snapshot</category><category>tree</category></item><item><title>SELinux is great for enterprises (but many don't know it yet)</title><link>https://blog.siphos.be/2015/01/selinux-is-great-for-enterprises-but-many-dont-know-it-yet/</link><description>&lt;p&gt;Large companies that handle their own IT often have internal support
teams for many of the technologies that they use. Most of the time, this
is for reusable components like database technologies, web application
servers, operating systems, middleware components (like file transfers,
messaging infrastructure, ...) and more. All components that are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 03 Jan 2015 13:36:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-01-03:/2015/01/selinux-is-great-for-enterprises-but-many-dont-know-it-yet/</guid><category>SELinux</category><category>companies</category><category>configuration</category><category>engineering</category><category>enterprise</category><category>selinux</category></item><item><title>Gentoo Wiki is growing</title><link>https://blog.siphos.be/2015/01/gentoo-wiki-is-growing/</link><description>&lt;p&gt;Perhaps it is because of the winter holidays, but the last weeks I've
noticed a lot of updates and edits on the Gentoo wiki.&lt;/p&gt;
&lt;p&gt;The move to the
&lt;a href="https://wiki.gentoo.org/wiki/Project:Website/Tyrian"&gt;Tyrian&lt;/a&gt; layout,
whose purpose is to eventually become the unified layout for all Gentoo
resources, happened first. Then, three common templates (&lt;code&gt;Code …&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sat, 03 Jan 2015 10:09:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2015-01-03:/2015/01/gentoo-wiki-is-growing/</guid><category>Documentation</category><category>documentation</category><category>Gentoo</category><category>wiki</category></item><item><title>Why does it access /etc/shadow?</title><link>https://blog.siphos.be/2014/12/why-does-it-access-etcshadow/</link><description>&lt;p&gt;While updating the SELinux policy for the Courier IMAP daemon, I noticed
that it (well, the authdaemon that is part of Courier) wanted to access
&lt;code&gt;/etc/shadow&lt;/code&gt;, which is of course a big no-no. It doesn't take long to
know that this is through the PAM support (more specifically,
&lt;code&gt;pam_unix …&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 30 Dec 2014 22:48:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-12-30:/2014/12/why-does-it-access-etcshadow/</guid><category>SELinux</category><category>chkpwd</category><category>pam</category><category>selinux</category><category>shadow</category><category>unix_chkpwd</category></item><item><title>Added UEFI instructions to AMD64/x86 handbooks</title><link>https://blog.siphos.be/2014/12/added-uefi-instructions-to-amd64x86-handbooks/</link><description>&lt;p&gt;I just finished up adding some UEFI instructions to the &lt;a href="https://wiki.gentoo.org/wiki/Handbook:Main_Page"&gt;Gentoo
handbooks&lt;/a&gt; for AMD64
and x86 (I don't know how many systems are still using x86 instead of
the AMD64 one, and if those support UEFI, but the instructions are
shared and they don't collide). The entire EFI stuff can …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Tue, 23 Dec 2014 18:08:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-12-23:/2014/12/added-uefi-instructions-to-amd64x86-handbooks/</guid><category>Documentation</category><category>efi</category><category>Gentoo</category><category>handbook</category><category>uefi</category></item><item><title>Handbooks moved</title><link>https://blog.siphos.be/2014/12/handbooks-moved/</link><description>&lt;p&gt;Yesterday the move of the &lt;a href="https://wiki.gentoo.org/wiki/Handbook:Main_Page"&gt;Gentoo
Wiki&lt;/a&gt; for the Gentoo
handbooks (whose most important part are the installation instructions
for the various supported architectures) has been concluded, with a
last-minute addition being the &lt;a href="https://wiki.gentoo.org/wiki/Handbook:Main_Page#Viewing_the_handbook"&gt;one-page
views&lt;/a&gt;
so that users who want to can view the installation instructions
completely within one view …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 14 Dec 2014 14:42:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-12-14:/2014/12/handbooks-moved/</guid><category>Documentation</category><category>Gentoo</category><category>handbook</category><category>wiki</category></item><item><title>Gentoo Handbooks almost moved to wiki</title><link>https://blog.siphos.be/2014/12/gentoo-handbooks-almost-moved-to-wiki/</link><description>&lt;p&gt;Content-wise, the move is done. I've done a few checks on the content to
see if the structure still holds, translations are enabled on all pages,
the use of partitions is sufficiently consistent for each architecture,
and so on. The result can be seen on &lt;a href="https://wiki.gentoo.org/wiki/Handbook:Main_Page"&gt;the gentoo handbook main
page …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 12 Dec 2014 17:35:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-12-12:/2014/12/gentoo-handbooks-almost-moved-to-wiki/</guid><category>Gentoo</category><category>Gentoo</category><category>handbook</category><category>wiki</category></item><item><title>Sometimes I forget how important communication is</title><link>https://blog.siphos.be/2014/12/sometimes-i-forget-how-important-communication-is/</link><description>&lt;p&gt;Free software (and documentation) developers don't always have all the
time they want. Instead, they grab whatever time they have to do what
they believe is the most productive - be it documentation editing,
programming, updating ebuilds, SELinux policy improvements and what not.
But they often don't take the time to …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Wed, 10 Dec 2014 20:38:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-12-10:/2014/12/sometimes-i-forget-how-important-communication-is/</guid><category>Gentoo</category><category>communication</category><category>developer</category><category>Gentoo</category><category>selinux</category><category>time</category></item><item><title>No more DEPENDs for SELinux policy package dependencies</title><link>https://blog.siphos.be/2014/11/no-more-depends-for-selinux-policy-package-dependencies/</link><description>&lt;p&gt;I just finished updating 102 packages. The change? Removing the
following from the ebuilds:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;DEPEND=&amp;quot;selinux? ( sec-policy/selinux-${packagename} )&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In the past, we needed this construction in both DEPEND and RDEPEND.
Recently however, the SELinux eclass got updated with some logic to
relabel files after the policy package is deployed …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Sun, 02 Nov 2014 14:51:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-11-02:/2014/11/no-more-depends-for-selinux-policy-package-dependencies/</guid><category>Gentoo</category><category>DEPEND</category><category>ebuild</category><category>Gentoo</category><category>RDEPEND</category><category>selinux</category></item><item><title>Using multiple priorities with modules</title><link>https://blog.siphos.be/2014/10/using-multiple-priorities-with-modules/</link><description>&lt;p&gt;One of the new features of the 2.4 SELinux userspace is support for
module priorities. The idea is that distributions and administrators can
override a (pre)loaded SELinux policy module with another module without
removing the previous module. This lower-version module will remain in
the store, but will not …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Fri, 31 Oct 2014 18:24:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-10-31:/2014/10/using-multiple-priorities-with-modules/</guid><category>SELinux</category><category>priorities</category><category>priority</category><category>selinux</category><category>semodule</category></item><item><title>Migrating to SELinux userspace 2.4 (small warning for users)</title><link>https://blog.siphos.be/2014/10/migrating-to-selinux-userspace-2-4-small-warning-for-users/</link><description>&lt;p&gt;In a few moments, SELinux users which have the \~arch KEYWORDS set
(either globally or for the SELinux utilities in particular) will notice
that the SELinux userspace will upgrade to version 2.4 (release
candidate 5 for now). This upgrade comes with a manual step that needs
to be performed …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Vermeulen</dc:creator><pubDate>Thu, 30 Oct 2014 19:44:00 +0100</pubDate><guid isPermaLink="false">tag:blog.siphos.be,2014-10-30:/2014/10/migrating-to-selinux-userspace-2-4-small-warning-for-users/</guid><category>Gentoo</category><category>cil</category><category>Gentoo</category><category>migrate</category><category>selinux</category><category>semanage</category><category>upgrade</category><category>userspace</category></item></channel></rss>