Comments (4)
@binxing Hi Cedric, I agree that the TCP port or Vsock are open so another user can utilize that to talk to acond
. Of course, acond
has many verification steps to possibly detect it, but this is still a possible DoS attack.
However, as for totally shutting down the VM, a user other than the one created the VM is not able to kill the VM. In the code of aconcli
, VM shut down logic is currently implemented by sending the SIGTERM signal to the VM process. So if the user attempting to kill the VM is not the one who created it, he is not permitted to shutdown the VM or even list the status of this VM.
I did an experiment trying to shutdown a VM created by xiangquan:
[sgx@sgx-emr01 xxu36]$ ./aconcli shutdown -f tcp://:1025
Shutdown: cannot get VM pid for tcp://:1025: get pid for (tcp://:1025): cannot get matching pid
Similar result as trying to kill the VM process directly by kill
command
[sgx@sgx-emr01 xxu36]$ kill -TERM 1383098
-bash: kill: (1383098) - Operation not permitted
from acon.
@xxu36 You are right that an unauthorized user cannot kill the QEMU process, but he/she can stop containers, and after all containers are stopped, acond
will time out and shut down QEMU.
Anyway, by forwarding host UNIX socket to guest TCP port, we can solve this problem cleanly.
I'm not sure how acond
can tell who the user is. It will be able to authenticate the user with OpenID, but not before it is implemented.
from acon.
QEMU doesn't look like supporting this option. Let's delay the fix until we have OpenID authentication.
from acon.
This issue has been addressed by OpenID authentication added in v0.2.0.
from acon.
Related Issues (20)
- [`aconcli`] Build error HOT 2
- [`scripts`] Could not set up host forwarding rule 'tcp::5532-:1025'
- docs: How to use with k8s
- [`aconcli`&`scripts`] Environment variable `ATD_TCPFWD` will be overridden by `aconcli`
- [`acond`] Encountered `gosu` issues when enable `postgreSQL` HOT 7
- [`aconcli`] Suggested to remove `EntrypointName` from `config.go` HOT 1
- [samples] `README.md` should be modified to suit the latest change HOT 1
- [acond] Encounter `apr_sockaddr_info_get() failed for vm` error when enable apache httpd docker HOT 3
- Refactor markdown to eliminate long lines
- Unexpected errors while running `make clean` under samples/quote. HOT 1
- [aconcli] Encounter `unknown directive: toolchain` when fix GitHub Action errors HOT 1
- aconcli: should verify attestation data against "reportdata" field in quote
- [sample/quote] Need to modify writableFS's value to 'true' in server.json HOT 7
- The kernel panic occurs when adding blobs using image layer with size 0 HOT 1
- When using a higher version(26.0.0) of Docker, aconcli generates an FS layer with a size of 0 HOT 1
- [OpenID test] aconcli run command not support `--nologin` HOT 2
- [OPENID] `aconcli invoke` failed
- [OpenID test] `aconcli invoke` has no output HOT 2
- [OpenID test] `aconcli run` failed HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acon.