Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upRework qubes-netwatcher service #1242
Comments
marmarek
added this to the Release 3.1 milestone
Sep 25, 2015
marmarek
added
C: core
task
P: major
labels
Sep 25, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
adrelanos
Sep 25, 2015
Member
Did some user report yet, this feature being broken?
I guess adding rules manually such as "allow: google.com" is something only the geeks use anyway? So for simplicity the whole feature could be removed.
|
Did some user report yet, this feature being broken? I guess adding rules manually such as "allow: google.com" is something only the geeks use anyway? So for simplicity the whole feature could be removed. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Sep 25, 2015
Member
On Fri, Sep 25, 2015 at 11:56:09AM -0700, Patrick Schleizer wrote:
Did some user report yet, this feature being broken?
Not yet, but we haven't released final 3.0 yet ;)
I guess adding rules manually such as "allow: google.com" is something only the geeks use anyway? So for simplicity the whole feature could be removed.
Maybe for google.com, yes. But imagine EmailVM for accessing gmail over
imap for example.
Anyway if no user would complain about that in R3.0, IMHO we can remove
this.
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?
|
On Fri, Sep 25, 2015 at 11:56:09AM -0700, Patrick Schleizer wrote:
Not yet, but we haven't released final 3.0 yet ;)
Maybe for google.com, yes. But imagine EmailVM for accessing gmail over Anyway if no user would complain about that in R3.0, IMHO we can remove Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesuser
Sep 26, 2015
If I'm not misunderstanding, this doesn't seem to be very reliable, because an host could use a low DNS TTL and change its DNS response frequently, and then the firewall wouldn't work properly because the IP address in later responses wouldn't be allowed.
The only reliable way seems to be configuring a DNS proxy to add an iptables rule whenever it returns an A or AAAA record for a domain in the firewall rules.
It seems that dnsmasq provides that functionality using the --ipset option.
There also needs to be ad-hoc handling for applications connecting to Tor SOCKS ports since those never send DNS requests or IP packets with the target address. There doesn't seem to be any way to tell Tor to only allow outbound traffic to certain hosts, so unless I missed it it seems this would require writing a custom Tor controller that applies the firewall policy.
qubesuser
commented
Sep 26, 2015
|
If I'm not misunderstanding, this doesn't seem to be very reliable, because an host could use a low DNS TTL and change its DNS response frequently, and then the firewall wouldn't work properly because the IP address in later responses wouldn't be allowed. The only reliable way seems to be configuring a DNS proxy to add an iptables rule whenever it returns an A or AAAA record for a domain in the firewall rules. It seems that dnsmasq provides that functionality using the --ipset option. There also needs to be ad-hoc handling for applications connecting to Tor SOCKS ports since those never send DNS requests or IP packets with the target address. There doesn't seem to be any way to tell Tor to only allow outbound traffic to certain hosts, so unless I missed it it seems this would require writing a custom Tor controller that applies the firewall policy. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Sep 26, 2015
Member
The question is whether we need this feature at all. I'd leave the
current (broken) state for now and think about implementation when
really needed by users.
R2 have no solution for low DNS TTL load distribution and no one complained.
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?
|
The question is whether we need this feature at all. I'd leave the R2 have no solution for low DNS TTL load distribution and no one complained. Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Feb 8, 2016
Member
I think the task here is reduced to: clean up leftovers of qubes-netwatcher service.
Then, if any other mechanism is needed, implement it in new firewall API discussed here:
https://groups.google.com/d/msgid/qubes-devel/20160114163808.GW4892%40mail-itl
|
I think the task here is reduced to: clean up leftovers of |
rootkovska
modified the milestones:
Release 3.1 updates,
Release 3.1
Feb 12, 2016
rootkovska
added
P: minor
and removed
P: major
labels
Feb 12, 2016
andrewdavidwong
modified the milestones:
Release 3.1 updates,
Release 3.2 updates
May 31, 2017
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 24, 2018
marmarek
closed this
in
marmarek/qubes-core-agent-linux@4a8b10e
May 24, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
May 28, 2018
Automated announcement from builder-github
The package core-agent-linux has been pushed to the r4.0 testing repository for the CentOS centos7 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
May 28, 2018
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-centos7-cur-test
label
May 28, 2018
qubesos-bot
referenced this issue
in QubesOS/updates-status
May 28, 2018
Closed
core-agent-linux v4.0.29 (r4.0) #550
qubesos-bot
added
r4.0-buster-cur-test
r4.0-jessie-cur-test
labels
May 28, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
May 28, 2018
Automated announcement from builder-github
The package qubes-core-agent_4.0.29-1+deb9u1 has been pushed to the r4.0 testing repository for the Debian 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 (or appropriate equivalent for your template version), then use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
May 28, 2018
|
Automated announcement from builder-github The package
|
qubesos-bot
added
the
r4.0-stretch-cur-test
label
May 28, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
May 28, 2018
Automated announcement from builder-github
The component core-agent-linux (including package python2-dnf-plugins-qubes-hooks-4.0.29-1.fc26) has been pushed to the r4.0 testing repository for the Fedora template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r4.0-current-testing
qubesos-bot
commented
May 28, 2018
|
Automated announcement from builder-github The component
|
qubesos-bot
added
r4.0-buster-stable
r4.0-jessie-stable
and removed
r4.0-buster-cur-test
r4.0-jessie-cur-test
labels
Jun 12, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Jun 12, 2018
Automated announcement from builder-github
The component core-agent-linux (including package python2-dnf-plugins-qubes-hooks-4.0.30-1.fc26) has been pushed to the r4.0 stable repository for the Fedora template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Jun 12, 2018
|
Automated announcement from builder-github The component
|
qubesos-bot
added
r4.0-fc26-stable
r4.0-fc27-stable
and removed
r4.0-fc26-cur-test
r4.0-fc27-cur-test
labels
Jun 12, 2018
qubesos-bot
added
r4.0-fc28-stable
r4.0-jessie-stable
and removed
r4.0-fc28-cur-test
labels
Jun 12, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Jun 13, 2018
Automated announcement from builder-github
The package qubes-core-agent_4.0.30-1+deb9u1 has been pushed to the r4.0 stable repository for the Debian template.
To install this update, please use the standard update command:
sudo apt-get update && sudo apt-get dist-upgrade
qubesos-bot
commented
Jun 13, 2018
|
Automated announcement from builder-github The package
|
qubesos-bot
added
r4.0-stretch-stable
and removed
r4.0-stretch-cur-test
labels
Jun 13, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesos-bot
Jun 29, 2018
Automated announcement from builder-github
The package core-agent-linux has been pushed to the r4.0 stable repository for the Fedora centos7 template.
To install this update, please use the standard update command:
sudo yum update
qubesos-bot
commented
Jun 29, 2018
|
Automated announcement from builder-github The package
|
marmarek commentedSep 25, 2015
Background: this service is meant to run in ProxyVM, watch for external IP
change and reload firewall on such event (to force names to be resolved again).
This is because some services (especially big ones) use DNS-based load
distribution and serves different IP(s) based on client location.
Currently this is broken, because it uses xenstore to watch entry in another
VM's tree (if have permission for that). In R3 we use QubesDB instead of
xenstore and it isn't possible to access other VMs data. Instead we should add
some qrexec service(s) which will reload firewall and call it whenever such
event is discovered by NetVM.
Yet to be defined who should call this service. Currently I see two options:
will need know names of connected VMs. Also every VM would know name of its
NetVM.
Since the first option would disclose potentially sensitive information,
especially when using AnonVMs, the second option would be better. The question
is which VMs should be informed:
This isn't trivial choice because some ProxyVMs may be for example VPN VMs or
Tor VMs, which does not need such information and giving it there may be
potentially harmful (correlation attacks against anonymity).
Or maybe we should simply remove this mechanism? And recommend using IP
addresses instead of names in firewall rules (which is good idea anyway). This
would mean that setting rules like "allow: google.com" would no longer be
(easily) possible.