New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firewall block all new incoming traffic by default #1346

Closed
adrelanos opened this Issue Oct 19, 2015 · 13 comments

Comments

@adrelanos
Member

adrelanos commented Oct 19, 2015

I noticed, Qubes replies to ping requests and so forth.

As a follow up task of #1344... Perhaps a "drop ICMP timestamps" ticket can be avoided by implementing this ticket.

Essentially something like this...

## Set secure defaults.
$iptables_cmd -P INPUT DROP

## Traffic on the loopback interface is accepted.
$iptables_cmd -A INPUT -i lo -j ACCEPT

## Established incoming connections are accepted.
$iptables_cmd -A INPUT -m state --state ESTABLISHED -j ACCEPT

## Reject anything not explicitly allowed above.
$iptables_cmd -A INPUT -j DROP

(+ same for ipv6)

Doing this in NetVM?
And also FirewallVM?
Or every VM?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Oct 19, 2015

Member

Dropping ICMP at all would make diagnostic somehow harder (for example
checking if AppVM can reach NetVM). We have explicit "-p icmp -j ACCEPT"
rule for that. But maybe it would be better to change it to handle ICMP
only from downstream VMs ("-i vif+"), not the upstream (including the
outside world). What do you think?

Independently indeed it would be better to replace terminating rule "-j
REJECT --reject-with icmp-host-prohibited" with just "DROP".

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Member

marmarek commented Oct 19, 2015

Dropping ICMP at all would make diagnostic somehow harder (for example
checking if AppVM can reach NetVM). We have explicit "-p icmp -j ACCEPT"
rule for that. But maybe it would be better to change it to handle ICMP
only from downstream VMs ("-i vif+"), not the upstream (including the
outside world). What do you think?

Independently indeed it would be better to replace terminating rule "-j
REJECT --reject-with icmp-host-prohibited" with just "DROP".

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Oct 19, 2015

Member

Marek Marczykowski-Górecki:

Dropping ICMP at all would make diagnostic somehow harder (for example
checking if AppVM can reach NetVM).

Agreed. Makes diagnostic harder. Depends what weights more here. Ease of
debugging or difficult to quantity(?) security benefits.

I think for this reason fewer people technically understand Whonix,
since they cannot ping if they experiment with something. Maybe this is
something useful in an advanced users security guide, but not as a
default configuration.

I don't know. Unless someone has a good argument to add here, I am happy
with whatever decision the Qubes Council makes.

But maybe it would be better to change it to handle ICMP
only from downstream VMs ("-i vif+"), not the upstream (including the
outside world). What do you think?

Not sure I understand.

Are you suggesting to only block ICMP from the LAN / outside world? I.e.
to only block ICMP on network interfaces directly connected to a [wifi]
router or modem?

If so... That would be a tradeoff. Not a bad one, I think. Better
protection from outside attackers (ddos, ICMP timestamp analysis) but
not from compromised VMs. However, I don't know if blocking ICMP from
compromised VMs is worthwhile at all due to other side channel attacks,
you tell me.

Independently indeed it would be better to replace terminating rule "-j
REJECT --reject-with icmp-host-prohibited" with just "DROP".

That is more correct, easier to debug, but also easier to ddos. Kinda a
personal decision.

Member

adrelanos commented Oct 19, 2015

Marek Marczykowski-Górecki:

Dropping ICMP at all would make diagnostic somehow harder (for example
checking if AppVM can reach NetVM).

Agreed. Makes diagnostic harder. Depends what weights more here. Ease of
debugging or difficult to quantity(?) security benefits.

I think for this reason fewer people technically understand Whonix,
since they cannot ping if they experiment with something. Maybe this is
something useful in an advanced users security guide, but not as a
default configuration.

I don't know. Unless someone has a good argument to add here, I am happy
with whatever decision the Qubes Council makes.

But maybe it would be better to change it to handle ICMP
only from downstream VMs ("-i vif+"), not the upstream (including the
outside world). What do you think?

Not sure I understand.

Are you suggesting to only block ICMP from the LAN / outside world? I.e.
to only block ICMP on network interfaces directly connected to a [wifi]
router or modem?

If so... That would be a tradeoff. Not a bad one, I think. Better
protection from outside attackers (ddos, ICMP timestamp analysis) but
not from compromised VMs. However, I don't know if blocking ICMP from
compromised VMs is worthwhile at all due to other side channel attacks,
you tell me.

Independently indeed it would be better to replace terminating rule "-j
REJECT --reject-with icmp-host-prohibited" with just "DROP".

That is more correct, easier to debug, but also easier to ddos. Kinda a
personal decision.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc21 has been pushed to the r3.1 testing repository for the Fedora fc21 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc21 has been pushed to the r3.1 testing repository for the Fedora fc21 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc22 has been pushed to the r3.1 testing repository for the Fedora fc22 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc22 has been pushed to the r3.1 testing repository for the Fedora fc22 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc23 has been pushed to the r3.1 testing repository for the Fedora fc23 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.10-1.fc23 has been pushed to the r3.1 testing repository for the Fedora fc23 template.
To test this update, please install it with the following command:

sudo yum update --enablerepo=qubes-vm-r3.1-current-testing

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb8u1 has been pushed to the r3.1 testing repository for the Debian jessie template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing jessie-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb8u1 has been pushed to the r3.1 testing repository for the Debian jessie template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing jessie-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb9u1 has been pushed to the r3.1 testing repository for the Debian stretch template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing stretch-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb9u1 has been pushed to the r3.1 testing repository for the Debian stretch template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing stretch-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 31, 2015

Member

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb7u1 has been pushed to the r3.1 testing repository for the Debian wheezy template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing wheezy-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Member

marmarek commented Dec 31, 2015

Automated announcement from builder-github

The package qubes-core-agent_3.1.10-1+deb7u1 has been pushed to the r3.1 testing repository for the Debian wheezy template.
To test this update, first enable the testing repository in /etc/apt/sources.list.d/qubes-*.list by uncommenting the line containing wheezy-testing, then use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jan 12, 2016

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc21 has been pushed to the r3.1 stable repository for the Fedora fc21 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

Member

marmarek commented Jan 12, 2016

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc21 has been pushed to the r3.1 stable repository for the Fedora fc21 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jan 12, 2016

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc22 has been pushed to the r3.1 stable repository for the Fedora fc22 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

Member

marmarek commented Jan 12, 2016

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc22 has been pushed to the r3.1 stable repository for the Fedora fc22 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jan 12, 2016

Member

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc23 has been pushed to the r3.1 stable repository for the Fedora fc23 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

Member

marmarek commented Jan 12, 2016

Automated announcement from builder-github

The package python2-dnf-plugins-qubes-hooks-3.1.12-1.fc23 has been pushed to the r3.1 stable repository for the Fedora fc23 template.
To install this update, please use the standard update command:

sudo yum update

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jan 13, 2016

Member

Automated announcement from builder-github

The package qubes-core-agent_3.1.12-1+deb8u1 has been pushed to the r3.1 stable repository for the Debian jessie template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Member

marmarek commented Jan 13, 2016

Automated announcement from builder-github

The package qubes-core-agent_3.1.12-1+deb8u1 has been pushed to the r3.1 stable repository for the Debian jessie template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jan 13, 2016

Member

Automated announcement from builder-github

The package qubes-core-agent_3.1.12-1+deb7u1 has been pushed to the r3.1 stable repository for the Debian wheezy template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Member

marmarek commented Jan 13, 2016

Automated announcement from builder-github

The package qubes-core-agent_3.1.12-1+deb7u1 has been pushed to the r3.1 stable repository for the Debian wheezy template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment