Архив рубрики: Публикации

Запуск проектов Django в VestaCP

В этой статье рассмотрим запуск Django проектов в панели управления VestaCP, в различных конфигурациях. Подразумевается что у вас уже установлена и настроена панель VestaCP, как это сделать можно прочитать здесь. А так же установлен и запущен фреймворк Djang, как это сделать смотрите здесь.

VestaCP Nginx+Apache

если у вас VestaCP установлена в конфигурации nginx-apache, то здесь все просто, достаточно установить mod_wsgi

В Ubuntu

apt-get install libapache2-mod-wsgi

a2enmod wsgi

В CentOS, RedHat

yum install mod_wsgi

Затем добавить в VestaCP новый шаблон.

Для Ubuntu

cd /usr/local/vesta/data/templates/web

wget http://c.vestacp.com/0.9.8/ubuntu/wsgi/apache2.tar.gz

tar -xzvf apache2.tar.gz

rm -f apache2.tar.gz

Для CentOS, RedHat

cd /usr/local/vesta/data/templates/web

wget http://c.vestacp.com/0.9.8/rhel/wsgi/httpd.tar.gz

tar -xzvf httpd.tar.gz

rm -f httpd.tar.gz

Переходим в WEB интерфейс VestaCP, и выбираем WEB Template wsgi. После чего все должно работать.

VestaCP Nginx+php-fpm

Дальнейшие настройки будут проводиться для домена example.com, а пользователь в панели VestaCP admin, поэтому при дальнейших действиях используйте свои логин и домен

Для начала устанавливаем модуль uwsgi и uwsgi-plugin-python2

yum install uwsgi uwsgi-plugin-python2  –y

Проверяем работу модуля uwsgi, для этого запустим его с ключами

uwsgi --chdir /home/admin/web/example.com/public_html/mysite/ --http-socket :8000 --plugin python --wsgi-file /home/admin/web/example.com/publictml/mysite/mysite/wsgi.py

chdir – полный путь к проекту Django

http-socket – порт по которому модуль слушает http запросы, т.к 80  порт у нас занят, то для теста используем 8000

wsgi-file –путь к файлу с настройками окружения, должен создаться автоматически при создании проекта в Django.

После запуска открываем в браузере ссылку

http://<ip адрес сервера>:8000

Мы должны увидеть страницу приветствия.

Или если у вас уже рабочий сайт, то он должен открыться

После установки модуля в каталоге /etc появится основной файл настроек /etc/uwsgi.ini

Посмотрим его

cat  /etc/uwsgi.ini

Сразу у меня он не заработал, поэтому пришлось отредактировать. В итоге рабочий ini-файл получился такой.

[uwsgi]

uid = uwsgi

gid = uwsgi

pidfile = /run/uwsgi/uwsgi.pid

emperor = /etc/uwsgi.d

chmod-socket = 660

eror-tyrant = false

cap = setgid,setuid

Основной параметр в этом файле это emperor = /etc/uwsgi.d, он указывает директорию с конфигурационными файлами для различных сайтов . Т.е модуль запускается в режиме emperor и подгружает конфигурации из каталога /etc/uwsgi.d. Необходимо будет для каждого сайта создать свой ini-файл и поместить его в этот каталог.

Создаем директорию /run/uwsgi/

mkdir /run/uwsgi/

Меняем владельца на uwsgi

chown uwsgi:uwsgi /run/uwsgi/

chown uwsgi:uwsgi /etc/uwsgi.d/

Переходим в директорию /etc/uwsgi.d

cd /etc/uwsgi.d

и создаем файл example.com.ini следующего содержания

[uwsgi]

#Пользователь от которого запускается процесс uwsgi

uid=admin

gid=admin

#Путь к проекту django

chdir  = /home/admin/web/example.com/public_html/mysite/

plugin = python

# Django wsgi файл

wsgi-file = /home/admin/web/example.com/public_html/mysite/mysite/wsgi.py

master  = true

# максимальное количество процессов

processes = 10

# полный путь к файлу сокета

