Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
communication:mumble [2013/07/13 06:01] samthetechieconnect:contact:mumble [2022/05/08 11:42] (current) – external edit 127.0.0.1
Line 1: Line 1:
-======Mumble====== +{{ :cp-logo-100x33.png?nolink|}} 
-Credit/Source: [[http://huertanix.tumblr.com/post/55261352264/location-anonymous-voice-communication-a-step-by-step]] by [[https://twitter.com/huertanix|@huertanix]]+======Mumble Server + Mumble Client + Tor====== 
 +  * Mumble is an open source project intended for gaming, but which can also siphon all voice traffic over TCP exclusively and also run well without much bandwidth.
  
-Mumble, on the other hand, is an open source project intended for gaming, but which can also siphon all voice traffic over TCP exclusively and also run well without much bandwidth (presumably to leave more bandwidth for WoW raids). The fact that it’s designed for low-bandwidth situations also makes it ideal for being bounced around in encrypted chunks across the global Tor network.+  * The fact that it’s designed for low-bandwidth situations also makes it ideal for being bounced around in encrypted chunks across the global Tor network.
  
-Mumble is set up as a client and a server, with the client being the thing you talk to on your computer and the server offering the connection between computers wanting to talk. There’s many servers on the public internet to connect to, but to verify that our setup is doing what we think it is, we’ll roll our own.+  * Mumble is set up as a client and a server, with the client being the thing you talk to on your computer and the server offering the connection between computers wanting to talk. 
 + 
 +  * Mumble does **not** provide end to end encryption between the clientsi.e. the server has access to al unencrypted voice data, hence it is **necessary** to run your own server.
  
 =====Step 1: Set up a Mumble Server===== =====Step 1: Set up a Mumble Server=====
  
-For simplicity’s sake, we’ll be using an Amazon EC2 instance. If you’re planning to chat with Julian Assange, I’d highly recommend using a dedicated server in Iceland or Bajor instead.+  * Install Ubuntu or Debian on a VPS.
  
-The process of creating an EC2 instance can easily be found by searching Google DuckDuckGo, so we’ll assume that you’ve already created an Ubuntu GNU/Linux instance and are logged in and ready to type commands n’ stuff.+  * From this point the guide assumes you’ve already created an Ubuntu instance and are logged in.
  
-====Install the mumble server software:====+  * Install the mumble server software:
  
     $ sudo apt-get update     $ sudo apt-get update
Line 20: Line 23:
     $ sudo dpkg-reconfigure mumble-server     $ sudo dpkg-reconfigure mumble-server
  
-For the prompts that ensue, say yes to autostart and high priority and set up an administrator password of your choice, but don’t pick a dumb password.+  * For the prompts that ensue, say yes to autostart and high priority and set up an administrator password of your choice, ensure all passwords are secure.
  
-Possibly optionalbut do it anyway: In your AWS console, configure your security group and add some custom TCP (but not UDP) rules to allow inbound traffic on the port Mumble is using (default is 64738). This will leave other ports and UDP traffic in general unallowed to reach the server. If you’re too cool for the AWS console, feel free to edit iptables rules manually at your leisure.+  Make sure your firewall has TCP rules to allow inbound traffic on the port Mumble is using (default is 64738). 
 + 
 +  * Note for advanced users (consider running the mumble server as a tor hidden service)More information: [[https://whonix.org/wiki/Voip#Mumble_Server_Instructions|here]] and [[https://whonix.org/wiki/Hidden_Services|here]]. Beware of the client issues described under Step 3.
  
 =====Step 2: Set up Tor===== =====Step 2: Set up Tor=====
  
-Tor is a program that can be installed on Windows PCs, Macs, Linux haxor machines and uber-leet haxor Nokia N900s. Download the Tor browser bundle for your system and follow the setup directions. Before starting tour, take a note of your actual IP address. Make sure the NSA isn’t looking over your shoulder.**+  * Download the [[https://www.torproject.org/projects/torbrowser.html.en|Tor browser bundle]] for your system and follow the setup directions. Before starting tor, take a note of your actual IP address.
  
-Use IP Chicken to check your public IP address. After you’ve made note of that, start up the Tor Browser, give it a minute or two to kick in and check IP Chicken inside the Tor browser again. Now your IP address in the Tor browser should be that of a random Tor exit node. Success!+  * Search for "what is my ip" to obtain your public IP address. After you’ve made note of that, start up the Tor Browser
 + 
 +  * From the firefox instance opened when launching the Tor Browser BundleSearch for "what is my ip" again or click "Test Tor Network Settings" and observe that your IP address is that of a random Tor exit node.
  
 =====Step 3: Set up Mumble Client===== =====Step 3: Set up Mumble Client=====
  
-Like Tor, Mumble can probably also run on your computer unless you use a D-Wave quantum computer or Commodore 64. Download the Mumble client for your system and install it. The first time you run Mumble it will ask you to go through an audio tuning wizard, so do that and fine-tune your audio settings as much as you’d like.+  * Download the [[http://mumble.sourceforge.net/|Mumble client]] for your system and install it. The first time you run Mumble it will ask you to go through an audio tuning wizard and you may also wish to set a PTT (push to talk) keyboard binding.
  
-In Mumble, go to Configure > Settings > Network and make sure “Advanced" is checked. Check “Force TCP mode."+  * In Mumble, go to Configure > Settings > Network and make sure “Advanced" is checked. Check “Force TCP mode."
  
-[[https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/736f05879076eef1c51b08a5b919dd85/tumblr_inline_mpsyt0HWj01qz4rgp.png]]+{{https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/736f05879076eef1c51b08a5b919dd85/tumblr_inline_mpsyt0HWj01qz4rgp.png}}
  
-Under Proxy, choose “SOCKS5 proxy" and enter “Localhost" for the Hostname and 9050 for the port. While we’re still paranoid, also uncheck “Reconnect automatically," check “Suppress certificate and password storage" and uncheck “Submit anonymous statistics." Click OK.+  * Under Proxy, choose “SOCKS5 proxy" and enter “Localhost" for the Hostname and 9050 for the port (you can also find the port number under Torbutton Preferences).
  
-[[https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/e7f7f43e2ad53f759a6c8fdd80b2d6f7/tumblr_inline_mpsyyd0Siv1qz4rgp.png]]+  *  Unfortunately, as of version 1.2.7, Mumble still fails to resolve hostnames over the proxy even with the setting on, and hence will fail to connect to hidden services and may **leak** a DNS request. 
 + 
 +  * Hence, unless your OS is fully torified, you need to invoke Mumble with __torsocks__ (see [[documentation/irssi_plus_tor]]) or __[[https://github.com/haad/proxychains|proxychains4]]__. Under Mac OS/X, even that may not function ((The Android client Plumble, however, works fine with Orbot)). 
 +    * usewithtor mumble 
 +    * proxychains4 mumble 
 +    * check for success by watching the network, e.g. running "tcpdump -n 'port 53'" (linux/unix) 
 + 
 +  * Unchecking “Reconnect automatically," will prevent Mumble from attempting to reconnect unsecurely if, for any reason, the tor service stops. 
 + 
 +  * Also check “Suppress certificate and password storage" and uncheck “Submit anonymous statistics." Click OK. 
 + 
 +{{https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/e7f7f43e2ad53f759a6c8fdd80b2d6f7/tumblr_inline_mpsyyd0Siv1qz4rgp.png}}
  
 =====Step 4: Call Your Friends!===== =====Step 4: Call Your Friends!=====
  
-Now that you have Mumble and Tor running, go to Server > Connect > Add New and add the IP address and port number of the Mumble server you set up in Step 1. Use whatever label you want to name the server with and whatever username you want to make up. If you have friends, invite them to do Steps 2 to 4 and talk about Pokemon/anarchism/whatever. A Mumble chatroom is basically a group voice chat, much like a conference call but without a phone system. Your chat will be encrypted using TLS with 256-bit AES-SHA for the control channel and 128-bit OCB-AES for voice. Combine that with the fact that fatty TCP packets are being thrown around Tor and the voice quality will sound a bit like Starfleet’s SOS message from Star Trek 4The Voyage Home. PersonallyI find that aesthetic appropriate; Subverting the NSA shouldn’t sound the same as calling Mom on Skype.+  * Now that you have Mumble and Tor running, go to Server > Connect > Add New and add the IP address (respectively, onion name) and port number of the Mumble server you set up in Step.
 + 
 +  * Use whatever label you want to name the server with and whatever username you want to make up. 
 + 
 +  * A Mumble chatroom is basically a group voice chat, much like a conference call but without a phone system. 
 + 
 +  * Your chat will be encrypted using TLS with 256-bit AES-SHA for the control channel and 128-bit OCB-AES for voice. 
 + 
 +=====Step 5Audit===== 
 + 
 +  * Since we have our own Mumble serverwe review the logs and see what sort of IP addresses have been recorded.
  
-=====Step 5: Audit for Shenanigans=====+  * Incoming connections are logged in /var/log/mumble-server/mumble-server.log.
  
-Since we have our own Mumble server, we can take a peek at the logs and see what sort of IP addresses have been recorded. Incoming connections are logged in /var/log/mumble-server/mumble-server.log. If you run “tail /var/log/mumble-server/mumble-server.log" as root, the latest incoming connection should look like this:+  * If you run “tail -f /var/log/mumble-server/mumble-server.log" as root, you can watch the log as it is generated:
  
     <W>2013-07-12 02:48:45.672 1 => <122:(-1)> New connection: [tor exit node ip address]:45367     <W>2013-07-12 02:48:45.672 1 => <122:(-1)> New connection: [tor exit node ip address]:45367
Line 60: Line 88:
     <W>2013-07-12 02:48:47.112 1 => <122:JuggaloPrideIzBack(-1)> Authenticated     <W>2013-07-12 02:48:47.112 1 => <122:JuggaloPrideIzBack(-1)> Authenticated
  
-Generally, clients generate their own certificates, which usually end up looking something like this:+  * Generally, clients generate their own certificates, which usually end up looking something like this:
  
-[[https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/72c48f6185234413017fc7c42a6046eb/tumblr_inline_mpszp4nyWR1qz4rgp.png]]+{{https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/72c48f6185234413017fc7c42a6046eb/tumblr_inline_mpszp4nyWR1qz4rgp.png}}
  
-The lack of any real-world personal information is great for anonymity, but a lot of commercial Mumble servers will require a certificate issued by a certificate authority, which normally entails forking over personal details, and would thus defeat the purpose of this exercise and why Step 1 is particularly useful for anonymity.+  * The lack of any real-world personal information is great for anonymity, but a lot of commercial Mumble servers will require a certificate issued by a certificate authority, which normally entails forking over personal details.
  
-There might be a UDP “ping" sent to the server, but I haven’t been able to verify that claim yet, so block UDP to be on the safe side.+  For this and many other reasons, running your own mumble server is encouraged.
  
-** According to this leaked document, they’ll be easy to spot since they apparently look like cartoon animals dressed in intensely 90s regalia.+Credit/Source: adapted from this post [[http://huertanix.tumblr.com/post/55261352264/location-anonymous-voice-communication-a-step-by-step]] by [[https://twitter.com/huertanix|@huertanix]]