Война в Украине

Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.

Редактирование Участник:Xlikam/Даркнеты

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
{{Навигация|Криптоконспирология}}
 
 
{{stub|help=yes|См. TODO}}
 
 
 
Тут будет различная информация о сабжах
 
Тут будет различная информация о сабжах
  
Строка 20: Строка 16:
 
== Утилиты командной строки через TOR ==
 
== Утилиты командной строки через TOR ==
 
Зайти по ssh на обычный сервер:
 
Зайти по ssh на обычный сервер:
   ssh -o ProxyCommand='connect -5 -S localhost:9050 %h %p' user@server.com
+
   ssh -o ProxyCommand='connect -4 -S localhost:9050 %h %p' user@server.com
  
 
Зайти по ssh на скрытый сайт:
 
Зайти по ssh на скрытый сайт:
Строка 34: Строка 30:
 
   links2 -socks-proxy localhost:9050 http://www.fbi.gov/
 
   links2 -socks-proxy localhost:9050 http://www.fbi.gov/
  
== Настройка nginx для работы в даркнете ==
+
== Создаём защищённый eepsite ==
 
В первую очередь нам понадобится веб-сервер.
 
В первую очередь нам понадобится веб-сервер.
 
''Я выбрал nginx, так как считаю его наиболее безопасным.''
 
''Я выбрал nginx, так как считаю его наиболее безопасным.''
Строка 40: Строка 36:
 