socket = /home/admin/web/example.com/public_html/example.com.sock

chmod-socket = 666

# очищать окружение от служебных файлов uwsgi по завершению

vacuum = true

Для проверки запускаем модуль уже с использованием ini файла

uwsgi --http-socket :8000 --ini /etc/uwsgi.ini

Если вы получите ошибку Permission denied. Попробуйте изменить пользователя в файле /etc/uwsgi.ini

uid=uwsgi

gid=uwsgi

Замените на

uid=admin

gid=admin

А также измените права на папки

chown admin:admin /run/uwsgi/

chown admin:admin /etc/uwsgi.d/

На одном из серверов у меня заработало только после таких манипуляций. Пробуем запустить

uwsgi --http-socket :8000 --ini /etc/uwsgi.ini

Если все нормально и модуль запускается без ошибок,  вывод должен быть что то типа такого

идем дальше. Добавляем модуль в автозагрузку, для этого, добавляем в файл /etc/uswgi.ini параметр daemonize=/var/log/uwsgi/yourproject.log. В итоге файл должен выглядеть так

прописываем в файл /etc/rc.local в конце строку запуска

/usr/sbin/uwsgi --ini /etc/uwsgi.ini

Настройка Nginx

Добавляем в панель VestaCP новый шаблон django_uwsgi. Для этого переходим в директорию /usr/local/vesta/data/templates/web/nginx/php-fpm/

cd /usr/local/vesta/data/templates/web/nginx/php-fpm/

Здесь создаем два файла django_uwsgi.tpl и django_uwsgi.stpl

django_uwsgi.tpl

upstream django {

     server unix://%home%/%user%/web/%domain%/public_html/%domain%.sock;

    }

