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

Защитите себя от писем c приложениями Malware

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

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

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

Как защитить себя от вредоносных программ по почте

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

Когда вредоносный документ попадет в ваш почтовый ящик, вероятность очень высока если:

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

Поэтому, когда вы получаете zip-файл, которому нужен пароль:

Проверьте, должны ли вы получить такой файл, и если ответ «да», проверьте (кого-то, кого вы знаете и можете идентифицировать) отправителя, позвоните и убедитесь, что файл, который был отправлен, действительно является файлом, который должен быть открыт вами на вашем компьютере.

 



2018-09-25T10:14:08
Закрытие уязвимостей

Как установить Nextcloud 14 на Debian 9

Nextcloud — это автономное приложение для совместного использования файлов, которое позволяет хранить ваши данные, такие как файлы, контакты, изображения, календари, новости и многое другое. Использование Nextcloud для хранения ваших документов может устранить необходимость использования стороннего хостинга, такого как Dropbox, Google Drive, iCloud. В этой статье мы установим Nextcloud 14 на Debian 9 с веб-сервером Apache, MariaDB и PHP 7.0.

Требования:

  • доступ root через SSH к вашему VPS;
  • MySQL или MariaDB 5.5+ или PostgreSQL версии 9 или 10;
  • PHP версии 7.0 или выше;
  • Apache версии 2.4 с веб-сервером mod_php или Nginx (php-fpm);

Войдите в систему через SSH и обновите свою систему

Войдите на свой Debian 9 VPS через SSH как пользователь root

ssh root@Server_IP_Address -p Port_Number

 

Используя следующую команду, все установленные пакеты будут обновлены:

apt update && apt upgrade -y

 

Установка веб-сервера Apache

Во-первых, вам нужно установить веб-сервер для запуска Nextcloud. Выполняя следующую команду, вы установите веб-сервер Apache на свой VPS.

apt-get install apache2

 

Вы можете запустить Apache, а также включить запуск при загрузке сервера с помощью этих команд:

systemctl start apache2

systemctl enable apache2

 

Установка PHP

Установите PHP вместе с некоторыми модулями PHP, которые требуются Nextcloud.

apt install php7.0 libapache2-mod-php7.0 php7.0-common php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php7.0-imagick php7.0-xml php7.0-zip

 

Установите MariaDB и создайте базу данных

Как указано в требованиях, для запуска NextCloud требуется сервер базы данных. Мы установим сервер MariaDB с помощью команды:

apt-get -y install mariadb-server

 

После установки запустите сервер базы данных и включите его при загрузке сервера.

systemctl start mariadb

systemctl enable mariadb

 

Вы можете запустить mysql_secure_installation, который является сценарием после установки, который используется для повышения безопасности вашего сервера MariaDB и установки пароля «root». Вы можете использовать параметры ниже

mysql_secure_installation

Set root password? [Y/n] Y

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

 

Следующим шагом является вход на сервер MariaDB как пользователь root и создание базы данных и пользователя для Nextcloud.

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE nextcloud;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'Пароль';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

Рекомендуется заменить «Пароль» на надежный пароль, который будет представлять собой комбинацию букв и цифр и не менее 10 символов.

Загрузите и установите Nextcloud

Перейдите на официальный сайт Nextcloud и загрузите Nextcloud 14 на свой Debian 9 VPS. В настоящее время последняя стабильная версия — 14.0.0

wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip

 

Извлеките загруженный ZIP-архив Nextcloud-14.0.0.zip в каталог, к которому имеет доступ Apache, и измените право собственности на каталог Nextcloud на пользователя веб-сервера.

unzip nextcloud-14.0.0.zip -d /var/www/html/

chown -R www-data:www-data /var/www/html/nextcloud/

 

Как установить Nextcloud 14 на Debian 9Как только все предварительные условия Nextcloud будут выполнены, мы можем завершить установку двумя способами: с помощью мастера установки на экране или с помощью командной строки. В этом случае мы будем использовать установку через командную строку. Мы изменим текущий рабочий каталог с помощью этой команды:

cd /var/www/html/nextcloud

 

теперь выполните следующую команду в качестве пользователя веб-сервера (www-data):

sudo -u www-data php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextcloud_user" --database-pass "Password" --admin-user "admin" --admin-pass "Password"

 

Вы должны использовать информацию базы данных, которую мы создали ранее в этой статье, и заменить «Пароль» на сильный пароль для пользователя admin «Nextcloud».

Вы получите следующий результат, если установка будет успешной

Nextcloud was successfully installed

 

Добавьте ваш_домен.ру, отредактировав файл config / config.php

nano config/config.php

'trusted_domains' =>

array (

0 => 'localhost',

1 => 'ваш_домен.ру',

),

 

Создание виртуального хоста Apache

Чтобы получить доступ к Nextcloud с доменным именем, вам необходимо создать виртуальный хост. Создайте следующий файл с помощью этой команды:

nano /etc/apache2/sites-available/ваш_домен.ру.conf

 

Не забудьте изменить ваш_домен.ру на требуемый домен

<VirtualHost *:80>



ServerAdmin admin@ваш_домен.ру

DocumentRoot /var/www/html/nextcloud

ServerName ваш_домен.ру

ServerAlias www.ваш_домен.ру



Alias /nextcloud “/var/www/html/nextcloud/”



<Directory /var/www/html/nextcloud>

Options +FollowSymlinks

AllowOverride All



<IfModule mod_dav.c>

Dav off

</IfModule>



SetEnv HOME /var/www/html/nextcloud

SetEnv HTTP_HOME /var/www/html/nextcloud

</Directory>



ErrorLog /var/log/apache2/nextcloud-error_log

CustomLog /var/log/apache2/nextcloud-access_log common



</VirtualHost>

 

Сохраните файл.

Включить только что созданный виртуальный хост:

a2ensite ваш_домен.ру.conf

 

Чтобы завершить и активировать вновь созданную конфигурацию, вам необходимо перезагрузить веб-сервер Apache.

systemctl reload apache2

 

Поздравляем, установка Nextcloud 14 завершена. Теперь вы можете выбрать свой любимый браузер и посетить http://ваш_домен.ру и войти в свой экземпляр Nextcloud, используя учетные данные, указанные в приведенной выше инструкции по установке.



2018-09-24T16:16:25
Установка ПО на Debian

Что такое TCP и как он работает?

Протокол управления передачей (TCP) является одним из самых важных протоколов пакета Internet Protocols. Это наиболее широко используемый протокол для передачи данных в сети связи, такой как Интернет.

  • TCP — надежный протокол. То есть, приемник всегда отправляет отправителю положительное или отрицательное подтверждение о пакете данных, так что отправитель всегда имеет яркое представление о том, достигнут ли пакет данных адресату или ему нужно повторно отправить его.
  • TCP гарантирует, что данные достигнут назначенного адресата в том же порядке, в котором он был отправлен.
  • TCP ориентирован на соединение. TCP требует установления соединения между двумя удаленными точками перед отправкой фактических данных.
  • TCP обеспечивает механизм проверки и восстановления ошибок.
  • TCP обеспечивает сквозную связь.
  • TCP обеспечивает контроль потока и качество обслуживания.
  • TCP работает в режиме «точка-точка» Client / Server.
  • TCP обеспечивает полный дуплексный сервер, т. Е. Он может выполнять роли как получателя, так и отправителя.

Длина заголовка TCP составляет минимум 20 байтов и максимум 60 байт.

  • Source Port (16 бит). Он определяет порт источника процесса приложения на отправляющем устройстве.
  • Destination Port (16 бит) — определяет порт назначения процесса приложения на принимающем устройстве.
  • Sequence Number (32 бита) — порядковый номер байтов данных сегмента в сеансе.
  • Acknowledgement Number (32 бита). Когда установлен флаг ACK, это число содержит следующий порядковый номер ожидаемого байта данных и работает как подтверждение предыдущих полученных данных.
  • Data Offset (4 бита). В этом поле подразумеваются как размер заголовка TCP (32-разрядные слова), так и смещение данных в текущем пакете во всем сегменте TCP.
  • Reserved (3 бита) — зарезервировано для будущего использования, и все по умолчанию устанавливаются в ноль.
  • Флаги (по 1 бит)

    • NS — бит Nonce Sum используется сигнальным процессом Явного сообщения о перегрузке.
    • CWR. Когда хост получает пакет с установленным битом ECE, он устанавливает, что Congestion Windows Reduced подтверждает, что полученная от ЕС.
    • ECE — имеет два значения:

      • Если бит SYN очищен до 0, значит, ECE означает, что пакет IP имеет установленный бит CE (перегрузка).
      • Если бит SYN установлен в 1, ECE означает, что устройство поддерживает ECT.

    • URG — указывает, что поле Urgent Pointer имеет значительные данные и должно обрабатываться.
    • ACK — указывает, что поле «Подтверждение» имеет значение. Если ACK очищен до 0, это означает, что пакет не содержит подтверждения.
    • PSH — если установлено, это запрос на принимающую станцию ​​на данные PUSH (как только это произойдет) в принимающее приложение без его буферизации.
    • RST — флаг сброса. Он используется для отказа от входящего соединения, отклонения сегмента, перезапуска соединения.
    • SYN — этот флаг используется для настройки соединения между хостами.
    • FIN — этот флаг используется для освобождения соединения, и после этого больше не обменивается данными. Поскольку пакеты с символами SYN и FIN имеют порядковые номера, они обрабатываются в правильном порядке.

  • Windows Size — это поле используется для управления потоком между двумя станциями и указывает объем буфера (в байтах), выделенный получателем для сегмента, т. Е. Сколько данных ожидает приемник.
  • Checksum — это поле содержит контрольную сумму заголовков, данных и псевдо-заголовков.
  • Urgent Pointer. Он указывает на аварийный байт данных, если флаг URG установлен в 1.
  • Options — обозначает дополнительные опции, которые не покрываются обычным заголовком. Поле опций всегда описывается в 32-битных словах. Если это поле содержит данные размером менее 32 бит, для заполнения оставшихся битов используется дополнение, чтобы достичь 32-разрядной границы.

