![]() |
Вдохновившись своей темой решил написать продолжение. Домашний компьютер/ноутбук не может быть всегда включен. А RPi может. Поэтому...
Реализовываем создание своего onion-сайта в сети TOR на Raspberry Pi, чтобы он всегда был доступен. Нам понадобится RPi, адаптер питания 5V 2A DC, карта памяти min 4Gb, USB-адаптер (лучше ALFA или TP-Link), Для первого подключения клавиатура, HDMI кабель и зомбоящик. Будем использовать Raspbian Jessie Lite образ скачиваем отсюда или отсюда. Сверили контрольные суммы: sha1sum 3a34e7b05e1e6e9042294b29065144748625bea8 Распаковываем архив, подключаем карту памяти и записываем образ: dd if=2016-09-23-raspbian-jessie-lite.img.img of=/dev/mmcblk0 Первый запуск. Вставим карту памяти в RPi, подключим клавиатуру и USB-адаптер. Соединим по HDMI шнуру с зомбоящиком. Подключаем адаптер питания. Пойдет первая загрузка. Образ Raspbian небольшой, автоматом расширится все дисковое пространство карты памяти. Когда выскочит на экран ввода логина/пароля, введите pi/raspberry. Дальше будет ОЧЕНЬ много команд! Сменим пароль пользователя pi passwd Перейдем в суперпользователя root sudo -i и так же сменим пароль passwd желательно не такой же, как у пользователя pi. Добавим пользователя pi к sudo usermod -g sudo pi редактируем visudo находим строки # User privilege specification root ALL=(ALL:ALL) ALL добавляем ниже # Allow members of group sudo to execute any command pi ALL=(ALL:ALL) ALL меняем nano /etc/hosts и nano /etc/motd на что то другое вместо raspberry. Так же заменим MOTD – Message of the Day banner nano /etc/motd Создать вашу собственную картинку ASCII можно здесь, затем вставить ее в MOTD. Поправим SSH, так как будем подключаться по нему nano /etc/ssh/sshd_config Для защиты от брутфорса запретим подключаться через root и сменим порт с 22 на другой PermitRootLogin no Port 2282 Настраиваем SSH для постоянной работы update-rc.d -f ssh remove update-rc.d -f ssh defaults cd /etc/ssh/ mkdir original_keys mv ssh_host_* original_keys/ dpkg-reconfigure openssh-server Подключаться будем по wi-fi. Приводим nano /etc/wpa_supplicant/wpa_supplicant.conf к виду ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=GB network={ ssid="точка доступа" psk="пароль" key_mgmt=WPA-PSK } Добавим автовход без ввода логина/пароля sudo -i mkdir -pv /etc/systemd/system/getty@tty1.service.d nano /etc/systemd/system/getty@tty1.service.d/autologin.conf в autologin.conf вводим и сохраняем [Service] ExecStart= ExecStart=-/sbin/agetty --autologin pi --noclear %I 38400 linux перезагружаем RPi reboot зайдя под пользователем pi автоматически проверим, появилось ли автоматическое интернет-подключение ping google.com и узнаем свой IP-адрес hostname -I клавиатуру и HDMI можно отключить. Будем соединяться по SSH ssh pi@ip_address -p 2282 если не хотите каждый раз вводить пароль, то можно сделать аутентификации по ключам. генерируем пару ключей на локальной машине ssh-keygen устанавливаем открытый ключ на удаленном сервере ssh-copy-id -i ~/.ssh/id_rsa.pub pi@ip_adress -p 2282 добавляем секретный ключ в агент аутентификации на локальной машине ssh-add пора обновить систему apt-get update apt-get upgrade установим необходимые пакеты apt-get install tor apt-get install lighttpd далее стартуем tor и lighttpd service tor start service lighttpd start чтобы они создали конфигурации. В /etc/tor/torrc раскомментируем и приведем к такому виду строки HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:8123 и в самом низу добавим это ExcludeNodes {ru}, {ua}, {be} устранит подключения Tor к *** нодам. Сохраним и выйдем в /var/lib/tor/hidden_service есть два файла hostname и private_key в первом имя вашего onion сайта, а во втором - уникальный приватный ключ. в /etc/lighttpd/lighttpd.conf изменим значения server.document-root = "/var/www/onion" server.error-handler-404 = "/404.php" server.tag = "Ваше значение" server.port = 8123 $HTTP["remoteip"] !~ "127.0.0.1" { url.access-deny = ( "" ) } server.dir-listing = "disable" современные веб-технологии предусматривают широкое использование "движков", для поддержки которых требуются PHP и MySQL, поэтому самое время добавить их к нашему серверу. Сначала установим PHP apt-get install php5-cgi затем в /etc/php/cgi/php.ini найдем и раскомментируем следующую строку cgi.fix_pathinfo = 1 теперь включим поддержку PHP в lighttpd lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php следующим шагом установим сервер баз данных MySQL и модуль PHP для работы с ним (Можете пропустить, если сайт будет без БД) apt-get install mysql-server mysql-client php5-mysql по умолчанию MySQL сервер использует кодировку latin1, в то время как большинство современных движков работают в UTF-8. Поэтому откроем /etc/mysql/my.cnf и добавим в секции [client] и [mysqld] следующие строки [client] default-character-set=utf8 [mysqld] character_set_server=utf8 collation_server=utf8_unicode_ci об управлении БД в mysql я рассказывать не буду. Это отдельная тема в /var/www/ создаем папку onion (не забудьте установить права) chown www-data:www-data /var/www/onion chmod 775 /var/www/onion usermod -a -G www-data pi dаш сайт разместим в ней. Создадаем проверочную HTML страницу и сохраняем ее под именем index.html Тестовая страница Site Local Тестовая страница. Веб-сервер работает и настроен правильно. cоздадаем PHP страницу ошибки и сохраняем ее под именем 404.php 404 Site Local Ошибка 404. Страница не найдена. перезапустим службы service tor restart service lighttpd restart service mysql restart и добавим в автозагрузку update-rc.d tor enable update-rc.d lighttpd enable update-rc.d mysql enable в tor-браузере переходим на ВАШ сгенерированный onion адрес, например penistfobso4wxhr.onion и видим результат! желательно добавить в /root/***/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc в самый низ строку ExcludeNodes {ru}, {ua}, {be} теперь, чтобы запустить сайт, достаточно воткнуть вилку в розетку и чтобы wi-fi был доступен P. S. От себя замечу, что можно использовать тяжелые движки для сайта, но я бы порекомендовал opensource, можно найти в интернете на том же github flatpress - блог без БД lechat - чат с БД fluxbb - форум с БД |
Цитата:
|
Добавлю к теме, что если нет возможности подключаться по wi-fi, то можно реализовать соединение через USB-свисток. Ищем по поисковым запросам "sakis3g Raspberry Pi". Там и перепрошить модем под любые сим карты можно и автозагрузку и автоподключение настроить...
|
Цитата:
|
Цитата:
|
Цитата:
P.S. Иногда бывает что в доме отключают свет и после его включения Paspberry Pi запускается, но Tor и службы lighttpd и mysql не запускаются вместе с ним. Чтобы это исправить: Код: Код:
sudo nano /etc/crontabКод: Код:
@reboot pi service tor start && service lighttpd start && service mysql start[doublepost=1498390641,1491052165][/doublepost]Примечание. Запустите Код: Код:
netstat -tulpanДля того чтобы RPi автоматически принимал критические обновления безопасности, поставьте следующие пакеты: Код: Код:
apt-get install unattended-upgrades apt-listchangesКод: Код:
sudo apt-get install pure-ftpd -yКод: Код:
Хост: sftp://pi@ip |
Цитата:
|
Не сознательно. Статья получилась большая и часть текста в виде ссылок "съело".
Вот ссылка на образы Raspbian Jessie Lite. [doublepost=1506191872,1502477387][/doublepost]Не забываем про добавление в корень сайта robots.txt с содержимым Код: Код:
User-agent: * |
| Время: 14:20 |