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

История создания Linux

Операционная система GNU/Linux появилась благодаря стечению обстоятельств. Вы узнаете о том, с чего всё начиналось и какую роль в этом сыграл неисправный принтер. Это история Ричарда Столлмана и Линуса Торвальдса.

Столлман задал вектор развития программного обеспечения и пракически закончил работу над операционной системой, подготовив необходимые системные утилиты. А Торвальдс добавил недостающее — ядро Linux.

Читать

Лучшие советы по безопасности для Windows 10

Лучшие советы по безопасности для Windows 10 иногда не самые очевидные.

Конечно, вы можете инвестировать в лучшую антивирусную программу, использовать сложные и жесткие пароли для входа в Windows 10 и так далее.

Но безопасность заключается не только в том, чтобы хранить информацию внутри вашего компьютера в безопасности.

Это также зависит от того, что вы отправляете и получаете через Интернет.

Это, безусловно, представляет наибольшую угрозу для безопасности Windows 10.

Ниже мы приводим советы о том, как управлять двухсторонним потоком информации для обеспечения безопасности в среде Windows 10. Читать

Что делает служба Microsoft Network Realtime Inspection Service (NisSrv.exe)?

Если вы откроете диспетчер задач на устройстве с последней версией Windows, вы можете заметить, что служба проверки сети Microsoft Network (NisSrv.exe) является одной из задач, выполняемых на ПК.

Непосредственно может быть ясно, если процесс является законным или нет, и какова его цель. Если вы запустите Windows 10, вы можете развернуть это имя, чтобы получить Службу проверки антивирусной сети Windows Defender, указанную под исходной записью.

Служба проверки сети Microsoft Network Realtime — это модуль программного обеспечения безопасности Microsoft. Какая программа зависит от версии Windows; например, в Windows 10 это встроенный защитник Windows.

Модуль является законным процессом, при условии, что он находится в правильном каталоге на компьютере Windows.

Самый простой способ узнать об этом — щелкнуть правой кнопкой мыши по элементу и выбрать открыть местоположение файла из контекстного меню.

Открываемое место должно быть C:Program FilesЗащитник Windows и файл NisSrv.exe, который находится на машинах Windows 10. В более ранних версиях Windows расположение отличается, поскольку для обеспечения безопасности может использоваться другая программа. Пользователи Windows 7 должны найти файл, указанный в каталоге c:Program FilesMicrosoft Security ClientAntimalwareNisSrv.exe, например.

Если вы не уверены в легитимности файла, вы можете запустить дополнительные проверки. Один из вариантов, который у вас есть, — загрузить его на Virustotal.com, чтобы он сканировал вредоносный контент.

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

Затем откройте диспетчер служб, чтобы найти дополнительную информацию об услуге:

  1. Нажмите на клавишу Windows, введите services.msc и нажмите клавишу Enter на клавиатуре.
  2. Найдите службу проверки антивирусной сети Windows Defender и дважды щелкните по ней, чтобы открыть свойства.

Информация, указанная здесь, включает:

  • Имя службы: WdNisSvc
  • Отображаемое имя: Служба проверки антивирусной сети Windows Defender
  • Путь к excutable: «C:Program FilesWindows DefenderNisSrv.exe»
  • Описание: Помогает предотвратить попытки вторжения, направленные на известные и недавно обнаруженные уязвимости в сетевых протоколах
  • Network Inspection System — это модуль защиты в режиме реального времени, который контролирует сетевой трафик для вредоносных шаблонов. Вы можете ознакомиться с этой статьей Microsoft Technet с 2013 года для получения информации об этой функции.

Microsoft запустила эту функцию еще в октябре 2012 года в Microsoft Security Essentials и с тех пор является частью решений Microsoft по безопасности.

Могу ли я отключить службу проверки сети Microsoft в реальном времени?

Служба проверки сети Microsoft Network Realtime связана с защитой Windows Defender в режиме реального времени. Вы можете отключить защиту в режиме реального времени, но это временно только в соответствии с Центром безопасности Windows Defender.

Защита в реальном времени

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

Таким образом, нет прямого способа отключения службы проверки сети в реальном времени с использованием настроек Защитника Windows.

Примечание. Услуга не может быть отключена.

Вообще говоря, рекомендуется активировать услугу. Если это вызывает проблемы на компьютере, вам может потребоваться переключение на другое антивирусное решение, так как это отключит Защитник Windows на машине.

 



2018-11-23T10:55:42
Вопросы читателей

Запуск проектов 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

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

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