Адресация

Связь TCP между двумя удаленными хостами выполняется с помощью номеров портов (TSAP). Номера портов могут варьироваться от 0 до 65535, которые делятся как:

  • Порты системы (0 — 1023)
  • Порты пользователей (1024 — 49151)
  • Частные / динамические порты (49152 — 65535)

Управление подключениями

Связь TCP работает в модели Server / Client. Клиент инициирует соединение, и сервер либо принимает, либо отклоняет его. Для управления подключением используется трехстороннее связывание.

Установка соединения

Клиент инициирует соединение и отправляет сегмент с порядковым номером. Сервер подтверждает это со своим собственным порядковым номером и ACK сегмента клиента, который является еще одним номером последовательности клиентов. Клиент после получения ACK своего сегмента отправляет подтверждение ответа сервера.

Любой из серверов и клиентов может отправлять сегмент TCP с флагом FIN, установленным в 1. Когда принимающая сторона отвечает на это посредством ACKnowlinging FIN, это направление связи TCP закрывается и соединение освобождается.

Управление полосой пропускания

TCP использует концепцию размера окна, чтобы удовлетворить потребность в управлении пропускной способностью. Размер окна сообщает отправителю на удаленном конце, количество сегментов байтов данных, которое может получить приемник с этого конца. TCP использует медленную фазу запуска с использованием размера окна 1 и увеличивает размер окна по экспоненте после каждого успешного сообщения.

Например, клиент использует размер окна 2 и отправляет 2 байта данных. Когда подтверждение этого сегмента получено, размер окна удваивается до 4, а следующий отправленный сегмент отправляется длиной 4 байта данных. Когда получено подтверждение 4-байтового сегмента данных, клиент устанавливает размер окна 8 и т. Д.

Если упущено подтверждение, то есть данные, потерянные в транзитной сети или полученные NACK, размер окна уменьшается до половины, а медленная начальная фаза начинается снова.

Контроль ошибок и контроль потока

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

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

Мультиплексирование

Способ объединения двух или более потоков данных в один сеанс называется мультиплексированием. Когда клиент TCP инициализирует соединение с сервером, он всегда ссылается на четко определенный номер порта, который указывает на процесс приложения. Сам клиент использует случайный номер порта из частных пулов номеров портов.

Используя TCP Multiplexing, клиент может взаимодействовать с несколькими различными процессами приложения за один сеанс. Например, клиент запрашивает веб-страницу, которая, в свою очередь, содержит различные типы данных (HTTP, SMTP, FTP и т. Д.), Тайм-аут сеанса TCP увеличивается, и сеанс остается открытым на более длительное время, так что накладные расходы на трехстороннюю рукопожатие могут избегать.

Это позволяет клиентской системе получать несколько соединений по одному виртуальному соединению. Эти виртуальные соединения не подходят для серверов, если тайм-аут слишком длинный.

Контроль перегрузок

Когда большое количество данных подается в систему, которая не способна обрабатывать ее, происходит перегрузка. TCP управляет перегрузкой с помощью механизма Window. TCP устанавливает размер окна, говорящий на другом конце, сколько сегмента данных нужно отправить. TCP может использовать три алгоритма управления перегрузкой:

  • Аддитивное увеличение, мультипликативное уменьшение
  • Медленный старт
  • Время ожидания

