Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.
Редактирование Участник:Xlikam/Даркнеты
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
Тут будет различная информация о сабжах | Тут будет различная информация о сабжах | ||
Строка 9: | Строка 5: | ||
Что для этого необходимо: | Что для этого необходимо: | ||
− | # Зайти в [http://127.0.0.1:7657/i2ptunnel | + | # Зайти в менеджер туннелей [http://127.0.0.1:7657/i2ptunnel] |
# В появившемся окне менеджера нажать кнопку создать новый серверный туннель. | # В появившемся окне менеджера нажать кнопку создать новый серверный туннель. | ||
− | # Точка доступа: 127.0.0.1 | + | # Точка доступа: 127.0.0.1 Порт: 8118 (Для HTTP-proxy) или 9050 (прямое обращение к Tor) |
− | + | ||
# Сохраняем изменения. | # Сохраняем изменения. | ||
# ???? | # ???? | ||
Строка 18: | Строка 13: | ||
''Скриншоты потом вставлю.'' | ''Скриншоты потом вставлю.'' | ||
− | == | + | == Создаём защищённый eepsite == |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
В первую очередь нам понадобится веб-сервер. | В первую очередь нам понадобится веб-сервер. | ||
''Я выбрал nginx, так как считаю его наиболее безопасным.'' | ''Я выбрал nginx, так как считаю его наиболее безопасным.'' | ||
Итак, понеслась: | Итак, понеслась: | ||
− | + | # Скачиваем исходник последней стабильной версии [http://nginx.org/download], редактируем файл '''src/http/ngx_http_header_filter_module.c''' | |
− | Находим строчки | + | Находим строчки<br /> |
− | + | <code>static char ngx_http_server_string[] = «Server: nginx» CRLF;<br /> | |
− | + | static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;</code><br /> | |
− | и меняем их, к примеру, на: | + | и меняем их, к примеру, на:<br /> |
− | + | <code>static char ngx_http_server_string[] = «Secured webserver» CRLF;<br /> | |
− | + | static char ngx_http_server_full_string[] = «Server: Secured webserver 0.3» CRLF;</code> | |
− | + | Это осложнит определение настоящей версии сервера, что значительно повысит его безопасность. | |
− | + | # Собираем сервер, отключив ненужные модули (список всех модулей можно получить, запустив configure c флагом --help): | |
− | + | ## ./configure --without-http_autoindex_module --without-http_ssi_module | |
− | + | ## make | |
− | + | ## make install | |
− | + | # Конфигурируем сервер | |
− | + | # Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off» Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность. | |
− | + | ||
Теперь изменим таймаут для повышения производительности: | Теперь изменим таймаут для повышения производительности: | ||
− | + | <code>client_body_timeout 10;<br /> | |
− | + | client_header_timeout 10;<br /> | |
− | + | keepalive_timeout 5 5;<br /> | |
− | + | send_timeout 10;<br /></code> | |
− | + | Защитимся от переполнения буфера:<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 /> | |
− | Увеличим количество соединений с одного ip-адреса, так как обращаться к серверу будем только с адреса 127.0.0.1 | + | На всякий случай оставим только 3 метода обращения к серверу<br /> |
− | + | if ($request_method !~ ^(GET|HEAD|POST)$) <br /> | |
− | На всякий случай оставим только 3 метода обращения к серверу | + | {<br /> |
− | + | return 444;<br /> | |
− | + | }<br /> | |
− | + | ||
Устанавливаем пароль на нужные нам папки: | Устанавливаем пароль на нужные нам папки: | ||
− | + | <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 | |
− | Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом | + | Пишем в nginx.conf<br /> |
− | Скачиваем установщик truecrypta | + | 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, предварительно переместив файлы сервера | Монтируем её через 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, что довольно опасно, то стоит настроить его должным образом | |
− | + | ||
− | + | ||
− | Если вы всё-таки решили использовать на вашем сайте язык PHP, что довольно опасно, то стоит настроить его должным образом | + | |
Редактируем файл /etc/php/php.ini | Редактируем файл /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] и регистрируемся там. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |