<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bwcloud-os.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jl</id>
	<title>bwCloud-OS - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bwcloud-os.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jl"/>
	<link rel="alternate" type="text/html" href="https://wiki.bwcloud-os.de/index.php/Special:Contributions/Jl"/>
	<updated>2026-04-15T03:59:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.bwcloud-os.de/index.php?title=Security&amp;diff=1818</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwcloud-os.de/index.php?title=Security&amp;diff=1818"/>
		<updated>2026-02-16T17:25:25Z</updated>

		<summary type="html">&lt;p&gt;Jl: Add Security Checklist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{InANutshell|&lt;br /&gt;
&amp;lt;li&amp;gt;By default,  bwCloud-OS VMs are only accessible via &amp;lt;strong&amp;gt;SSH (port 22)&amp;lt;/strong&amp;gt; and  &amp;lt;strong&amp;gt;ICMP&amp;lt;/strong&amp;gt; (e.g., &#039;&#039;ping&#039;&#039;);  all other incoming traffic is blocked for security.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;To allow access on additional ports (e.g. HTTPS/443), you can add rules via the &amp;lt;strong&amp;gt;Security Groups&amp;lt;/strong&amp;gt; in the [https://portal.bw-cloud.org/ Dashboard] — changes take effect immediately.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Some ports are &amp;lt;strong&amp;gt;centrally filtered&amp;lt;/strong&amp;gt; in specific bwCloud-OS regions and cannot be opened individually; refer to this [[Blocked_and_Allowed_Ports|overview]] for region-specific details.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you suspect a &amp;lt;strong&amp;gt;security incident&amp;lt;/strong&amp;gt;, stop the affected VMs and submit a [https://bw-support.scc.kit.edu/ support ticket] immediately.&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Access Control &amp;amp; Firewall Rules =&lt;br /&gt;
&lt;br /&gt;
== What network access is allowed by default in bwCloud-OS instances? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Security-Default&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, &#039;&#039;&#039;bwCloud-OS instances&#039;&#039;&#039; are accessible via:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SSH (port 22)&#039;&#039;&#039; – for remote login and configuration&lt;br /&gt;
* &#039;&#039;&#039;ICMP&#039;&#039;&#039; – to allow basic network diagnostics like &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;traceroute&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This initial access is explicitly permitted by the &#039;&#039;&#039;automatically assigned security group&#039;&#039;&#039; (named &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;) in our configuration. This is not the default behavior in OpenStack — it is provided by bwCloud-OS to simplify first-time access for users.&lt;br /&gt;
&lt;br /&gt;
== How do I open additional ports for my instance? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Security-Rules&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A newly created virtual machine in bwCloud-OS is only accessible from the outside via &#039;&#039;&#039;SSH (port 22)&#039;&#039;&#039; and &#039;&#039;&#039;ICMP&#039;&#039;&#039;.  All other inbound traffic is &#039;&#039;&#039;blocked&#039;&#039;&#039; by default — meaning external traffic on other ports cannot reach the instance.&lt;br /&gt;
&lt;br /&gt;
To allow access on other ports (e.g. for web servers or applications), you need to &#039;&#039;&#039;add a rule&#039;&#039;&#039; to the relevant &#039;&#039;&#039;security group&#039;&#039;&#039;. &#039;&#039;Changes to security group rules apply immediately to all instances using that group&#039;&#039; — there&#039;s no need to reboot the instance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Example: Opening Port 443 for HTTPS Access ===&lt;br /&gt;
If you&#039;re running a web server that should be accessible via &#039;&#039;&#039;HTTPS&#039;&#039;&#039;, you typically need to open &#039;&#039;&#039;port 443&#039;&#039;&#039; in a security group assigned to your instance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps in the [https://portal.bw-cloud.org/ Dashboard]:&#039;&#039;&#039;&lt;br /&gt;
# In the left menu, go to &#039;&#039;&#039;Network → Security Groups&#039;&#039;&#039;. A list of all defined security groups will appear.  &lt;br /&gt;
#* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; Consider creating a dedicated security group (e.g. named &amp;lt;code&amp;gt;https-access&amp;lt;/code&amp;gt;), and assign it to your instance using &#039;&#039;&#039;Edit Security Groups&#039;&#039;&#039; in the instance menu before the next step.&lt;br /&gt;
# Find the relevant group and click &#039;&#039;&#039;Manage Rules&#039;&#039;&#039;. You’ll see all currently defined rules for that group.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Rule&#039;&#039;&#039; to create a new one.&lt;br /&gt;
# In the dialog that appears, choose one of the following:&lt;br /&gt;
#* &#039;&#039;&#039;HTTPS&#039;&#039;&#039; from the &#039;&#039;&#039;Rule&#039;&#039;&#039; dropdown (automatically fills port 443), or&lt;br /&gt;
#* &#039;&#039;&#039;Custom TCP Rule&#039;&#039;&#039;, then manually enter &#039;&#039;&#039;443&#039;&#039;&#039; in the &#039;&#039;&#039;Port&#039;&#039;&#039; field.&lt;br /&gt;
# In the &#039;&#039;&#039;CIDR&#039;&#039;&#039; field, specify which IP addresses should be allowed to connect:&lt;br /&gt;
#* Use a specific IP range (e.g. &amp;lt;code&amp;gt;192.168.0.0/24&amp;lt;/code&amp;gt;) to &#039;&#039;&#039;limit access&#039;&#039;&#039;&lt;br /&gt;
#* ⚠️ Using &#039;&#039;&#039;&amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&#039;&#039;&#039; allows access from &#039;&#039;&#039;any IPv4 address&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;code&amp;gt;::/0&amp;lt;/code&amp;gt;&#039;&#039;&#039;  from &#039;&#039;&#039;any IPv6 address&#039;&#039;&#039;.&lt;br /&gt;
# Set the &#039;&#039;&#039;Direction&#039;&#039;&#039; of the rule:&lt;br /&gt;
#* &amp;lt;code&amp;gt;Ingress&amp;lt;/code&amp;gt; = incoming connections (usually what you want)&lt;br /&gt;
#* &amp;lt;code&amp;gt;Egress&amp;lt;/code&amp;gt; = outgoing connections&lt;br /&gt;
# Click &#039;&#039;&#039;Add&#039;&#039;&#039;. The rule will be created and added to the list immediately.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Example: Opening a Port only for Access from Certain IP Ranges ===&lt;br /&gt;
&#039;&#039;&#039;➡️&#039;&#039;&#039;  [[Guide: Security Group|Security Groups Guide]]&lt;br /&gt;
&lt;br /&gt;
== Are some ports blocked in bwCloud-OS? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Blocked-Ports&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yes. Some ports are &#039;&#039;&#039;centrally&#039;&#039;&#039; &#039;&#039;&#039;blocked&#039;&#039;&#039; in &#039;&#039;&#039;certain&#039;&#039;&#039; &#039;&#039;&#039;bwCloud-OS regions&#039;&#039;&#039; due to specific network policies at the participating university data centers. Centrally blocked ports cannot be opened individually. &lt;br /&gt;
&lt;br /&gt;
For more details — including which ports are affected in each region — see the page [[Blocked and Allowed Ports]].&lt;br /&gt;
&lt;br /&gt;
= Security Checklist =&lt;br /&gt;
&lt;br /&gt;
The following checklist helps you harden your bwCloud-OS instance after creation.&lt;br /&gt;
&lt;br /&gt;
== 1) Secure SSH access ==&lt;br /&gt;
* Read and apply the recommendations in the [[Guide:_SSH|SSH guide]].&lt;br /&gt;
&lt;br /&gt;
== 2) Keep the system updated ==&lt;br /&gt;
Keeping your instance up to date is one of the most effective security measures: security updates fix known vulnerabilities that may otherwise be exploitable.&lt;br /&gt;
&lt;br /&gt;
There are two common approaches:&lt;br /&gt;
* &#039;&#039;&#039;Manual updates (one-time / on demand):&#039;&#039;&#039; You run updates yourself (e.g., after login, on a regular schedule).&lt;br /&gt;
* &#039;&#039;&#039;Automatic updates:&#039;&#039;&#039; The system installs security updates automatically in the background. On Ubuntu/Debian this is commonly done via &amp;lt;code&amp;gt;unattended-upgrades&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Example (Ubuntu/Debian) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Manual updates (one-time)&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt -y upgrade&lt;br /&gt;
&lt;br /&gt;
# Automatic security updates (background)&lt;br /&gt;
sudo apt -y install unattended-upgrades&lt;br /&gt;
sudo dpkg-reconfigure --priority=low unattended-upgrades&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Allow only the minimal required ports in bwCloud-OS Security Groups ==&lt;br /&gt;
Only open the ports you actually need. This reduces the attack surface and limits who can reach services on your VM.&lt;br /&gt;
&lt;br /&gt;
* Check your instance&#039;s security groups in the [https://portal.bw-cloud.org/ Dashboard] and allow only the minimal required inbound rules.&lt;br /&gt;
* Restrict access by IP range (CIDR) wherever possible (avoid &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt; unless truly required).&lt;br /&gt;
* For step-by-step instructions and examples, see: [[Security#Security-Rules|How do I open additional ports for my instance?]]&lt;br /&gt;
* Note: some ports may be centrally filtered in certain regions; see [[Blocked_and_Allowed_Ports|Blocked and Allowed Ports]].&lt;br /&gt;
&lt;br /&gt;
== 4) Optional host firewall (e.g., UFW on Ubuntu) ==&lt;br /&gt;
Security groups are the primary inbound filter in bwCloud-OS. A host firewall can provide an additional layer (defense-in-depth), e.g., to enforce local policies on the VM.&lt;br /&gt;
&lt;br /&gt;
=== Example (Ubuntu with UFW) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt -y install ufw&lt;br /&gt;
sudo ufw default deny incoming&lt;br /&gt;
sudo ufw default allow outgoing&lt;br /&gt;
&lt;br /&gt;
# Allow SSH (ideally restrict in the bwCloud-OS security group as well)&lt;br /&gt;
sudo ufw allow 22/tcp&lt;br /&gt;
&lt;br /&gt;
# Example: allow HTTPS if you opened 443 in the security group&lt;br /&gt;
sudo ufw allow 443/tcp&lt;br /&gt;
&lt;br /&gt;
sudo ufw enable&lt;br /&gt;
sudo ufw status verbose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Important:&#039;&#039; If you block SSH on the host firewall while only having SSH access, you may lock yourself out. Always ensure SSH remains permitted (and test from your client).&lt;br /&gt;
&lt;br /&gt;
== 5) Document your configuration ==&lt;br /&gt;
To operate and troubleshoot securely, keep a record of your instance configuration:&lt;br /&gt;
&lt;br /&gt;
* Which security groups/rules are attached (ports, protocols, CIDRs)?&lt;br /&gt;
* Host firewall rules (if used), SSH hardening settings, update strategy.&lt;br /&gt;
* Installed services and exposed endpoints.&lt;br /&gt;
* Where secrets are stored/managed (avoid putting secrets in shell history or plain text files).&lt;br /&gt;
&lt;br /&gt;
== 6) Plan and test a backup strategy ==&lt;br /&gt;
Backups are part of security (availability and recovery).&lt;br /&gt;
&lt;br /&gt;
* Define what needs to be recoverable (system, application data, databases, configuration).&lt;br /&gt;
* Decide on backup frequency and retention (e.g., daily incremental + weekly full).&lt;br /&gt;
* Store backups separately from the instance (avoid a single point of failure).&lt;br /&gt;
* Regularly test restores (a backup that was never restored is an assumption, not a plan).&lt;br /&gt;
&lt;br /&gt;
== 7) Snapshots and images ==&lt;br /&gt;
Snapshots capture the state of a VM or volume at a point in time (e.g., before risky changes). They can help with rollback, but they do not automatically replace a backup strategy.&lt;br /&gt;
&lt;br /&gt;
* Learn more: [[Guide:_Volumes_and_Images|Guide: Volumes and Images]]&lt;br /&gt;
* Recommended practice:&lt;br /&gt;
** Take a snapshot before major changes (OS upgrades, large configuration changes).&lt;br /&gt;
** Remove outdated snapshots according to your retention plan.&lt;br /&gt;
&lt;br /&gt;
= SSL Certificates &amp;amp; Secure Services =&lt;br /&gt;
&lt;br /&gt;
== Can I get SSL/TLS certificates via bwCloud-OS? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;SSL-Certificates&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No, bwCloud-OS does &#039;&#039;&#039;not&#039;&#039;&#039; provide &#039;&#039;&#039;SSL/TLS certificates.&#039;&#039;&#039; However, you can obtain certificates directly from public providers like &#039;&#039;&#039;Let’s Encrypt&#039;&#039;&#039; using tools such as &#039;&#039;&#039;[https://certbot.eff.org/ Certbot]&#039;&#039;&#039;, which you can install and run on your instance.&lt;br /&gt;
&lt;br /&gt;
This allows you, for example, to enable &#039;&#039;&#039;HTTPS&#039;&#039;&#039; for services running on your VM. Don&#039;t forget to open the necessary ports (e.g., 443) using [[Security#Security-Rules|security group rules]].&lt;br /&gt;
&lt;br /&gt;
=Security Incidents =&lt;br /&gt;
&lt;br /&gt;
== What should I do if I suspect my VM has been compromised? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Security-Incident&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your virtual machine is behaving unexpectedly (e.g., high CPU/network load, unknown logins, suspicious processes), it could indicate a possible compromise.&lt;br /&gt;
&lt;br /&gt;
If you suspect that your VM has been compromised, please take the following steps &#039;&#039;&#039;immediately&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Log in&#039;&#039;&#039; to the &#039;&#039;&#039;[https://portal.bw-cloud.org/ Dashboard].&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Stop the affected instance(s).&#039;&#039;&#039; &#039;&#039;Do not delete them!&#039;&#039; This preserves data for further analysis.&lt;br /&gt;
# &#039;&#039;&#039;Submit a support ticket&#039;&#039;&#039; via the [https://bw-support.scc.kit.edu/ bwSupportPortal] with the following details:&lt;br /&gt;
#*       Which instance(s) are potentially affected?&lt;br /&gt;
#* How is the suspicious behavior observed? (e.g. logs, performance, alerts)&lt;br /&gt;
#* What actions have you already taken?&lt;br /&gt;
&lt;br /&gt;
Our team will contact you as soon as possible to help investigate and resolve the issue.&lt;br /&gt;
&lt;br /&gt;
== Does the bwCloud-OS operations team inspect running instances (e.g. through penetration tests)? ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Security-Scans&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;contents and configuration of user instances are not inspected&#039;&#039;&#039; — we do &#039;&#039;&#039;not&#039;&#039;&#039; perform penetration tests or port scans on the instances. We also &#039;&#039;&#039;never look inside&#039;&#039;&#039; user virtual machines.&lt;br /&gt;
&lt;br /&gt;
However, the overall bwCloud-OS operating environment is actively monitored. For example, network monitoring tracks current inbound and outbound traffic levels. If certain parameters deviate significantly from typical patterns, this may trigger further investigation —  including direct contact with the affected user.&lt;/div&gt;</summary>
		<author><name>Jl</name></author>
	</entry>
</feed>