Управление таймером

TCP использует различные типы таймеров для управления и управления различными задачами:

Таймер сохранения:

  • Этот таймер используется для проверки целостности и действительности соединения.
  • Когда время ожидания сохраняется, хост отправляет пробник, чтобы проверить, существует ли соединение еще.

Таймер повторной передачи:

  • Этот таймер поддерживает сеанс передачи данных с сохранением состояния.
  • Если подтверждение отправленных данных не будет получено в течение времени повторной передачи, сегмент данных будет отправлен снова.

Постоянный таймер:

  • Сеанс TCP может быть приостановлен хостом, отправив Размер окна 0.
  • Чтобы возобновить сеанс, хосту необходимо отправить размер окна с некоторым большим значением.
  • Если этот сегмент никогда не достигнет другого конца, оба конца могут ждать друг друга в течение бесконечного времени.
  • Когда таймер Persist истекает, хост повторно отправляет свой размер окна, чтобы узнать другой конец.

    Persist Timer помогает избежать взаимоблокировок в общении.

Timed-Wait:

  • После освобождения соединения один из хостов ждет времени с пометкой времени, чтобы полностью завершить соединение.
  • Это делается для того, чтобы убедиться, что другой конец получил подтверждение своего запроса о завершении соединения.
  • Выдержка может быть не более 240 секунд (4 минуты).

Восстановление после аварий

TCP — очень надежный протокол. Он предоставляет порядковый номер для каждого байта, отправленного в сегменте. Он обеспечивает механизм обратной связи, т.е. когда хост получает пакет, он привязан к ACK, чтобы ожидал пакет, имеющий следующий порядковый номер (если он не является последним сегментом).

Когда TCP-сервер прерывает связь в середине и перезапускает его процесс, он отправляет трансляцию TPDU всем своим хостам. Затем хосты могут отправить последний сегмент данных, который никогда не был непризнан и продолжен.



2018-09-24T10:52:02
Вопросы читателей

Защита OpenVPN с помощью Fail2Ban

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер.

После успешного запуска собственного VPN сервера, я обратился к лог файлу и обнаружил, что мой сервер постоянно находился под атакой с определенных IP адресов. Читать

Определение модели «клиент — сервер»

Два процесса удаленного приложения могут взаимодействовать в основном в двух разных моделях:

  • Одноранговый: оба удаленных процесса выполняются на одном уровне, и они обмениваются данными с использованием некоторого общего ресурса.
  • Клиент-сервер: один удаленный процесс действует как Клиент и запрашивает некоторый ресурс из другого прикладного процесса, действующего как Сервер.

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

Система может одновременно действовать как Сервер и Клиент. То есть, один процесс действует как Сервер, а другой действует как клиент. Также может случиться так, что и клиентский, и серверный процессы находятся на одной машине.

Коммуникация

Два процесса в клиент-серверной модели могут взаимодействовать различными способами:

  • Сокеты
  • Удаленные вызовы процедур (RPC)

Сокеты

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

Когда запрос доходит до сервера, он обслуживается. Это может быть либо обмен информацией, либо запрос ресурсов.

Удаленный вызов процедур

Это механизм, при котором один процесс взаимодействует с другим посредством вызовов процедур. Один процесс (клиент) вызывает процедуру, лежащую на удаленном хосте. Процесс на удаленном хосте считается сервером. Оба процесса выделяют заглушки. Это сообщение происходит следующим образом:

  • Клиентский процесс вызывает клик-заглушку. Он передает все параметры, относящиеся к локальной программе.
  • Затем все параметры упаковываются (сортируются) и выполняется системный вызов для отправки их на другую сторону сети.
  • Ядро отправляет данные по сети, а другой — получает.
  • Удаленный хост передает данные на заглушку сервера, где он не привязан.
  • Параметры передаются процедуре, и процедура выполняется.
  • Результат отправляется клиенту таким же образом.



2018-09-21T10:52:38
Вопросы читателей

Что делать, если забыл пароль от домашнего роутера

Сеть, раздаваемую роутером, необходимо защищать паролем, иначе вы можете потерять не только оплаченный трафик, но и личные данные. Но установленный надёжный пароль можно забыть. В этом случае будет два выхода: устанавливать новый код или восстанавливать утерянный.

Читать