Skip to content

Commit 72dfe4c

Browse files
[Docs] Add a security guide (#17230)
Signed-off-by: Russell Bryant <[email protected]> Co-authored-by: Cyrus Leung <[email protected]>
1 parent 8b464d9 commit 72dfe4c

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

docs/source/deployment/security.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Security Guide
2+
3+
## Inter-Node Communication
4+
5+
All communications between nodes in a multi-node vLLM deployment are **insecure by default** and must be protected by placing the nodes on an isolated network. This includes:
6+
7+
1. PyTorch Distributed communications
8+
2. KV cache transfer communications
9+
3. Tensor, Pipeline, and Data parallel communications
10+
11+
### Configuration Options for Inter-Node Communications
12+
13+
The following options control inter-node communications in vLLM:
14+
15+
1. **Environment Variables:**
16+
- `VLLM_HOST_IP`: Sets the IP address for vLLM processes to communicate on
17+
18+
2. **KV Cache Transfer Configuration:**
19+
- `--kv-ip`: The IP address for KV cache transfer communications (default: 127.0.0.1)
20+
- `--kv-port`: The port for KV cache transfer communications (default: 14579)
21+
22+
3. **Data Parallel Configuration:**
23+
- `data_parallel_master_ip`: IP of the data parallel master (default: 127.0.0.1)
24+
- `data_parallel_master_port`: Port of the data parallel master (default: 29500)
25+
26+
### Notes on PyTorch Distributed
27+
28+
vLLM uses PyTorch's distributed features for some inter-node communication. For
29+
detailed information about PyTorch Distributed security considerations, please
30+
refer to the [PyTorch Security
31+
Guide](https://github.com/pytorch/pytorch/security/policy#using-distributed-features).
32+
33+
Key points from the PyTorch security guide:
34+
- PyTorch Distributed features are intended for internal communication only
35+
- They are not built for use in untrusted environments or networks
36+
- No authorization protocol is included for performance reasons
37+
- Messages are sent unencrypted
38+
- Connections are accepted from anywhere without checks
39+
40+
### Security Recommendations
41+
42+
1. **Network Isolation:**
43+
- Deploy vLLM nodes on a dedicated, isolated network
44+
- Use network segmentation to prevent unauthorized access
45+
- Implement appropriate firewall rules
46+
47+
2. **Configuration Best Practices:**
48+
- Always set `VLLM_HOST_IP` to a specific IP address rather than using defaults
49+
- Configure firewalls to only allow necessary ports between nodes
50+
51+
3. **Access Control:**
52+
- Restrict physical and network access to the deployment environment
53+
- Implement proper authentication and authorization for management interfaces
54+
- Follow the principle of least privilege for all system components
55+
56+
## Reporting Security Vulnerabilities
57+
58+
If you believe you have found a security vulnerability in vLLM, please report it following the project's security policy. For more information on how to report security issues and the project's security policy, please see the [vLLM Security Policy](https://github.com/vllm-project/vllm/blob/main/SECURITY.md).

docs/source/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ serving/integrations/index
132132
:caption: Deployment
133133
:maxdepth: 1
134134

135+
deployment/security
135136
deployment/docker
136137
deployment/k8s
137138
deployment/nginx

0 commit comments

Comments
 (0)