* Скачиваем исходник последней стабильной версии [http://nginx.org/download], редактируем файл '''src/http/ngx_http_header_filter_module.c'''
 
* Скачиваем исходник последней стабильной версии [http://nginx.org/download], редактируем файл '''src/http/ngx_http_header_filter_module.c'''
 
Находим строчки:
 
Находим строчки:
   static char ngx_http_server_string[] = "Server: nginx" CRLF;
+
   static char ngx_http_server_string[] = «Server: nginx» CRLF;
 
   static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
 
   static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
 
и меняем их, к примеру, на:
 
и меняем их, к примеру, на:
   static char ngx_http_server_string[] = "Server: suckhttpd" CRLF;
+
   static char ngx_http_server_string[] = «Secured webserver» CRLF;
   static char ngx_http_server_full_string[] = "Server: suckhttpd/1.0" CRLF;
+
   static char ngx_http_server_full_string[] = «Server: Secured webserver 0.CRLF;
Разумеется, вместо suckhttpd нужно подставить существующий сервер, желательно с большим количеством уязвимостей (старенький Apache или IIS самое то). Это осложнит определение настоящей версии сервера, взломщики потратят время на проверку сервера на наличие уязвимостей, которых у него может не быть.
+
Это осложнит определение настоящей версии сервера, взломщики потратят время на проверку сервера на наличие уязвимостей, которых у него может не быть.
  
 
* Собираем сервер, отключив ненужные модули (список всех модулей можно получить, запустив configure c флагом --help):
 
* Собираем сервер, отключив ненужные модули (список всех модулей можно получить, запустив configure c флагом --help):
Строка 52: Строка 48:
 
   # make install
 
   # make install
 
* Конфигурируем сервер
 
* Конфигурируем сервер
* Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off». Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность.
+
* Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off» Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность.
  
 
Теперь изменим таймаут для повышения производительности:
 
Теперь изменим таймаут для повышения производительности:
Строка 60: Строка 56:
 
   send_timeout 10;
 
   send_timeout 10;
  
Защитимся от <del>переполнения буфера</del> (ЩИТО?):
+
Защитимся от <s>переполнения буфера</s> (ЩИТО?):
 
   client_body_buffer_size 1K;
 
   client_body_buffer_size 1K;
 
   client_header_buffer_size 1k; # увеличить, если сервер будет поддерживать загрузку файлов
 
   client_header_buffer_size 1k; # увеличить, если сервер будет поддерживать загрузку файлов
Строка 66: Строка 62:
 
   large_client_header_buffers 2 1k;
 
   large_client_header_buffers 2 1k;
  
Увеличим количество соединений с одного ip-адреса, так как обращаться к серверу будем только с адреса 127.0.0.1:
+
Увеличим количество соединений с одного ip-адреса, так как обращаться к серверу будем только с адреса 127.0.0.1
  limit_conn slimits 40;
+
limit_conn slimits 40;
На всякий случай оставим только 3 метода обращения к серверу (кому хватит меньше, можно оставить меньше):
+
На всякий случай оставим только 3 метода обращения к серверу
 
   if ($request_method !~ ^(GET|HEAD|POST)$) {
 
   if ($request_method !~ ^(GET|HEAD|POST)$) {
 
     return 444;
 
     return 444;
 
   }
 
   }
 
Устанавливаем пароль на нужные нам папки:
 
Устанавливаем пароль на нужные нам папки:
   # mkdir /etc/nginx/htpasswd
+
   # mkdir /etc/nginx/.htpasswd
   # htpasswd -c /etc/nginx/htpasswd/passwd user1 # создаём файл паролей для пользователя user1
+
   # htpasswd -c /etc/nginx/.htpasswd/passwd user1 # создаём файл паролей для пользователя user1
 
Добавляем в nginx.conf
 
Добавляем в nginx.conf
 
   location /private/ {
 
   location /private/ {
     auth_basic "Restricted";
+
     auth_basic «Restricted»;
     auth_basic_user_file /etc/nginx/htpasswd/passwd;
+
     auth_basic_user_file /etc/nginx/.htpasswd/passwd;
 
   }
 
   }
  
* Скрываем сервер от внешнего интернета. Для этого нужно проследить, чтобы в настройках сайта везде было <code>listen 127.0.0.1:80</code>, а не <code>listen 0.0.0.0:80</code> или <code>listen 80</code> (то же самое для порта 443). Можно дополнительно заблокировать порт 80 через iptables (эффект пропадает при перезагрузке):
+
Перезагружаем сервер:
  iptables -A INPUT -m state --state NEW -p tcp -s 127.0.0.1 --dport 80 -j ACCEPT
+
  iptables -A INPUT --dport 80 -j REJECT
+
Этим мы скроем наш сервер от прямых подключений.
+
 
+
* Перезагружаем сервер:
+
 
   /etc/init.d/nginx reload
 
   /etc/init.d/nginx reload
 
== Шифрование диска ==
 
=== Truecrypt ===
 
 
Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом.
 
Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом.
 
Скачиваем установщик truecrypta [http://www.truecrypt.org/downloads отсюда].
 
Скачиваем установщик truecrypta [http://www.truecrypt.org/downloads отсюда].
Устанавливаем, запускаем, форматируем флешку для работы с truecrypt-ом.
+
Устанавливаем, запускаем, шифруем флешку (Create Volume — Create a volume within a partition/drive — Hidden truecrypt volume — ???(подробнее завтра допилю)).
Осторожно, при этом находящиеся на флешке данные будут удалены, а не зашифрованы.
+
# Create Volume
+
# Create a volume within a partition/drive
+
# Hidden truecrypt volume
+
# Select drive
+
# Выбираем алгоритм хеширования и шифрования, лучше всего AES и SHA-512
+
# Задаём пароль посложнее или выбираем один или несколько ключевых файлов. Ключевой файл можно сгенерировать или выбрать в качестве такового любой файл или даже папку (в таком случае все находящиеся в ней файлы станут ключевыми).
+
# Жмём Format и начинаем быстро двигать мышкой, чем дольше — тем лучше
+
После окончания форматирования она будет автоматически смонтирована как /dev/mapper/truecryptX, где X — число от 1 до 50
+
 
Монтируем её через Select drive — Mount, правим /etc/fstab, предварительно переместив файлы сервера
 
Монтируем её через Select drive — Mount, правим /etc/fstab, предварительно переместив файлы сервера
* /dev/mapper/truecryptX /nginx ext4 defaults, nosuid, noexec, nodev 1 2
+
* /dev/mapper/truecrypt1 /nginx ext4 defaults, nosuid, noexec, nodev 1 2
 +
* Тут про запуск сервера из под KVM, допилю завтра.
 
* [http://sf.net/projects/selinuxnginx/ Дополнительная защита из под selinux-a]
 
* [http://sf.net/projects/selinuxnginx/ Дополнительная защита из под selinux-a]
 +
 
   # tar -zxvf se-ngix_1_0_10.tar.gz
 
   # tar -zxvf se-ngix_1_0_10.tar.gz
 
   # cd se-ngix_1_0_10/nginx
 
   # cd se-ngix_1_0_10/nginx
 
   # make
 
   # make
 
   # /usr/sbin/semodule -i nginx.pp
 
   # /usr/sbin/semodule -i nginx.pp
 
+
* PHP
=== LUKS ===
+
todo
+
 
+
== PHP ==
+
 
Если вы всё-таки решили использовать на вашем сайте язык PHP, что довольно опасно, то стоит настроить его должным образом.
 
Если вы всё-таки решили использовать на вашем сайте язык PHP, что довольно опасно, то стоит настроить его должным образом.
 
Редактируем файл /etc/php/php.ini
 
Редактируем файл /etc/php/php.ini
Строка 130: Строка 107:
 
   log_errors = On # логи
 
   log_errors = On # логи
 
   allow_url_fopen = Off
 
   allow_url_fopen = Off
 
+
* Скрываем сервер от внешнего интернета
== Создаём eepsite ==
+
  iptables -A INPUT -m state --state NEW -p tcp -s 127.0.0.1 --dport 80 -j ACCEPT
* Теперь, когда наш сервер достаточно защищён, создаём [http://127.0.0.1:7657/i2ptunnel/ серверные туннели] к http и https.
+
  iptables -A INPUT --dport 80 -j REJECT
* Там же отключаем неиспользуемые туннели, если таковые имеются.
+
Этим мы скроем наш сервер от всех подключений, кроме тех, что из I2P.
 +
Теперь, когда наш сервер достаточно защищён, создаём [http://127.0.0.1:7657/i2ptunnel/ серверные туннели] к http и https.
 +
Там же отключаем неиспользуемые туннели, если таковые имеются.
 
* Регистрация в DNS.
 
* Регистрация в DNS.
Заходим на сайт [http://stats.i2p stats.i2p] и регистрируемся там.
+
Заходим на сайт [stats.i2p] и регистрируемся там.
 
+
== Создаём onion site ==
+
* Устанавливаем TOR.
+
* Убедиться, что «SocksPort 0» (то есть тор работает только как сервер, а не как клиент).
+
* Редактируем /etc/tor/torrc: HiddenServiceDir и HiddenServicePort соответствуют папке с ключом к сайту и таблицей соответствия портов. По умолчанию несколько таких записей уже есть, но они закомментированы.
+
  HiddenServiceDir /var/lib/tor/hidden_service/
+
  HiddenServicePort 80 127.0.0.1:80
+
  HiddenServicePort 22 127.0.0.1:22
+
В этом примере проброшены 80 (HTTP) и 22 (SSH) порты. Для большей безопасности имеет смысл для SSH-сервера выделить отдельный onion site (на том же компьютере), дабы управление сайтом было сложнее соотнести с самим сайтом.
+
* Если есть публичный IP-адрес, имеет смысл поднять промежуточную ноду тора, чтобы запутать прослушивающих дополнительным трафиком:
+
  ORPort 9001
+
  ExitPolicy reject *:*
+
Имей в виду, что IP-адрес попадет в публичный [http://torstatus.blutmagie.de/ip_list_all.php/Tor_ip_list_ALL.csv список серверов тора]. Увеличится или уменьшится при этом риск — решать тебе.
+
* Перезапустить тор:
+
  /etc/init.d/tor reload
+
 
+
Есть [https://github.com/katmagic/Shallot программа] для создания ключей onion-сайта с именем, заданным шаблоном. Например, для «^lurkmore» может получиться «lurkmore77r3lur3.onion», если немного подождать.
+
  
 
== SSL ==
 
== SSL ==
Строка 166: Строка 128:
 
Пишем в nginx.conf:
 
Пишем в nginx.conf:
 
   server {
 
   server {
    listen 127.0.0.1:443;
 
 
     server_name localhost;
 
     server_name localhost;
 +
    listen 443;
 
     ssl on;
 
     ssl on;
 
     ssl_certificate /etc/nginx/server.crt;
 
     ssl_certificate /etc/nginx/server.crt;
Строка 174: Строка 136:
 
     error_log /etc/nginx/logs/ssl.error.log;
 
     error_log /etc/nginx/logs/ssl.error.log;
 
   }
 
   }
 
== TODO ==
 
* http://www.domains4bitcoins.com/ http://dot-bit.org
 
* VPS
 
* хостеры, принимающие [[bitcoin]]: http://www.bitvps.com/ https://en.bitcoin.it/wiki/Virtual_private_server
 
* bitcoin-анонимайзеры
 
* IRC и Jabber в даркнетах
 
* правка из hidden service
 

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии WTFPL public license (см. Urbanculture:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

Чтобы отредактировать эту страницу, пожалуйста, решите простой пример и введите ответ в текстовое поле (подробнее):

Отменить | Справка по редактированию  (в новом окне)