server {

    listen      %ip%:%web_port%;

    server_name %domain_idn% %alias_idn%;

    root        %docroot%;

    index       index.php index.html index.htm;

    access_log  /var/log/nginx/domains/%domain%.log combined;

    access_log  /var/log/nginx/domains/%domain%.bytes bytes;

    error_log   /var/log/nginx/domains/%domain%.error.log error;

    location / {                 

        uwsgi_pass  django;      

        include /etc/nginx/uwsgi_params;

    }   

    location /static {

        alias  %home%/%user%/web/%domain%/public_html/static;

          } 

    location /media {

        alias  %home%/%user%/web/%domain%/public_html/media;

          }                        

    error_page  403 /error/404.html;

    error_page  404 /error/404.html;

    error_page  500 502 503 504 /error/50x.html;

    location /error/ {

        alias   %home%/%user%/web/%domain%/document_errors/;

    }

    location ~* "/.(htaccess|htpasswd)$" {

        deny    all;

        return  404;

    }

    location /vstats/ {

        alias   %home%/%user%/web/%domain%/stats/;

        include %home%/%user%/conf/web/%domain%.auth*;

    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;

    include     /etc/nginx/conf.d/phppgadmin.inc*;

    include     /etc/nginx/conf.d/webmail.inc*;

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;

}

django_uwsgi.stpl

server {

    listen      %ip%:%web_ssl_port%;

    server_name %domain_idn% %alias_idn%;

    root        %sdocroot%;

    index       index.php index.html index.htm;

    access_log  /var/log/nginx/domains/%domain%.log combined;

    access_log  /var/log/nginx/domains/%domain%.bytes bytes;

    error_log   /var/log/nginx/domains/%domain%.error.log error;

    ssl         on;

    ssl_certificate      %ssl_pem%;

    ssl_certificate_key  %ssl_key%;

    location / {                 

        uwsgi_pass  django;      

        include /etc/nginx/uwsgi_params;

    }

     location /static {

         alias  %home%/%user%/web/%domain%/public_html/static;

                }

     location /media {

        alias  %home%/%user%/web/%domain%/public_html/media;

                }                          

    error_page  403 /error/404.html;

    error_page  404 /error/404.html;

    error_page  500 502 503 504 /error/50x.html;

    location /error/ {

        alias   %home%/%user%/web/%domain%/document_errors/;

    }

    location ~* "/.(htaccess|htpasswd)$" {

        deny    all;

        return  404;

    }

    location /vstats/ {

        alias   %home%/%user%/web/%domain%/stats/;

        include %home%/%user%/conf/web/%domain%.auth*;

    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;

    include     /etc/nginx/conf.d/phppgadmin.inc*;

    include     /etc/nginx/conf.d/webmail.inc*;

    include     %home%/%user%/conf/web/snginx.%domain%.conf*;

}

Обратите внимание, на расположение каталогов static и media проектов django, в моих шаблонах они находятся в корне каталога public_html.

Файл /etc/nginx/uwsgi_params должен был создаться при установки uwsgi, если нет, создайте его.

uwsgi_params

uwsgi_param  QUERY_STRING       $query_string;

uwsgi_param  REQUEST_METHOD     $request_method;

uwsgi_param  CONTENT_TYPE       $content_type;

uwsgi_param  CONTENT_LENGTH     $content_length;



uwsgi_param  REQUEST_URI        $request_uri;

uwsgi_param  PATH_INFO          $document_uri;

uwsgi_param  DOCUMENT_ROOT      $document_root;

uwsgi_param  SERVER_PROTOCOL    $server_protocol;

uwsgi_param  REQUEST_SCHEME     $scheme;

uwsgi_param  HTTPS              $https if_not_empty;



uwsgi_param  REMOTE_ADDR        $remote_addr;

uwsgi_param  REMOTE_PORT        $remote_port;

uwsgi_param  SERVER_PORT        $server_port;

uwsgi_param  SERVER_NAME        $server_name;

Теперь через WEB интерфейс выбираем наш шаблон djago_wsgi

Сохраняем и переходим на сайт example.com, естественно вместо example.com должен быть ваш рабочий домен. Если видим страницу

Или страницу вашего сайта, то значит у нас все работает.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-11-22T20:31:09
Django

Установка Django на CentOS 7, запуск и тестирование

В данной статье рассмотрим установку и запуск первого проекта в Django на ОС Centos7

Установка Django

Первым делом устанавливаем pip

yum install python-pip –y

Далее устанавливаем само Django. Но просто дать команду

pip install django

Не получится, вы получите ошибку Unsupported Python version

Дело в том,  что в Centos 7 при чистой установке установлен python 2.7. Тут два выхода, можно установить 3-й python, или установить более старую версию Django. Пойдем по пути наименьшего сопротивления и установим версию поддерживаемую python 2.7.  Переходим на сайт https://docs.djangoproject.com/en/2.1/faq/install/. И видим что для нашей версии питон подходит Django 1.11. Вот ее и установим

pip install Django==1.11

Теперь установка должна пройти без ошибок

Запуск проекта

Создадим наш первый проект. Переходим в директорию где у нас будут храниться сайты, например /var/www/html/

cd  /var/www/html/

Даем команду на создание проекта, например проект будет называться mysite, тогда команда будет

django-admin startproject mysite

посмотрим что создала эта команд команда

ls –R

mysite – корневой каталог нашего проекта

manage.py – файл для выполнения различных интерактивных команд для Django. Например запуск внутреннего web сервера. Полный список команд можно посмотреть набрав

python manage.py

В каталоге /mysite/mysite/ содержатся конфигурационные файлы.

Settings.py –файл с основными настройками сайта, такими как задание языка, временной зоны, параметров подключения к базе и т.д.

urls.py – настройки URL

wsgi.py –файл для работы с модулем wsgi, нужен для работы джанго в web серверах apache или nginx.

Тестирование работы Django

Проверим работу нашего приложения, для этого выполните команду

python manage.py runserver 0.0.0.0:8000

После чего наберите в строке браузера

http://<ip адрес вашего сервера>:8000

При первом запуске у вас скорее всего появится ошибка You may need to add u’ip сервера’ to ALLOWED_HOSTS

Поэтому останавливаем сервер ctr^Z. Открываем на редактирование файл settings.py и ищем параметр

ALLOWED_HOSTS = []

Вписываем в квадратные скобки ip адрес сервера, например

ALLOWED_HOSTS = [’10.10.10.10’]

Должно получится так

Снова запускаем сервер

python manage.py runserver 0.0.0.0:8000

И пытаемся подключиться на адрес http://10.10.10.10:8000/ . В итоге вы должны увидеть следующую страницу

Она говорит нам что Django успешно запущено и настроено.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

 



2018-11-22T12:54:07
Django

Как легко получить деньги? Рекламой!

Люди часто отказываются получать деньги «бесплатно». Звучит парадоксально, но выражение «настоящих буйных мало» работает даже здесь. Если незнакомому человеку попробовать дать деньги, когда он этого не ожидает, то он откажется. Но многие не задумываясь подберут аналогичную сумму, если заметят её лежащую на тротуаре. Где логика? Читать

VestaCP установка и настройка

Введение

VestaCP – это бесплатная панель  управления  сайтами, идеально подходит для установки на VDS сервер для личного использования и не большого хостинга. Существует несколько вариантов сборки VestaCP

  1. Nginx, apache,php
  2. Apache,php
  3. Nginx,php,php-fpm

Кроме веб сервисов в VestaCP входят пакеты ftp, DNS, MAIL, firewall. А также базы данных Mariadb или PostgresSQL.

 Установка VestaCP

Для установки перейдите на сайт https://vestacp.com/install/. На этой странице выбираем нужную нам конфигурацию. Рассмотрим пример установки nginx+php-fpm на сервер Centos 7.

После нажатия кнопки «Generate Install Command», мы получим код для установки панели

Далее, в соответствии с инструкцией подключаемся по ssh к нашему серверу. Вводим команду

curl -O http://vestacp.com/pub/vst-install.sh

Запускаем скрипт установки.

bash vst-install.sh --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous yes --mysql yes --postgresql no --hostname test.webserver.ru --email admin@vestacptest.ru --password qeqes9sdf

Вы должны запускать свой скрипт установки, со своими параметрами.

Проверяем еще раз выбранные компоненты для установки, если все верно вводим “y”

После чего вся установка пройдет в автоматическом режиме. Когда установка закончится вы увидите ссылку и данные для входа в web интерфейс VestaCP

Набираем в строке поиска указанную ссылку, и после ввода логина с паролем попадаем в WEB интерфейс VestaCP.

Что бы сменить язык на русский, кликните по ссылке admin и выберите в поле Language: ru

Также здесь можно задать остальные настройки пользователя.

Добавление домена

Для добавления домена, переходим в меню WEB  и нажимаем кнопку “+” add web domain

На следующей странице вводим название нашего домена

При необходимости нажимаем на ссылку “advanced options” и указываем дополнительные настройки, например если мы хоти подключить ssl для работы https, поставьте галочку SSL Support

Для дальнейшего редактирования созданного домена, перейдите снова на вкладку WEB и нажмите кнопку edit в созданном  домене. Особый интерес здесь представляет меню WEB Template. Это шаблоны конфигураций nginx. Все шаблоны находятся в папке /usr/local/vesta/data/templates/web/nginx/php-fpm. Их вы можете выбрать через выпадающее меню

Как видим есть множество шаблонов настроек nginx для различных cms и фреймворков. Например для работы wordpress c использованием ЧПУ, необходимо выбрать шаблон wordpress2_rewrite.

Также здесь вы можете добавить дополнительный ftp аккаунт к домену, подключить web статистику, ssl сертификат.

Настройка ДНС записей

Для настройки ДНС записей в VestaCP перейдите в меню DNS.  Выберите нужный домен, здесь вы можете отредактировать как основную A запись домена

Так и служебные DNS записи

 

Настройка почты в VestaCP

Для настройки почтовых ящиков, перейдите в меню Mail, выберите нужный домен, и нажмите кнопку  “add account”. На открывшейся странице заполните необходимые поля, после чего нажмите кнопку “Add”

Заключение

Как видим, в установке и настройки панели VestaCP нет ничего сложного, установить и настроить можно буквально за 15 минут, даже не имея большого опыта в администрировании Linux, а в результате мы получим мощный и полнофункциональный инструмент управления сайтами не уступающий платным аналогам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-11-21T15:17:09
Nginx

Как взломщик может нарушить безопасность беспроводной сети

Важно защитить вашу беспроводную сеть с помощью шифрования WPA2 и сильной кодовой фразы. Но от каких атак вы на самом деле обеспечиваете защиту? Вот как взломщики взламывают зашифрованные беспроводные сети.

Это не руководство «Как взломать беспроводную сеть». Мы здесь не для того, чтобы провести вас через процесс компрометации сети — мы хотим, чтобы вы поняли, как кто-то может поставить под угрозу вашу сеть.

Шпионаж на незашифрованную сеть

Во-первых, давайте начнем с наименее безопасной сети: открытая сеть без шифрования . Любой человек может, очевидно, подключиться к сети и использовать ваше интернет-соединение, не предоставляя кодовую фразу. Это может привести к юридической опасности, если они сделают что-то незаконное, и это проследится до вашего IP-адреса. Однако есть еще один риск, который менее очевиден.

Когда сеть не шифруется, трафик перемещается взад-вперед в открытом виде. Любой, кто находится в зоне действия, может использовать программное обеспечение для захвата пакетов, которое активирует оборудование Wi-Fi для ноутбука и захватывает беспроводные пакеты с воздуха. Общеизвестно, что устройство помещается в «беспорядочный режим», поскольку он захватывает все близлежащие беспроводные трафики. Затем злоумышленник может проверить эти пакеты и посмотреть, что вы делаете в Интернете. Любые HTTPS- соединения будут защищены от этого, но весь HTTP-трафик будет уязвим.

Google потратил немного энергии на это, когда они захватывали данные Wi-Fi с помощью своих автомобилей Street View. Они захватили некоторые пакеты из открытых сетей Wi-Fi, и они могут содержать конфиденциальные данные. Любой, кто находится в пределах вашей сети, может захватывать эти конфиденциальные данные — еще одна причина не использовать открытую сеть Wi-Fi.

Поиск скрытой беспроводной сети

Можно найти «скрытые» беспроводные сети с такими инструментами, как Kismet, которые показывают близлежащие беспроводные сети. SSID беспроводной сети, или имя, будет отображаться как пустое во многих из этих инструментов.

Это не окажет большой помощи. Атакующие могут посылать на устройство deauth frame, который является сигналом, определяющим, закрыта ли точка доступа. Затем устройство попытается снова подключиться к сети, и это будет сделано с использованием SSID сети. SSID может быть захвачен в это время. Этот инструмент даже не нужен, так как мониторинг сети в течение длительного периода времени, естественно, приведет к захвату клиента, пытающегося подключиться, показывая SSID.

Вот почему скрытие вашей беспроводной сети вам не поможет. Фактически, это может сделать ваши устройства менее безопасными, поскольку они будут пытаться постоянно подключаться к скрытой сети Wi-Fi. Злоумышленник поблизости мог видеть эти запросы и притворяться вашей скрытой точкой доступа, заставляя ваше устройство подключаться к уязвимой точке доступа.

Изменение MAC-адреса

Инструменты сетевого анализа, которые захватывают сетевой трафик, также показывают устройства, подключенные к точке доступа вместе с их MAC-адресом , что видно в пакетах, перемещающихся туда и обратно. Если устройство подключено к точке доступа, злоумышленник знает, что MAC-адрес устройства будет работать с устройством.

Затем злоумышленник может изменить свой MAC-адрес оборудования Wi-Fi в соответствии с MAC-адресом другого компьютера. Они будут ждать, пока клиент отключится или отключится, и отключит его, затем подключится к сети Wi-Fi со своим устройством.

Прерывание шифрования WEP или WPA1

WPA2 — это современный безопасный способ шифрования вашего Wi-Fi. Известны атаки, которые могут нарушить старое шифрование WEP или WPA1 (WPA1 часто называют «WPA»), но мы используем WPA1 здесь, чтобы подчеркнуть, что мы говорим о более старой версии WPA и что WPA2 более безопасен ).

Сама схема шифрования уязвима и при достаточном захвате трафика шифрование может быть проанализировано и сломано. После мониторинга точки доступа в течение примерно одного дня и сбора трафика за день, злоумышленник может запустить программу, которая нарушает шифрование WEP . WEP довольно небезопасен, и есть другие способы разбить его быстрее, обманув точку доступа. WPA1 более безопасен, но по-прежнему уязвим.

Использование уязвимостей WPS

Злоумышленник также может проникнуть в вашу сеть, используя Wi-Fi Protected Setup или WPS. С WPS ваш маршрутизатор имеет 8-значный PIN-код, который устройство может использовать для подключения, а не для предоставления вашей кодовой фразы шифрования. PIN-код проверяется на две группы: во-первых, маршрутизатор проверяет первые четыре цифры и сообщает устройству, если они правы, а затем маршрутизатор проверяет последние четыре цифры и сообщает устройству, если они правы. Существует довольно небольшое количество возможных четырехзначных номеров, поэтому злоумышленник может «перегружать» безопасность WPS, пробовав каждое четырехзначное число, пока маршрутизатор не сообщит им, что они догадались о правильном.

Вы можете защитить от этого, отключив WPS. К сожалению, некоторые маршрутизаторы фактически оставляют WPS включенными даже тогда, когда вы отключите его в своем веб-интерфейсе. Вы можете быть более безопасным, если у вас есть маршрутизатор, который вообще не поддерживает WPS!

Брут-форс паролей WPA2

Современное шифрование WPA2 должно быть «грубым» с помощью атаки со словарем . Злоумышленник контролирует сеть, захватывая пакеты рукопожатия, которые обмениваются, когда устройство подключается к точке доступа. Эти данные могут быть легко захвачены путем деавторизации подключенного устройства. Затем они могут попытаться выполнить атаку грубой силы, проверив возможные кодовые фразы Wi-Fi и увидев, успешно ли они завершат рукопожатие.

Например, допустим, парольная фраза «password». Кодовые фразы WPA2 должны быть от восьми до 63 цифр, поэтому «password» совершенно прав. Компьютер начнет со словарного файла, содержащего много возможных кодовых фраз, и попробуйте их один за другим. Например, он будет пытаться «пароль», «letmein, 1» «opensesame» и т. Д. Такую атаку часто называют «атакой по словарю», потому что для нее требуется файл словаря, содержащий много возможных паролей.

Мы можем легко увидеть, как обычные или простые пароли, такие как «пароль», будут угадываться в течение короткого периода времени, в то время как компьютер, возможно, никогда не сможет угадать более длинную, менее очевидную кодовую фразу, такую ​​как “:]C/+[[ujA+S;n9BYq9<kM5’W+fc`Z#*U}G(/W~@q>z>T@J#5E=g}uwF5?B?Xyg.” Вот почему важно иметь сильную кодовую фразу с разумной длиной.

Инструменты

Если вы хотите увидеть конкретные инструменты, которые злоумышленник будет использовать, загрузите и запустите Kali Linux. Кали — преемник BackTrack, о котором вы, возможно, слышали. Aircrack-ng, Kismet, Wireshark, Reaver и другие инструменты для проникновения в сеть все предустановлены и готовы к использованию. Разумеется, эти инструменты могут требовать некоторые знания (или поиска в гугле) для фактического использования.



2018-11-21T10:46:02
Вопросы читателей

Безопасность WordPress: хакеры могут получить ваш IP-адрес и как избежать этого

Сегодня я нашел уязвимость в WordPress. Хакеры могут использовать его, чтобы получить исходный IP-адрес вашего сервера, чтобы они могли запустить DDOS-атаку.

Вот как они могут это получить и как вы можете остановить это.

Как получить исходный IP-адрес сервера через регистрацию пользователя

Шаг 1. Зарегистрируйте учетную запись на своем сайте WordPress.

Перейдите к одному из следующих URL-адресов, чтобы зарегистрировать аккаунт

yourdomain.com/wp-admin



yourdomain.com/wp-login.php



yourdomain.com/wp-login.php?action=register

Введите имя пользователя и адрес электронной почты.

Как администратор вашего сайта WordPress, вы получите уведомление по электронной почте о том, что новый пользователь регистрирует учетную запись на вашем сайте.

В то же время ваш сайт отправит электронному письму новому пользователю (потенциальному атакующему), чтобы установить пароль.

Шаг 2. Откройте исходное сообщение электронной почты

Вместо того, чтобы устанавливать пароль, хакер открывает исходное сообщение электронной почты.

В Gmail откройте письмо, отправленное WordPress, и в правом верхнем углу нажмите стрелку раскрывающегося списка и выберите показать оригинал.

В Mozilla Thunderbird откройте письмо, отправленное WordPress.

В правом верхнем углу нажмите кнопку «More» и выберите «View Source» в раскрывающемся меню.

Вот как выглядят первые несколько строк исходного сообщения:

Return-Path: <admin@yourdomain.com>   

Received:from yourdomain.com([12.34.56.78])<< Это оригинальный IP-адрес вашего сервера!

        by smtp.gmail.com with ESMTPSA id 388343daereqrefa.19.2016.01.05.21.32.31

        for <the-hacker@gmail.com>

        (version=TLS1 cipher=AES128-SHA bits=128/128);

        Tue, 05 Jan 2016 21:32:33 -0800 (PST)

В строке Received: from хакер может увидеть исходный IP-адрес вашего сервера!

Даже если ваш сервер использует внешний SMTP-сервер для отправки электронной почты, исходный IP-адрес сервера все еще можно увидеть в исходном сообщении электронной почты.

X-Received: by 10.66.155.8 with SMTP id qrer3439005dfd.18.1452058439952;

        Tue, 05 Jan 2016 21:33:59 -0800 (PST)

Return-Path: <smtp@external.com>

Received:from yourdomain.com ([12.34.56.78]) << Это оригинальный IP-адрес вашего сервера!

        by smtp.external.com with ESMTPSA id rewre134373dfa.35.2016.01.05.21.33.57

        for <the-hacker@gmail.com>

        (version=TLS1 cipher=AES128-SHA bits=128/128);

        Tue, 05 Jan 2016 21:33:59 -0800 (PST)

Почему это плохо для вас?

Если вы используете службу CDN ( а вы должны), исходный IP-адрес вашего сервера защищен CDN.

Когда люди ищут IP-адрес вашего сервера в DNS, они получат IP-адрес, указывающий на узел CDN.

Если хакер запускает DDOS-атаку на ваш домен, этот плохой DDOS-трафик будет поступать на узлы CDN, развернутые по всему миру вашим поставщиком CDN.

Ваш исходный сервер не получит эти вредоносные DDOS-запросы.

Но если хакер обнаружил исходный IP-адрес вашего сервера по электронной почте, он может запустить DDOS-атаку непосредственно на ваш исходный IP-адрес.

За короткий промежуток времени ваша загрузка сервера увеличивается, и ваша пропускная способность заканчивается.

Легальные посетители получат сообщение об отказе в обслуживании в своем браузере.

Как остановить это

Вы можете остановить его, отключив регистрацию пользователя на своем сайте WordPress.

На панели инструментов WordPress откройте «Настройки»> «Общие».

Снимите отметку в графе Членство – 




Членство

Членство

Ссылка регистрации на вашем сайте исчезнет.

Таким образом, посетители не могут зарегистрироваться на вашем сайте, и ваш сайт не будет отправлять какие-либо письма хакерам.

Суть

Ваш веб-сервер должен отправлять электронную почту только себе или администратору.

Вы должны настроить свой почтовый сервер на другом сервере.

 



2018-11-20T16:31:19
Закрытие уязвимостей