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

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

Редактирование Участник: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, так как считаю его наиболее безопасным.''
 
Итак, понеслась:
 
Итак, понеслась:
* Скачиваем исходник последней стабильной версии [http://nginx.org/download], редактируем файл '''src/http/ngx_http_header_filter_module.c'''
+
# Скачиваем исходник последней стабильной версии [http://nginx.org/download], редактируем файл '''src/http/ngx_http_header_filter_module.c'''
Находим строчки:
+
Находим строчки<br />
  static char ngx_http_server_string[] = "Server: nginx" CRLF;
+
<code>static char ngx_http_server_string[] = «Server: nginx» CRLF;<br />
  static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
+
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;</code><br />
и меняем их, к примеру, на:
+
и меняем их, к примеру, на:<br />
  static char ngx_http_server_string[] = "Server: suckhttpd" CRLF;
+
<code>static char ngx_http_server_string[] = «Secured webserver» CRLF;<br />
  static char ngx_http_server_full_string[] = "Server: suckhttpd/1.0" CRLF;
+
static char ngx_http_server_full_string[] = «Server: Secured webserver 0.CRLF;</code>
Разумеется, вместо suckhttpd нужно подставить существующий сервер, желательно с большим количеством уязвимостей (старенький Apache или IIS самое то). Это осложнит определение настоящей версии сервера, взломщики потратят время на проверку сервера на наличие уязвимостей, которых у него может не быть.
+
Это осложнит определение настоящей версии сервера, что значительно повысит его безопасность.
 
+
# Собираем сервер, отключив ненужные модули (список всех модулей можно получить, запустив configure c флагом --help):
* Собираем сервер, отключив ненужные модули (список всех модулей можно получить, запустив configure c флагом --help):
+
## ./configure --without-http_autoindex_module --without-http_ssi_module
  # ./configure --without-http_autoindex_module --without-http_ssi_module
+
## make
  # make
+
## make install
  # make install
+
# Конфигурируем сервер
* Конфигурируем сервер
+
# Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off» Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность.
* Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off». Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность.
+
  
 
Теперь изменим таймаут для повышения производительности:
 
Теперь изменим таймаут для повышения производительности:
  client_body_timeout 10;
+
<code>client_body_timeout 10;<br />
  client_header_timeout 10;
+
client_header_timeout 10;<br />
  keepalive_timeout 5 5;
+
keepalive_timeout 5 5;<br />
  send_timeout 10;
+
send_timeout 10;<br /></code>
 
+
Защитимся от переполнения буфера:<br />
Защитимся от <del>переполнения буфера</del> (ЩИТО?):
+
client_body_buffer_size 1K;<br />
  client_body_buffer_size 1K;
+
client_header_buffer_size 1k; — увеличить, если сервер будет поддерживать загрузку файлов<br />
  client_header_buffer_size 1k; # увеличить, если сервер будет поддерживать загрузку файлов
+
client_max_body_size 1k;<br />
  client_max_body_size 1k;
+
large_client_header_buffers 2 1k;<br />
  large_client_header_buffers 2 1k;
+
Увеличим количество соединений с одного ip-адреса, так как обращаться к серверу будем только с адреса 127.0.0.1<br />
 
+
limit_conn slimits 40;<br />
Увеличим количество соединений с одного ip-адреса, так как обращаться к серверу будем только с адреса 127.0.0.1:
+
На всякий случай оставим только 3 метода обращения к серверу<br />
  limit_conn slimits 40;
+
if ($request_method !~ ^(GET|HEAD|POST)$) <br />
На всякий случай оставим только 3 метода обращения к серверу (кому хватит меньше, можно оставить меньше):
+
{<br />
  if ($request_method !~ ^(GET|HEAD|POST)$) {
+
return 444;<br />
    return 444;
+
}<br />
  }
+
 
Устанавливаем пароль на нужные нам папки:
 
Устанавливаем пароль на нужные нам папки:
  # mkdir /etc/nginx/htpasswd
+
<br /># mkdir /etc/nginx/.htpasswd<br />
  # htpasswd -c /etc/nginx/htpasswd/passwd user1 # создаём файл паролей для пользователя user1
+
# htpasswd -c /etc/nginx/.htpasswd/passwd user1 — создаём файл паролей для пользователя user1
 
Добавляем в nginx.conf
 
Добавляем в nginx.conf
  location /private/ {
+
<br />location /private/
    auth_basic "Restricted";
+
<br />{
    auth_basic_user_file /etc/nginx/htpasswd/passwd;
+
<br />auth_basic «Restricted»;
  }
+
<br />auth_basic_user_file /etc/nginx/.htpasswd/passwd;
 
+
<br />}
* Скрываем сервер от внешнего интернета. Для этого нужно проследить, чтобы в настройках сайта везде было <code>listen 127.0.0.1:80</code>, а не <code>listen 0.0.0.0:80</code> или <code>listen 80</code> (то же самое для порта 443). Можно дополнительно заблокировать порт 80 через iptables (эффект пропадает при перезагрузке):
+
<br />
  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
+
  
== Шифрование диска ==
+
Перезагружаем сервер:
=== Truecrypt ===
+
<br />/etc/init.d/nginx reload
Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом.
+
<br />Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом
Скачиваем установщик truecrypta [http://www.truecrypt.org/downloads отсюда].
+
<br />Скачиваем установщик truecrypta отсюда — http://www.truecrypt.org/downloads
Устанавливаем, запускаем, форматируем флешку для работы с truecrypt-ом.
+
<br />Устанавливаем, запускаем, шифруем флешку (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
+
<br />/dev/mapper/truecrypt1 /nginx ext4 defaults, nosuid, noexec, nodev 1 2
* [http://sf.net/projects/selinuxnginx/ Дополнительная защита из под selinux-a]
+
<br />5. Тут про запуск сервера из под KVM, допилю завтра.
  # tar -zxvf se-ngix_1_0_10.tar.gz
+
<br />6. Дополнительная защита из под selinux-a — http://sf.net/projects/selinuxnginx/
  # cd se-ngix_1_0_10/nginx
+
# tar -zxvf se-ngix_1_0_10.tar.gz
  # make
+
# cd se-ngix_1_0_10/nginx
  # /usr/sbin/semodule -i nginx.pp
+
# make
 
+
# /usr/sbin/semodule -i nginx.pp
=== LUKS ===
+
7. PHP<br />
todo
+
Если вы всё-таки решили использовать на вашем сайте язык PHP, что довольно опасно, то стоит настроить его должным образом
 
+
== PHP ==
+
Если вы всё-таки решили использовать на вашем сайте язык PHP, что довольно опасно, то стоит настроить его должным образом.
+
 
Редактируем файл /etc/php/php.ini
 
Редактируем файл /etc/php/php.ini
  disable_functions = phpinfo, system, mail, exec # отключение опасных функций
+
<br />disable_functions = phpinfo, system, mail, exec — отключение опасных функций
  max_execution_time = 10
+
<br />max_execution_time = 10
  max_input_time = 60
+
<br />max_input_time = 60
  memory_limit = 8M
+
<br />memory_limit = 8M
  post_max_size = 8M
+
<br />post_max_size = 8M
  upload_max_filesize = 2M
+
<br />upload_max_filesize = 2M
  display_errors = Off
+
<br />display_errors = Off
  safe_mode = On
+
<br />safe_mode = On
  sql.safe_mode = On
+
<br />sql.safe_mode = On
  safe_mode_exec_dir = /secured/ # путь к каталогу, из которого можно выполнять внешние команды
+
<br />safe_mode_exec_dir = /secured/ — путь к каталогу, из которого можно выполнять внешние команды
  expose_php = Off
+
<br />expose_php = Off
  log_errors = On # логи
+
<br />log_errors = On — логи
  allow_url_fopen = Off
+
<br />allow_url_fopen = Off
 
+
<br />8. Скрываем сервер от внешнего интернета
== Создаём eepsite ==
+
<br />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.
+
<br />iptables -A INPUT --dport 80 -j REJECT
* Там же отключаем неиспользуемые туннели, если таковые имеются.
+
<br />Этим мы скроем наш сервер от всех подключений, кроме тех, что из I2P.
* Регистрация в DNS.
+
<br />Теперь, когда наш сервер достаточно защищён, создаём [http://127.0.0.1:7657/i2ptunnel/ серверные туннели] к http и https.
Заходим на сайт [http://stats.i2p stats.i2p] и регистрируемся там.
+
Там же отключаем неиспользуемые туннели, если таковые имеются.
 
+
10. Регистрация в DNS.
== Создаём onion site ==
+
Заходим на сайт [stats.i2p] и регистрируемся там.
* Устанавливаем 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 ==
 
Для пущей паранойи можно использовать SSL (в принципе, данные так надежно шифруются, что на пути между клиентом и скрытым сайтом их невозможно прочитать или подменить). Но SSL не повредит, от греха подальше.
 
Для пущей паранойи можно использовать SSL (в принципе, данные так надежно шифруются, что на пути между клиентом и скрытым сайтом их невозможно прочитать или подменить). Но SSL не повредит, от греха подальше.
 
+
<br />
 
Создаём сертификат:
 
Создаём сертификат:
  # cd /etc/nginx
+
# cd /etc/nginx
  # openssl genrsa -des3 -out server.key 1024
+
# openssl genrsa -des3 -out server.key 1024
  # openssl req -new -key server.key -out server.csr
+
# openssl req -new -key server.key -out server.csr
  # cp server.key server.key.org
+
# cp server.key server.key.org
  # openssl rsa -in server.key.org -out server.key
+
# openssl rsa -in server.key.org -out server.key
  # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
+
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Пишем в nginx.conf:
+
Пишем в nginx.conf<br />
  server {
+
server {<br />
    listen 127.0.0.1:443;
+
server_name localhost;<br />
    server_name localhost;
+
listen 443;<br />
    ssl on;
+
ssl on;<br />
    ssl_certificate /etc/nginx/server.crt;
+
ssl_certificate /etc/nginx/server.crt;<br />
    ssl_certificate_key /etc/nginx/server.key;
+
ssl_certificate_key /etc/nginx/server.key;<br />
    access_log /etc/nginx/logs/ssl.access.log;
+
access_log /etc/nginx/logs/ssl.access.log;<br />
    error_log /etc/nginx/logs/ssl.error.log;
+
error_log /etc/nginx/logs/ssl.error.log;<br />
  }
+
}<br />
 
+
== 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:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

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

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