cli_wallet_daemon_isolation_qubes_whonix.md 5.29 KB
Newer Older
1
2
{% assign version = '1.1.0' | split: '.' %}
{% include disclaimer.html translated="true" version=page.version %}
3b7ameed's avatar
3b7ameed committed
3
4
5
6
7
8
9
10
11
# عزل واجهه سطر الأوامر/الخادم في نظام Qubes + Whonix

مع نظام [Qubes](https://qubes-os.org) + [Whonix](https://whonix.org) يُمكنك إنشاء محفظه مونيرو بدون إتصال بالإنترنت تعمل علي نظام إفتراضي معزول عن خادم مونيرو الذي يَمر كل بياناته من خلال شبكه التور  [Tor](https://torproject.org).

يُوفر نظام كيوبس السلاسه اللازمه لسهوله إنشاء أنظمه إفتراضيه لأهداف مختلفه. في البدايه ستقوم بإنشاء مكنه إفتراضيه علي وونكس للمحفظه بدون إتصال. بعد ذلك مكنه ووُنكس أُخري لخادم مونيرو . للتواصل بين المحفظه والخادم يُمكنك إستخدام كيوبس  [qrexec](https://www.qubes-os.org/doc/qrexec3/).

هذه الطريقه أكثر أماناً من الطرق الاخري التي توجّه بروتوكول (RPC) المحفظه خلال خدمه تور(TOR) مخفيه, أو التي تستخدم العزل المادي لكنها ماتزال تستخدم الإنترنت للإتصال بالخادم. بهذه الطريقه لا تحتاج أي إتصال شبكي بالمحفظه, فإنك تُحافظ علي موارد شبكة تور(Tor) ، ووقت الإستجابة أقل.


12
## 1. [إنشاء مكنه إفتراضي للتطبيقات علي وونكس (Whonix AppVMs)](https://www.whonix.org/wiki/Qubes/Install):
3b7ameed's avatar
3b7ameed committed
13
14
15
16
17
18
19

+ بإستخدام قالب مكن وونكس الإفتراضي , إنشيء مكنتين كما التالي :

  -أول مكنه سيتم إستخدامها للمحفظه, سيُشار إليها بـ`monero-wallet-ws`. قم بإختيار`none` في `NetVM`.

  - المكنه الأخري سوف تُستخدم للخادم, سيُشار إليها بـ`monerod-ws`. سيتم إختيار `sys-whonix` ل `NetVM`.

20
## 2. في مكنه تطبيق `monerod-ws`:
3b7ameed's avatar
3b7ameed committed
21
22
23
24
25
26

+ تنزيل وتطبيق وتسطيب برنامج مونيرو.

```
[email protected]:~$ curl -O "https://downloads.getmonero.org/cli/monero-linux-x64-v0.11.1.0.tar.bz2" -O "https://getmonero.org/downloads/hashes.txt"
[email protected]:~$ gpg --recv-keys BDA6BD7042B721C467A9759D7455C5E3C0CDCEB9
27
[email protected]:~$ gpg --verify hashes.txt
3b7ameed's avatar
3b7ameed committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
gpg: Signature made Wed 01 Nov 2017 10:01:41 AM UTC
gpg:                using RSA key 0x55432DF31CCD4FCD
gpg: Good signature from "Riccardo Spagni <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9  759D 7455 C5E3 C0CD CEB9
     Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE  EA1D 5543 2DF3 1CCD 4FCD
[email protected]:~$ echo '6581506f8a030d8d50b38744ba7144f2765c9028d18d990beb316e13655ab248  monero-linux-x64-v0.11.1.0.tar.bz2' | shasum -c
monero-linux-x64-v0.11.1.0.tar.bz2: OK
[email protected]:~$ tar xf monero-linux-x64-v0.11.1.0.tar.bz2
[email protected]:~$ sudo cp monero-v0.11.1.0/monerod /usr/local/bin/
```
+ إنشاء ملف `systemd`.

```
[email protected]:~$ sudo gedit /home/user/monerod.service
```

إنسخ المُحتوي التالي :

```
[Unit]
Description=Monero Full Node
After=network.target

[Service]
User=user
Group=user

Type=forking
PIDFile=/home/user/.bitmonero/monerod.pid

ExecStart=/usr/local/bin/monerod --detach --data-dir=/home/user/.bitmonero \
    --no-igd --pidfile=/home/user/.bitmonero/monerod.pid \
    --log-file=/home/user/.bitmonero/bitmonero.log --p2p-bind-ip=127.0.0.1

Restart=always
PrivateTmp=true

[Install]
WantedBy=multi-user.target
```

+ إنسخ `monero-wallet-cli` إلي `monero-wallet-ws` VM.

```
[email protected]:~$ qvm-copy-to-vm monero-wallet-ws monero-v0.11.1.0/monero-wallet-cli
```

+ إجعل `monerod` الخادم يبدأ فور التشغيل تلقائياً بتعديل ملف `/rw/config/rc.local`.

```
[email protected]:~$ sudo gedit /rw/config/rc.local
```

ضِف هذه السطور بآخر الملف:

```
cp /home/user/monerod.service /lib/systemd/system/
systemctl start monerod.service
```

إجعل الملف قابل للتشغيل.

```
[email protected]:~$ sudo chmod +x /rw/config/rc.local
```

+ إنشاء ملف (RPC).

```
[email protected]:~$ sudo mkdir /rw/usrlocal/etc/qubes-rpc
[email protected]:~$ sudo gedit /rw/usrlocal/etc/qubes-rpc/user.monerod
```

أضف هذا السطر:

```
socat STDIO TCP:localhost:18081
```

+ إِغلِق `monerod-ws`.

## 3. في مكنه تطبيق `monero-wallet-ws`:

+ حَرِك ملف `monero-wallet-cli` قابل للتشغيل .

```
[email protected]:~$ sudo mv QubesIncoming/monerod-ws/monero-wallet-cli /usr/local/bin/
```

+ عَدِل ملف `/rw/config/rc.local`.

```
[email protected]:~$ sudo gedit /rw/config/rc.local
```

أضف هذا السطر بالآخر:

```
socat TCP-LISTEN:18081,fork,bind=127.0.0.1 EXEC:"qrexec-client-vm monerod-ws user.monerod"
```

إجعل الملف قابل للتشغيل.

```
[email protected]:~$ sudo chmod +x /rw/config/rc.local
```

+ إِغلِق `monero-wallet-ws`.

## 4. في `dom0`:

+ إنشيء ملف `/etc/qubes-rpc/policy/user.monerod`:

```
[[email protected] ~]$ sudo nano /etc/qubes-rpc/policy/user.monerod
```

قم بإضافه هذا السطر:

```
monero-wallet-ws monerod-ws allow
```