Введение
Продолжение моих статей
Пошаговое руководство по настройке безопасного веб-сервера для скрытой службы в сети TOR. Безопасность вашего VPS сервера - это безопасность всех его пользователей.
Требования
Dedicated server или VPS с минимальной установленной версией Debian> = 8.
Оптимальные параметры для комфортной работы: процессор 1 ГГц, оперативная память 512 МБ, жесткий диск 6 ГБ.
Рекомендуемые параметры: двухъядерный процессор> = 2 ГГц, оперативная память> = 1024, жесткий диск SSD 10GB.
Различные типы серверов по привлекательным ценам вы найдете на просторах интернета.
Советы
Это руководство предназначено для настройки веб-сервера в сети Tor, чтобы пользователям была предоставлена базовая защита и чтобы служба не подвергалась атаке или закрытию.
Безопасность VPS сервера - это еще не все. Важно сохранить анонимность администратора и расположение сервера. Анонимность и хорошая конфигурация предоставляют нам достаточную конфиденциальность и следовательно повышают уровень безопасности. При выборе сервера следует обратить внимание на его параметры, местоположение и способность выполнять платеж в валюте Биткойн. Купите биткойны на любом валютном рынке, а затем отмывайте их, используя специальные сервисы.
Подключитесь к своей странице и панели администратора своего сервера с помощью TorBrowser. Лучшее решение - это Whonix или Tails. Подходящим местом для сервера является страна за пределами ЕС или, если у вас нет денег, тогда места с сильным акцентом на информационную безопасность и затрудняющим быстрый доступ к данным.
Вы подключитесь к вашему серверу, используя протокол SSH, поэтому лучшим решением будет Whonix WorkStation + Whonix Gateway.
Никогда не сообщайте свою личность при подключении к серверу и панели администратора. Чтобы купить сервер не давайте истинной информации.
[doublepost=1489070323,1489069639][/doublepost]Вход и базовая конфигурация
В качестве примеров приводятся такие параметры, как порт, имя пользователя, база данных, пароли. Рекомендую, чтобы в вашей конфигурации были введены ваши параметры и придерживайтесь их в течение всей настройки.
Исходные настройки
Первое подключение
Изменение пароля root
Обновление системы
Установка основных пакетов
Настройка языка
выбрать:
en_US.UTF-8 UTF-8
Конфигурация часовых поясов
выбрать:
None of the above->UTC
Удаление ненужных приложений по умолчанию
Редактирование репозиториев
Список должен выглядеть примерно так:
Создание пользователя
Добавление пользователя в sudo
Следующая команда отредактирует список пользователей и их возможности.
Найти запись:
Добавить в:
Смена хоста (необязательно)
Motd (необязательно)
Issue.net (необязательно)
Issue.net и MOTD не должны содержать подробную информацию о пользователе или сессии!
Удалить # перед строкой:
Banner /etc/issue.net
Отключение входа от root
nano /etc/ssh/sshd_config
Удалите # перед строкой и установите «нет»:
PermitRootLogin no
Изменить порт SSH
nano /etc/ssh/sshd_config
Изменить порт с 22 на 2282
Port 2282
Перезапустить SSH
service sshd restart
Выход и вход
ssh user_name@ip_address -p 2282
Базовая защита сервера
Portsentry
sudo nano /etc/portsentry/portsentry.conf
По умолчанию:
# Use these if you just want to be aware:
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,313
37,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,327
74,31337,54321"
Выше удалите # перед строкой:
# Un-comment these if you are really anal:
TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,20
00,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034,27665,30303,32771,32772,32773,32774,313
37,40421,40425,49724,54320"
UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,
27444,34555,32770,32771,32772,32773,32774,31337,54321"
В этом же файле задайте другие параметры:
BLOCK_UDP="1"
BLOCK_TCP="1"
Удалить # перед строкой:
KILL_HOSTS_DENY="ALL: $TARGET$"
Удалить # перед строкой:
PORT_BANNER="..."
Проверьте, кто уже пытался войти в систему:
sudo cat /var/log/auth.log | grep 'sshd.*Invalid'
Не хорошо, правда? Хакеры пытаются атаковать ваш VPS. Через несколько минут в сети VPS, боты пытаясь сканировать открытые порты и атаковать их, используют атаку типа bruteforce или по словарю.
Fail2ban
cd /etc/fail2ban
cp -v jail.conf jail.local
sudo nano /etc/fail2ban/jail.local
Игнорируемые IP-адреса, разделенные пробелами:
ignoreip = 127.0.0.1 your_ip_address
Время запрета (например, час):
bantime = 3600
Раздел [SSH]
Изменить:
port = ssh
на
port = 2282
Перезапустить fail2ban:
sudo /etc/init.d/fail2ban restart
[doublepost=1489070370][/doublepost]Tor и скрытые сервисы
Установка и настройка
Добавить репозитории для Tor:
sudo nano /etc/apt/sources.list
Добавить:
deb
deb-src
Также ключи:
gpg --keyserver keys.gnupg.net --recv 886DDD89
и
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
Установка Tor:
sudo apt-get update && sudo apt-get install tor tor-arm
Конфигурация Tor:
sudo nano /etc/tor/torrc
Задать:
SOCKSPort 0
Удалить # перед строкой:
RunAsDaemon 1
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8123
Не забудьте установить собственный порт, например: 8123
Onion домен
Когда вы настроите Tor как указано выше, адрес в домене .onion будет автоматически добавлен для веб-служб в папку:
/var/lib/tor/hidden_service/
Вы найдете два файла: hostname и private_key. Первый содержит onion адрес, назначенный скрытому сервису, второй - закрытый ключ, который подтверждает, что вы владеете этим onion адресом. Не передавайте эти файлы кому-либо и создайте их копию в надежном месте. Если вы измените сервер, будете иметь возможность опубликовать все снова по тому же адресу. Для генерации произвольного адреса используйте Shallot.
Установка веб-сервера + PHP + MySQL
MySQL
Установка и настройка базы данных
Установка базы данных:
apt-get install mysql-server mysql-client
Во время установки вам необходимо назначить пароль root для БД:
New password for the MySQL "root" user: password_for_root
Repeat password for the MySQL "root" user: repeat_password_for_root
Если вас не спросили, вы должны установить его самостоятельно:
sudo mysqladmin -u root -h localhost -p
Создание базы данных
sudo mysqladmin create database_name -u root -p
Создание пользователя базы данных и добавление прав пользователя во вновь созданную базу данных:
sudo mysql -u root -p
Enter password: root_password
mysql> USE mysql;
mysql> INSERT INTO user set Host='localhost', User='user_name',
Password=PASSWORD('user_password');
mysql> FLUSH PRIVILEGES;
mysql> GRANT Select,Insert,Update,Delete,Create,Drop ON database_name.* TO user_name@localhost;
mysql> FLUSH PRIVILEGES;
Другие полезные команды для MySQL
Вход в определенную базу данных:
mysql -u root -p DATABASE_NAME
Удаление базы данных:
mysql> drop database DATABASE_NAME;
Просмотр существующих баз данных:
mysql> show databases;
Проверка базы данных:
mysql> check table example.table;
Восстановление базы данных:
mysql> repair table example.table;
Проверка базы данных:
mysqlcheck -u user_name -p password
Устранение неисправностей и ремонт:
mysqlcheck -u user_name -p --auto-repair
Выход из консоли:
mysql> quit
Архивация базы данных
sudo mysqldump -u root -p DATABASE_NAME > DATABASE_NAME.sql
Восстановить:
sudo mysql -u root -p DATABASE_NAME < DATABASE_NAME.sql
[doublepost=1489070416][/doublepost]WWW
Сервер Lighttpd
sudo apt-get install lighttpd
Местоположение файлов по умолчанию для страницы:
/var/www
Отредактируйте файл конфигурации:
sudo nano /etc/lighttpd/lighttpd.conf
Рекомендуется изменить порт на:
server.port= 8123
PHP
Установка и настройка PHP7
Если вы хотите использовать версию 5, то во всех командах измените значение 7 на 5.
sudo apt-get install php7.0-fpm php7.0
Обработка PHP для Lighttpd:
sudo nano /etc/php/7.0/fpm/php.ini
Изменить:
cgi.fix_pathinfo=0
на:
Активация PHP-FPM:
cd /etc/lighttpd/conf-available/
sudo cp 15-fastcgi-php.conf 15-fastcgi-php.conf.bak
sudo nano 15-fastcgi-php.conf
Измените часть конфигурации так, чтобы она выглядела так:
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
#
## Start an FastCGI server for php (needs the php7.0-cgi package)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php/php7.0-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Включите конфигурацию fastcgi:
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
sudo ls -l /etc/lighttpd/conf-enabled
Перезапустить сервер Lighttpd:
sudo service lighhtpd restart
Конфигурацию PHP можно проверить, создав файл:
sudo nano /var/www/info.php
Содержимое файла:
<?php
phpinfo();
?>
Перейдите на свою страницу по этому файлу в своем браузере, чтобы увидеть и проверить конфигурацию.
Не забудьте удалить файл с сервера после завершения тестирования.
Стоит установить необходимые модули, такие как поддержка MySQL для PHP.
sudo apt-get -y install php7.0-mysql
Или посмотрите на это:
sudo apt-cache search php7.0
Пример установки модулей:
sudo apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap
php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc
php7.0-xsl php7.0-mbstring php-gettext
Еще один модуль должен быть установлен:
sudo apt-get -y install php-apcu
Перезагрузите сервер FPM и Lighttpd:
sudo service php7.0-fpm reload
sudo service lighttpd reload
[doublepost=1489070457][/doublepost]Поддержка контактной формы
В сети Tor после настройки по умолчанию функции веб-сервера PHP mail не работает,
поэтому любая контактная форма или другое уведомление с сайта не будет работать. Сервер
сам также не сможет присылать нам информацию и всевозможные сообщения об ошибках и нарушения правил безопасности.
Когда будут отправляться сообщения по умолчанию, это может быть простой способ получить информацию о местоположении сервера.
Например путем извлечения подробной информации из заголовка сообщения.
Здесь приходит на помощь Service SSMTP. Не забудьте выбрать поставщика услуг безопасной электронной почты, например Riseup.
Установка:
sudo apt-get install ssmtp
Конфигурация:
sudo nano /etc/ssmtp/ssmtp.conf
Конфигурационный файл для адреса your_address@email.net:
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=your_address@email.net
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail.email.net:25
# Where will the mail seem to come from?
rewriteDomain=email.net
# The full hostname
hostname=your_address@email.net
UseTLS=Yes
UseSTARTTLS=Yes
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=your_username
AuthPass=password_for_mailbox
Основная почта для сервера:
Отправка тестового сообщения:
Конфигурация php.ini:
Изменить строку, она должна выглядеть так:
Брандмауэр
Соответствующие записи в конфигурации Lighttpd, введенные в предыдущих главах и простая конфигурация брандмауэра UFW позволит отразить стандартные атаки DoS/DDoS и увеличить уровень безопасности нашего сервера.
Установка и настройка UFW
Установка:
sudo apt-get install ufw
Статус проверки:
sudo ufw status
Результат:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Введя параметры по умолчанию для входящего трафика, заблокируйте все:
sudo ufw default deny incoming
Для исходящего трафика, разрешение на все:
sudo ufw default allow outgoing
Разрешение на подключение к SSH по ранее настроенному порту:
sudo ufw allow 2282/tcp
Также доступ к веб-серверу по предварительно сконфигурированному порту:
sudo ufw allow 8123/tcp
Включение защиты от открытия всех возможных портов:
sudo nano /etc/ufw/before.rules
После строк:
# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines
добавьте:
# Limit to 10 concurrent connections on port 80 per IP
-A ufw-before-input -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP
и:
# Limit to 20 connections on port 80 per 2 seconds per IP
-A ufw-before-input -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A ufw-before-input -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 2 --hitcount
20 -j DROP
Запуск межсетевого экрана:
sudo ufw enable
Проверка брандмауэра и настроенных сервисов:
sudo ufw status
Дополнительная информация
Управление базой данных
Не устанавливайте и не используйте phpMyAdmin, только излишне подвергать сервер атаке.
За каждую дополнительную услугу на сервере в сети Tor возникает дополнительная возможность нарушения
безопасности. Наиболее предпочтительным и безопасным способом управления базой данных на сервере будет использование
DBeaver
А также позволяет вам подключаться через SSH. Можно установить на Whonix Workstation.
Загрузка файлов на сервер
Для загрузки файлов на сервер используйте shell-соединение или sFTP, используя Midnight Commander. Помещение FTP-сервера в сеть Tor, как в случае с phpMyAdmin, является еще одной уязвимостью для атак. И FTP-сервер и PhpMyAdmin можно безопасно настроить. Но зачем искушать судьбу. Выберите в MC Left> SFTP connection... или Shell-connection...
Предоставьте свою регистрационную информацию, подключите и поместите пароль. Перемещение файлов между локальным компьютером и сервером вы должны использовать так:
Движок
Неважно, как вы защищаете сервер, если используете плохо написанный блог или форум, то взлом на сервере для заинтересованного лица не займет много времени. Всегда обновляйте свой движек до последней версии. Проанализируйте, какие плагины вы устанавливаете. Используйте антиспамовые системы. Сеть Tor - медленная, поэтому не создавайте красивых цветные страницы с миллионами орнаментов. Люди, посещающие скрытые службы, ориентированы на содержание, а не на красоту.
[doublepost=1489071476][/doublepost]P. S. Это последняя статья из этого цикла.
Продолжение моих статей
Пошаговое руководство по настройке безопасного веб-сервера для скрытой службы в сети TOR. Безопасность вашего VPS сервера - это безопасность всех его пользователей.
Требования
Dedicated server или VPS с минимальной установленной версией Debian> = 8.
Оптимальные параметры для комфортной работы: процессор 1 ГГц, оперативная память 512 МБ, жесткий диск 6 ГБ.
Рекомендуемые параметры: двухъядерный процессор> = 2 ГГц, оперативная память> = 1024, жесткий диск SSD 10GB.
Различные типы серверов по привлекательным ценам вы найдете на просторах интернета.
Советы
Это руководство предназначено для настройки веб-сервера в сети Tor, чтобы пользователям была предоставлена базовая защита и чтобы служба не подвергалась атаке или закрытию.
Безопасность VPS сервера - это еще не все. Важно сохранить анонимность администратора и расположение сервера. Анонимность и хорошая конфигурация предоставляют нам достаточную конфиденциальность и следовательно повышают уровень безопасности. При выборе сервера следует обратить внимание на его параметры, местоположение и способность выполнять платеж в валюте Биткойн. Купите биткойны на любом валютном рынке, а затем отмывайте их, используя специальные сервисы.
Подключитесь к своей странице и панели администратора своего сервера с помощью TorBrowser. Лучшее решение - это Whonix или Tails. Подходящим местом для сервера является страна за пределами ЕС или, если у вас нет денег, тогда места с сильным акцентом на информационную безопасность и затрудняющим быстрый доступ к данным.
Вы подключитесь к вашему серверу, используя протокол SSH, поэтому лучшим решением будет Whonix WorkStation + Whonix Gateway.
Никогда не сообщайте свою личность при подключении к серверу и панели администратора. Чтобы купить сервер не давайте истинной информации.
[doublepost=1489070323,1489069639][/doublepost]Вход и базовая конфигурация
В качестве примеров приводятся такие параметры, как порт, имя пользователя, база данных, пароли. Рекомендую, чтобы в вашей конфигурации были введены ваши параметры и придерживайтесь их в течение всей настройки.
Исходные настройки
Первое подключение
Код:
ssh root@ip_address
Код:
passwd
Код:
apt-get update && apt-get dist-upgrade
Код:
apt-get install aptitude nano mc htop iftop sudo fail2ban portsentry
Код:
dpkg-reconfigure locales
en_US.UTF-8 UTF-8
Конфигурация часовых поясов
Код:
dpkg-reconfigure tzdata
None of the above->UTC
Удаление ненужных приложений по умолчанию
Код:
apt-get purge exim4 exim4-base exim4-config mutt procmail
Код:
nano /etc/apt/sources.list
Код:
deb http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie main
deb http://httpredir.debian.org/debian jessie-updates main
deb-src http://httpredir.debian.org/debian jessie-updates main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
Код:
adduser user_name
Код:
usermod -g sudo user_name
Код:
visudo
Код:
root ALL=(ALL:ALL) ALL
Код:
user_name ALL=(ALL:ALL) ALL
Код:
nano /etc/hosts
Код:
nano /etc/motd
Код:
nano /etc/issue.net
nano /etc/ssh/sshd_config
Удалить # перед строкой:
Banner /etc/issue.net
Отключение входа от root
nano /etc/ssh/sshd_config
Удалите # перед строкой и установите «нет»:
PermitRootLogin no
Изменить порт SSH
nano /etc/ssh/sshd_config
Изменить порт с 22 на 2282
Port 2282
Перезапустить SSH
service sshd restart
Выход и вход
ssh user_name@ip_address -p 2282
Базовая защита сервера
Portsentry
sudo nano /etc/portsentry/portsentry.conf
По умолчанию:
# Use these if you just want to be aware:
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,313
37,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,327
74,31337,54321"
Выше удалите # перед строкой:
# Un-comment these if you are really anal:
TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,20
00,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034,27665,30303,32771,32772,32773,32774,313
37,40421,40425,49724,54320"
UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,
27444,34555,32770,32771,32772,32773,32774,31337,54321"
В этом же файле задайте другие параметры:
BLOCK_UDP="1"
BLOCK_TCP="1"
Удалить # перед строкой:
KILL_HOSTS_DENY="ALL: $TARGET$"
Удалить # перед строкой:
PORT_BANNER="..."
Проверьте, кто уже пытался войти в систему:
sudo cat /var/log/auth.log | grep 'sshd.*Invalid'
Не хорошо, правда? Хакеры пытаются атаковать ваш VPS. Через несколько минут в сети VPS, боты пытаясь сканировать открытые порты и атаковать их, используют атаку типа bruteforce или по словарю.
Fail2ban
cd /etc/fail2ban
cp -v jail.conf jail.local
sudo nano /etc/fail2ban/jail.local
Игнорируемые IP-адреса, разделенные пробелами:
ignoreip = 127.0.0.1 your_ip_address
Время запрета (например, час):
bantime = 3600
Раздел [SSH]
Изменить:
port = ssh
на
port = 2282
Перезапустить fail2ban:
sudo /etc/init.d/fail2ban restart
[doublepost=1489070370][/doublepost]Tor и скрытые сервисы
Установка и настройка
Добавить репозитории для Tor:
sudo nano /etc/apt/sources.list
Добавить:
deb
Ссылка скрыта от гостей
jessie maindeb-src
Ссылка скрыта от гостей
jessie mainТакже ключи:
gpg --keyserver keys.gnupg.net --recv 886DDD89
и
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
Установка Tor:
sudo apt-get update && sudo apt-get install tor tor-arm
Конфигурация Tor:
sudo nano /etc/tor/torrc
Задать:
SOCKSPort 0
Удалить # перед строкой:
RunAsDaemon 1
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8123
Не забудьте установить собственный порт, например: 8123
Onion домен
Когда вы настроите Tor как указано выше, адрес в домене .onion будет автоматически добавлен для веб-служб в папку:
/var/lib/tor/hidden_service/
Вы найдете два файла: hostname и private_key. Первый содержит onion адрес, назначенный скрытому сервису, второй - закрытый ключ, который подтверждает, что вы владеете этим onion адресом. Не передавайте эти файлы кому-либо и создайте их копию в надежном месте. Если вы измените сервер, будете иметь возможность опубликовать все снова по тому же адресу. Для генерации произвольного адреса используйте Shallot.
Установка веб-сервера + PHP + MySQL
MySQL
Установка и настройка базы данных
Установка базы данных:
apt-get install mysql-server mysql-client
Во время установки вам необходимо назначить пароль root для БД:
New password for the MySQL "root" user: password_for_root
Repeat password for the MySQL "root" user: repeat_password_for_root
Если вас не спросили, вы должны установить его самостоятельно:
sudo mysqladmin -u root -h localhost -p
Создание базы данных
sudo mysqladmin create database_name -u root -p
Создание пользователя базы данных и добавление прав пользователя во вновь созданную базу данных:
sudo mysql -u root -p
Enter password: root_password
mysql> USE mysql;
mysql> INSERT INTO user set Host='localhost', User='user_name',
Password=PASSWORD('user_password');
mysql> FLUSH PRIVILEGES;
mysql> GRANT Select,Insert,Update,Delete,Create,Drop ON database_name.* TO user_name@localhost;
mysql> FLUSH PRIVILEGES;
Другие полезные команды для MySQL
Вход в определенную базу данных:
mysql -u root -p DATABASE_NAME
Удаление базы данных:
mysql> drop database DATABASE_NAME;
Просмотр существующих баз данных:
mysql> show databases;
Проверка базы данных:
mysql> check table example.table;
Восстановление базы данных:
mysql> repair table example.table;
Проверка базы данных:
mysqlcheck -u user_name -p password
Устранение неисправностей и ремонт:
mysqlcheck -u user_name -p --auto-repair
Выход из консоли:
mysql> quit
Архивация базы данных
sudo mysqldump -u root -p DATABASE_NAME > DATABASE_NAME.sql
Восстановить:
sudo mysql -u root -p DATABASE_NAME < DATABASE_NAME.sql
[doublepost=1489070416][/doublepost]WWW
Сервер Lighttpd
sudo apt-get install lighttpd
Местоположение файлов по умолчанию для страницы:
/var/www
Отредактируйте файл конфигурации:
sudo nano /etc/lighttpd/lighttpd.conf
Рекомендуется изменить порт на:
server.port= 8123
PHP
Установка и настройка PHP7
Если вы хотите использовать версию 5, то во всех командах измените значение 7 на 5.
sudo apt-get install php7.0-fpm php7.0
Обработка PHP для Lighttpd:
sudo nano /etc/php/7.0/fpm/php.ini
Изменить:
cgi.fix_pathinfo=0
на:
Активация PHP-FPM:
cd /etc/lighttpd/conf-available/
sudo cp 15-fastcgi-php.conf 15-fastcgi-php.conf.bak
sudo nano 15-fastcgi-php.conf
Измените часть конфигурации так, чтобы она выглядела так:
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
#
Ссылка скрыта от гостей
## Start an FastCGI server for php (needs the php7.0-cgi package)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php/php7.0-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Включите конфигурацию fastcgi:
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
sudo ls -l /etc/lighttpd/conf-enabled
Перезапустить сервер Lighttpd:
sudo service lighhtpd restart
Конфигурацию PHP можно проверить, создав файл:
sudo nano /var/www/info.php
Содержимое файла:
<?php
phpinfo();
?>
Перейдите на свою страницу по этому файлу в своем браузере, чтобы увидеть и проверить конфигурацию.
Не забудьте удалить файл с сервера после завершения тестирования.
Стоит установить необходимые модули, такие как поддержка MySQL для PHP.
sudo apt-get -y install php7.0-mysql
Или посмотрите на это:
sudo apt-cache search php7.0
Пример установки модулей:
sudo apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap
php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc
php7.0-xsl php7.0-mbstring php-gettext
Еще один модуль должен быть установлен:
sudo apt-get -y install php-apcu
Перезагрузите сервер FPM и Lighttpd:
sudo service php7.0-fpm reload
sudo service lighttpd reload
[doublepost=1489070457][/doublepost]Поддержка контактной формы
В сети Tor после настройки по умолчанию функции веб-сервера PHP mail не работает,
поэтому любая контактная форма или другое уведомление с сайта не будет работать. Сервер
сам также не сможет присылать нам информацию и всевозможные сообщения об ошибках и нарушения правил безопасности.
Когда будут отправляться сообщения по умолчанию, это может быть простой способ получить информацию о местоположении сервера.
Например путем извлечения подробной информации из заголовка сообщения.
Здесь приходит на помощь Service SSMTP. Не забудьте выбрать поставщика услуг безопасной электронной почты, например Riseup.
Установка:
sudo apt-get install ssmtp
Конфигурация:
sudo nano /etc/ssmtp/ssmtp.conf
Конфигурационный файл для адреса your_address@email.net:
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=your_address@email.net
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail.email.net:25
# Where will the mail seem to come from?
rewriteDomain=email.net
# The full hostname
hostname=your_address@email.net
UseTLS=Yes
UseSTARTTLS=Yes
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=your_username
AuthPass=password_for_mailbox
Основная почта для сервера:
Код:
sudo nano /etc/ssmtp/revaliases
# sSMTP aliases
#
# Format:
local_account:eek:utgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
www-data:your_address@email.net:mail.email.net:25
Код:
echo test | sudo ssmtp -s "test" test@host.tld
Код:
sudo nano /etc/php7/cgi/php.ini
Код:
sendmail_path = /usr/sbin/ssmtp -t
Соответствующие записи в конфигурации Lighttpd, введенные в предыдущих главах и простая конфигурация брандмауэра UFW позволит отразить стандартные атаки DoS/DDoS и увеличить уровень безопасности нашего сервера.
Установка и настройка UFW
Установка:
sudo apt-get install ufw
Статус проверки:
sudo ufw status
Результат:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Введя параметры по умолчанию для входящего трафика, заблокируйте все:
sudo ufw default deny incoming
Для исходящего трафика, разрешение на все:
sudo ufw default allow outgoing
Разрешение на подключение к SSH по ранее настроенному порту:
sudo ufw allow 2282/tcp
Также доступ к веб-серверу по предварительно сконфигурированному порту:
sudo ufw allow 8123/tcp
Включение защиты от открытия всех возможных портов:
sudo nano /etc/ufw/before.rules
После строк:
# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines
добавьте:
# Limit to 10 concurrent connections on port 80 per IP
-A ufw-before-input -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP
и:
# Limit to 20 connections on port 80 per 2 seconds per IP
-A ufw-before-input -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A ufw-before-input -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 2 --hitcount
20 -j DROP
Запуск межсетевого экрана:
sudo ufw enable
Проверка брандмауэра и настроенных сервисов:
sudo ufw status
Дополнительная информация
Управление базой данных
Не устанавливайте и не используйте phpMyAdmin, только излишне подвергать сервер атаке.
За каждую дополнительную услугу на сервере в сети Tor возникает дополнительная возможность нарушения
безопасности. Наиболее предпочтительным и безопасным способом управления базой данных на сервере будет использование
DBeaver
Ссылка скрыта от гостей
. Это универсальный инструмент для управления многими популярными базами данных.А также позволяет вам подключаться через SSH. Можно установить на Whonix Workstation.
Загрузка файлов на сервер
Для загрузки файлов на сервер используйте shell-соединение или sFTP, используя Midnight Commander. Помещение FTP-сервера в сеть Tor, как в случае с phpMyAdmin, является еще одной уязвимостью для атак. И FTP-сервер и PhpMyAdmin можно безопасно настроить. Но зачем искушать судьбу. Выберите в MC Left> SFTP connection... или Shell-connection...
Предоставьте свою регистрационную информацию, подключите и поместите пароль. Перемещение файлов между локальным компьютером и сервером вы должны использовать так:
Код:
user_name@ip_address:ssh_port
Неважно, как вы защищаете сервер, если используете плохо написанный блог или форум, то взлом на сервере для заинтересованного лица не займет много времени. Всегда обновляйте свой движек до последней версии. Проанализируйте, какие плагины вы устанавливаете. Используйте антиспамовые системы. Сеть Tor - медленная, поэтому не создавайте красивых цветные страницы с миллионами орнаментов. Люди, посещающие скрытые службы, ориентированы на содержание, а не на красоту.
[doublepost=1489071476][/doublepost]P. S. Это последняя статья из этого цикла.