Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.
Редактирование Участник:Xlikam/Даркнеты
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
Тут будет различная информация о сабжах | Тут будет различная информация о сабжах | ||
Строка 20: | Строка 16: | ||
== Утилиты командной строки через TOR == | == Утилиты командной строки через TOR == | ||
Зайти по ssh на обычный сервер: | Зайти по ssh на обычный сервер: | ||
− | ssh -o ProxyCommand='connect - | + | 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/ | ||
− | == | + | == Создаём защищённый eepsite == |
В первую очередь нам понадобится веб-сервер. | В первую очередь нам понадобится веб-сервер. | ||
''Я выбрал nginx, так как считаю его наиболее безопасным.'' | ''Я выбрал nginx, так как считаю его наиболее безопасным.'' | ||
Строка 52: | Строка 48: | ||
# make install | # make install | ||
* Конфигурируем сервер | * Конфигурируем сервер | ||
− | * Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off» | + | * Открываем файл /etc/nginx/nginx.conf и добавляем в него строчку «server_tokens off» Это скроет информацию о версии и типе сервера на страницах, отображаемых при ошибочный запросах клиента, что дополнительно повысит его безопасность. |
Теперь изменим таймаут для повышения производительности: | Теперь изменим таймаут для повышения производительности: | ||
Строка 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; | |
− | На всякий случай оставим только 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; |
} | } | ||
− | + | Перезагружаем сервер: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
/etc/init.d/nginx reload | /etc/init.d/nginx reload | ||
− | |||
− | |||
− | |||
Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом. | Для ещё большей паранойи разместим каталог сервера на отдельном разделе диска или даже флешке, шифрованном truecrypt-ом. | ||
Скачиваем установщик truecrypta [http://www.truecrypt.org/downloads отсюда]. | Скачиваем установщик truecrypta [http://www.truecrypt.org/downloads отсюда]. | ||
− | Устанавливаем, запускаем, | + | Устанавливаем, запускаем, шифруем флешку (Create Volume — Create a volume within a partition/drive — Hidden truecrypt volume — ???(подробнее завтра допилю)). |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Монтируем её через Select drive — Mount, правим /etc/fstab, предварительно переместив файлы сервера | Монтируем её через Select drive — Mount, правим /etc/fstab, предварительно переместив файлы сервера | ||
− | * /dev/mapper/ | + | * /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 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Если вы всё-таки решили использовать на вашем сайте язык 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 | ||
− | + | * Скрываем сервер от внешнего интернета. Для этого нужно проследить, чтобы в настройках сайта было <code>server_name localhost</code>, а не <code>server_name 0.0.0.0</code>. Можно дополнительно заблокировать порт 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 | |
− | + | Этим мы скроем наш сервер от всех подключений, кроме тех, что из I2P. | |
+ | Теперь, когда наш сервер достаточно защищён, создаём [http://127.0.0.1:7657/i2ptunnel/ серверные туннели] к http и https. | ||
+ | Там же отключаем неиспользуемые туннели, если таковые имеются. | ||
* Регистрация в DNS. | * Регистрация в DNS. | ||
− | Заходим на сайт [ | + | Заходим на сайт [stats.i2p] и регистрируемся там. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== SSL == | == SSL == | ||
Строка 166: | Строка 128: | ||
Пишем в nginx.conf: | Пишем в nginx.conf: | ||
server { | server { | ||
− | |||
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; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |