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