以前、CentOS 7にTorのインストール記事を記載しました。
このときはTorプロジェクトが提供していたリポジトリを使用してインストールしましたが、久し振りに確認したらepelに移行していました。
https://www.torproject.org/docs/rpms.html.en
Tor packages for RPM-based linux distributions.
Fedora, RHEL, CentOS, Scientific Linux packages
Use native Fedora packages for the Fedora distribution or EPEL packages for distribitons derived from RHEL.
環境
・CentOS Linux release 7.4.1708 (Core)
・Kernel 3.10.0-693.5.2.el7.x86_64
- epel repositoryインストール
- Torインストール
- 設定ファイルの編集
- 設定ファイルのチェック
- Torの起動
- Firewallの許可
1 |
# yum -y install epel-release |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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 |
# yum info tor Available Packages Name : tor Arch : x86_64 Version : 0.2.9.13 Release : 1.el7 Size : 2.5 M Repo : epel/x86_64 Summary : Anonymizing overlay network for TCP URL : https://www.torproject.org License : BSD Description : The Tor network is a group of volunteer-operated servers that allows people to : improve their privacy and security on the Internet. Tor's users employ this : network by connecting through a series of virtual tunnels rather than making a : direct connection, thus allowing both organizations and individuals to share : information over public networks without compromising their privacy. Along the : same line, Tor is an effective censorship circumvention tool, allowing its : users to reach otherwise blocked destinations or content. Tor can also be used : as a building block for software developers to create new communication tools : with built-in privacy features. : : This package contains the Tor software that can act as either a server on the : Tor network, or as a client to connect to the Tor network. # yum -y install tor Resolving Dependencies --> Running transaction check ---> Package tor.x86_64 0:0.2.9.13-1.el7 will be installed --> Processing Dependency: torsocks for package: tor-0.2.9.13-1.el7.x86_64 --> Processing Dependency: libevent-2.0.so.5()(64bit) for package: tor-0.2.9.13-1.el7.x86_64 --> Processing Dependency: libseccomp.so.2()(64bit) for package: tor-0.2.9.13-1.el7.x86_64 --> Running transaction check ---> Package libevent.x86_64 0:2.0.21-4.el7 will be installed ---> Package libseccomp.x86_64 0:2.3.1-3.el7 will be installed ---> Package torsocks.x86_64 0:2.1.0-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Installing: tor x86_64 0.2.9.13-1.el7 epel 2.5 M Installing for dependencies: libevent x86_64 2.0.21-4.el7 base 214 k libseccomp x86_64 2.3.1-3.el7 base 56 k torsocks x86_64 2.1.0-1.el7 epel 61 k Transaction Summary ============================================================================================================== Install 1 Package (+3 Dependent packages) Total download size: 2.8 M Installed size: 12 M Downloading packages: (1/4): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:00:00 warning: /var/cache/yum/x86_64/7/epel/packages/torsocks-2.1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Public key for torsocks-2.1.0-1.el7.x86_64.rpm is not installed (2/4): torsocks-2.1.0-1.el7.x86_64.rpm | 61 kB 00:00:00 (3/4): libseccomp-2.3.1-3.el7.x86_64.rpm | 56 kB 00:00:00 (4/4): tor-0.2.9.13-1.el7.x86_64.rpm | 2.5 MB 00:00:01 -------------------------------------------------------------------------------------------------------------- Total 2.1 MB/s | 2.8 MB 00:00:01 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <epel@fedoraproject.org>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libseccomp-2.3.1-3.el7.x86_64 1/4 Installing : libevent-2.0.21-4.el7.x86_64 2/4 Installing : torsocks-2.1.0-1.el7.x86_64 3/4 Installing : tor-0.2.9.13-1.el7.x86_64 4/4 Verifying : torsocks-2.1.0-1.el7.x86_64 1/4 Verifying : libevent-2.0.21-4.el7.x86_64 2/4 Verifying : tor-0.2.9.13-1.el7.x86_64 3/4 Verifying : libseccomp-2.3.1-3.el7.x86_64 4/4 Installed: tor.x86_64 0:0.2.9.13-1.el7 Dependency Installed: libevent.x86_64 0:2.0.21-4.el7 libseccomp.x86_64 0:2.3.1-3.el7 torsocks.x86_64 0:2.1.0-1.el7 Complete! |
設定ファイル/etc/tor/torrcを環境に合わせて編集します。
[デフォルト]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
# cat /etc/tor/torrc ## Configuration file for a typical Tor user ## Last updated 22 September 2015 for Tor 0.2.7.3-alpha. ## (may or may not work for much older or much newer versions of Tor.) ## ## Lines that begin with "## " try to explain what's going on. Lines ## that begin with just "#" are disabled commands: you can enable them ## by removing the "#" symbol. ## ## See 'man tor', or https://www.torproject.org/docs/tor-manual.html, ## for more options you can use in this file. ## ## Tor will look for this file in various places based on your platform: ## https://www.torproject.org/docs/faq#torrc ControlSocket /run/tor/control ControlSocketsGroupWritable 1 CookieAuthentication 1 CookieAuthFile /run/tor/control.authcookie CookieAuthFileGroupReadable 1 ## Tor opens a SOCKS proxy on port 9050 by default -- even if you don't ## configure one below. Set "SOCKSPort 0" if you plan to run Tor only ## as a relay, and not make any local application connections yourself. #SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections. #SOCKSPort 192.168.0.1:9100 # Bind to this address:port too. ## Entry policies to allow/deny SOCKS requests based on IP address. ## First entry that matches wins. If no SOCKSPolicy is set, we accept ## all (and only) requests that reach a SOCKSPort. Untrusted users who ## can access your SOCKSPort may be able to learn about the connections ## you make. #SOCKSPolicy accept 192.168.0.0/16 #SOCKSPolicy accept6 FC00::/7 #SOCKSPolicy reject * ## Logs go to stdout at level "notice" unless redirected by something ## else, like one of the below lines. You can have as many Log lines as ## you want. ## ## We advise using "notice" in most cases, since anything more verbose ## may provide sensitive information to an attacker who obtains the logs. ## ## Send all messages of level 'notice' or higher to /var/log/tor/notices.log #Log notice file /var/log/tor/notices.log ## Send every possible message to /var/log/tor/debug.log #Log debug file /var/log/tor/debug.log ## Use the system log instead of Tor's logfiles #Log notice syslog ## To send all messages to stderr: #Log debug stderr ## Uncomment this to start the process in the background... or use ## --runasdaemon 1 on the command line. This is ignored on Windows; ## see the FAQ entry if you want Tor to run as an NT service. #RunAsDaemon 1 ## The directory for keeping all the keys/etc. By default, we store ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. #DataDirectory /var/lib/tor ## The port on which Tor will listen for local connections from Tor ## controller applications, as documented in control-spec.txt. #ControlPort 9051 ## If you enable the controlport, be sure to enable one of these ## authentication methods, to prevent attackers from accessing it. #HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C #CookieAuthentication 1 ############### This section is just for location-hidden services ### ## Once you have configured a hidden service, you can look at the ## contents of the file ".../hidden_service/hostname" for the address ## to tell people. ## ## HiddenServicePort x y:z says to redirect requests on port x to the ## address y:z. #HiddenServiceDir /var/lib/tor/hidden_service/ #HiddenServicePort 80 127.0.0.1:80 #HiddenServiceDir /var/lib/tor/other_hidden_service/ #HiddenServicePort 80 127.0.0.1:80 #HiddenServicePort 22 127.0.0.1:22 ################ This section is just for relays ##################### # ## See https://www.torproject.org/docs/tor-doc-relay for details. ## Required: what port to advertise for incoming Tor connections. #ORPort 9001 ## If you want to listen on a port other than the one advertised in ## ORPort (e.g. to advertise 443 but bind to 9090), you can do it as ## follows. You'll need to do ipchains or other port forwarding ## yourself to make this work. #ORPort 443 NoListen #ORPort 127.0.0.1:9090 NoAdvertise ## The IP address or full DNS name for incoming connections to your ## relay. Leave commented out and Tor will guess. #Address noname.example.com ## If you have multiple network interfaces, you can specify one for ## outgoing traffic to use. # OutboundBindAddress 10.0.0.5 ## A handle for your relay, so people don't have to refer to it by key. ## Nicknames must be between 1 and 19 characters inclusive, and must ## contain only the characters [a-zA-Z0-9]. #Nickname ididnteditheconfig ## Define these to limit how much relayed traffic you will allow. Your ## own traffic is still unthrottled. Note that RelayBandwidthRate must ## be at least 75 kilobytes per second. ## Note that units for these config options are bytes (per second), not ## bits (per second), and that prefixes are binary prefixes, i.e. 2^10, ## 2^20, etc. #RelayBandwidthRate 100 KBytes # Throttle traffic to 100KB/s (800Kbps) #RelayBandwidthBurst 200 KBytes # But allow bursts up to 200KB (1600Kb) ## Use these to restrict the maximum traffic per day, week, or month. ## Note that this threshold applies separately to sent and received bytes, ## not to their sum: setting "40 GB" may allow up to 80 GB total before ## hibernating. ## ## Set a maximum of 40 gigabytes each way per period. #AccountingMax 40 GBytes ## Each period starts daily at midnight (AccountingMax is per day) #AccountingStart day 00:00 ## Each period starts on the 3rd of the month at 15:00 (AccountingMax ## is per month) #AccountingStart month 3 15:00 ## Administrative contact information for this relay or bridge. This line ## can be used to contact you if your relay or bridge is misconfigured or ## something else goes wrong. Note that we archive and publish all ## descriptors containing these lines and that Google indexes them, so ## spammers might also collect them. You may want to obscure the fact that ## it's an email address and/or generate a new address for this purpose. #ContactInfo Random Person <nobody AT example dot com> ## You might also include your PGP or GPG fingerprint if you have one: #ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com> ## Uncomment this to mirror directory information for others. Please do ## if you have enough bandwidth. #DirPort 9030 # what port to advertise for directory connections ## If you want to listen on a port other than the one advertised in ## DirPort (e.g. to advertise 80 but bind to 9091), you can do it as ## follows. below too. You'll need to do ipchains or other port ## forwarding yourself to make this work. #DirPort 80 NoListen #DirPort 127.0.0.1:9091 NoAdvertise ## Uncomment to return an arbitrary blob of html on your DirPort. Now you ## can explain what Tor is if anybody wonders why your IP address is ## contacting them. See contrib/tor-exit-notice.html in Tor's source ## distribution for a sample. #DirPortFrontPage /etc/tor/tor-exit-notice.html ## Uncomment this if you run more than one Tor relay, and add the identity ## key fingerprint of each Tor relay you control, even if they're on ## different networks. You declare it here so Tor clients can avoid ## using more than one of your relays in a single circuit. See ## https://www.torproject.org/docs/faq#MultipleRelays ## However, you should never include a bridge's fingerprint here, as it would ## break its concealability and potentially reveal its IP/TCP address. #MyFamily $keyid,$keyid,... ## A comma-separated list of exit policies. They're considered first ## to last, and the first match wins. ## ## If you want to allow the same ports on IPv4 and IPv6, write your rules ## using accept/reject *. If you want to allow different ports on IPv4 and ## IPv6, write your IPv6 rules using accept6/reject6 *6, and your IPv4 rules ## using accept/reject *4. ## ## If you want to _replace_ the default exit policy, end this with either a ## reject *:* or an accept *:*. Otherwise, you're _augmenting_ (prepending to) ## the default exit policy. Leave commented to just use the default, which is ## described in the man page or at ## https://www.torproject.org/documentation.html ## ## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses ## for issues you might encounter if you use the default exit policy. ## ## If certain IPs and ports are blocked externally, e.g. by your firewall, ## you should update your exit policy to reflect this -- otherwise Tor ## users will be told that those destinations are down. ## ## For security, by default Tor rejects connections to private (local) ## networks, including to the configured primary public IPv4 and IPv6 addresses, ## and any public IPv4 and IPv6 addresses on any interface on the relay. ## See the man page entry for ExitPolicyRejectPrivate if you want to allow ## "exit enclaving". ## #ExitPolicy accept *:6660-6667,reject *:* # allow irc ports on IPv4 and IPv6 but no more #ExitPolicy accept *:119 # accept nntp ports on IPv4 and IPv6 as well as default exit policy #ExitPolicy accept *4:119 # accept nntp ports on IPv4 only as well as default exit policy #ExitPolicy accept6 *6:119 # accept nntp ports on IPv6 only as well as default exit policy #ExitPolicy reject *:* # no exits allowed ## Bridge relays (or "bridges") are Tor relays that aren't listed in the ## main directory. Since there is no complete public list of them, even an ## ISP that filters connections to all the known Tor relays probably ## won't be able to block all the bridges. Also, websites won't treat you ## differently because they won't know you're running Tor. If you can ## be a real relay, please do; but if not, be a bridge! #BridgeRelay 1 ## By default, Tor will advertise your bridge to users through various ## mechanisms like https://bridges.torproject.org/. If you want to run ## a private bridge, for example because you'll give out your bridge ## address manually to your friends, uncomment this line: #PublishServerDescriptor 0 |
取り敢えず最低限の設定です。
1 2 3 4 5 6 7 8 |
# インターフェース:ポート SOCKSPort 192.168.1.1:9100 # Bind to this address:port too. # 許可するネットワーク SOCKSPolicy accept 127.0.0.1 SOCKSPolicy accept 192.168.1.0/24 SOCKSPolicy reject * # ログ Log notice file /var/log/tor/notices.log |
1 2 3 4 5 6 7 |
# tor -f /etc/tor/torrc --verify-config Dec 01 11:13:54.491 [notice] Tor 0.2.9.13 (git-fbe15d1d7a28e480) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.2k-fips and Zlib 1.2.7. Dec 01 11:13:54.491 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning Dec 01 11:13:54.492 [notice] Read configuration file "/etc/tor/torrc". Dec 01 11:13:54.494 [notice] You configured a non-loopback address '192.168.1.1:9100' for SocksPort. This allows everybody on your local network to use your machine as a proxy. Make sure this is what you wanted. Dec 01 11:13:54.495 [warn] You are running Tor as root. You don't need to, and you probably shouldn't. Configuration was valid |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# systemctl enable tor Created symlink from /etc/systemd/system/multi-user.target.wants/tor.service to /usr/lib/systemd/system/tor.service. # systemctl start tor # systemctl status tor * tor.service - Anonymizing overlay network for TCP Loaded: loaded (/usr/lib/systemd/system/tor.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2017-12-01 11:18:57 JST; 7s ago Process: 1515 ExecStartPre=/usr/bin/tor --runasdaemon 0 --defaults-torrc /usr/share/tor/defaults-torrc -f /etc/tor/torrc --verify-config (code=exited, status=0/SUCCESS) Main PID: 1517 (tor) CGroup: /system.slice/tor.service `-1517 /usr/bin/tor --runasdaemon 0 --defaults-torrc /usr/share/tor/defaults-torrc -f /etc/tor/t... Dec 01 11:18:57 centos7.rootlinks.net tor[1515]: Dec 01 11:18:57.211 [notice] You configured a non-loop...ted. Dec 01 11:18:57 centos7.rootlinks.net tor[1515]: Configuration was valid Dec 01 11:18:57 centos7.rootlinks.net systemd[1]: Started Anonymizing overlay network for TCP. Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.249 [notice] Tor 0.2.9.13 (git-fbe15d1...2.7. Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.249 [notice] Tor can't help you if you...ning Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.249 [notice] Read configuration file "...rc". Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.249 [notice] Read configuration file "...rc". Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.251 [notice] You configured a non-loop...ted. Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.251 [notice] You configured a non-loop...ted. Dec 01 11:18:57 centos7.rootlinks.net tor[1517]: Dec 01 11:18:57.252 [notice] Opening Socks listener on...9100 Hint: Some lines were ellipsized, use -l to show in full. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9100" accept" success # firewall-cmd --reload success # firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eno16777736 sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.1.0/24" port port="9100" protocol="tcp" accept |
テストは前回同様、WebブラウザのProxy設定をしてhttps://check.torproject.org/にアクセスします。
Congratulations. This browser is configured to use Tor.と表示されればTor経由でアクセスしています。