Как использовать приложение Kali Linux в Windows 10

Операционная система Linux становится все более популярной на нескольких предприятиях. Доступно множество дистрибутивов, включая Mint, Ubuntu и Kali. Kali — один из самых известных дистрибутивов Linux, и он обычно используется тестировщиками на проникновение. Kali Linux поставляется с множеством бесплатного программного обеспечения с открытым исходным кодом, которое идеально подходит для тестирования на проникновение. Kali Linux в настоящее время доступен в Microsoft App Store для Windows 10 для экспертов по безопасности и тестировщиков на проникновение. Несмотря на очевидные недостатки, Kali Linux представляет множество новых инструментов командной строки, которые окажутся неоценимыми для настоящего профессионала. Microsoft включила в Windows 10 функцию под названием «Подсистема Windows для Linux» (WSL), которая позволяет пользователям запускать программы Linux прямо в операционной системе. Благодаря этой программе мы можем использовать практически все инструменты Kali на нашей машине с Windows. Поверх Windows 10 мы можем запустить Kali Linux. Установить Kali Linux в подсистему Windows 10 действительно просто. В этой статье вы найдете подходящий способ установки Kali Linux в вашей операционной системе Windows 10.

 

Системные Требования

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

  • Для установки Kali Linux вам потребуется не менее 20 ГБ дискового пространства.
  • Рекомендуемый объем оперативной памяти — 1 ГБ; Рекомендуется 2 ГБ или более.

 

Установка Kali Linux на Windows 10

Чтобы установить WSL, щелкните правой кнопкой мыши кнопку «Пуск» в операционной системе Windows 10 и выберите Windows PowerShell из раскрывающегося меню. Откройте его с правами администратора. Для запуска напишите следующую прикрепленную команду и нажмите клавишу Enter, как показано на прикрепленном изображении:

Как использовать приложение Kali Linux в Windows 10

 

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

Сначала введите «Microsoft Store» в кнопку меню. В меню вы увидите App Store. Затем нажмите клавишу Enter. В поле поиска в верхней части экрана введите «Kali Linux» и нажмите клавишу Enter. Kali Linux будет доступен через Microsoft App Store, как показано на прикрепленном скриншоте.

Затем вам нужно щелкнуть приложение Kali Linux. Просто нажмите кнопку «Получить» и дождитесь завершения установки. Весь процесс займет несколько минут, в зависимости от интернет-соединения вашей системы.

После завершения установки. успешно, закройте окно.

Введите слово «Kali» в область поиска. Теперь, когда Kali Linux работает, нам нужно ввести имя пользователя и пароль. Для начала вам нужно использовать командную строку. Для начала может потребоваться немного времени.

Введите любое имя пользователя по вашему выбору. Например, andreyex — это имя созданного нами пользователя. Имя может варьироваться в зависимости от вашей потребности в словах. Затем в следующей строке введите свой пароль и нажмите Enter.

Для проверки среды вы должны выполнить добавленную команду:

$ cat /etc/issue

Среда будет проверена выполнением предыдущей команды. Теперь нам нужно обновить систему с помощью приведенной ниже команды:

$ sudo apt update

Обновление займет некоторое время. Теперь выполните следующую команду:

$ sudo apt-get dist-upgrade

Поскольку пароль необходим, введите пароль и нажмите клавишу Enter. Эти две команды загрузят и установят обновления в вашей системе. В результате ваш компьютер с Kali Linux будет обновлен. Теперь Kali Linux настроен в системе. Вы можете запускать команды и выполнять функции в соответствии с вашими рабочими требованиями.

Заключение

В заключение, Kali Linux — фантастическая операционная система, которую использует широкий круг профессионалов. Это операционная система, о которой должен знать каждый в ИТ-секторе и любители компьютеров из-за ее комплексных утилит, надежности и простоты использования. Это программное обеспечение является прекрасным дополнением к Магазину Windows для пользователей с оптимальным знанием Linux и твердым пониманием возможностей многочисленных инструментов тестирования на проникновение в Kali Linux и того, как загружать эти инструменты. Это сделало Kali Linux более доступным для пользователей Windows, упростив процесс установки. Теперь мы надеемся, что вы сможете быстро и эффективно установить Kali Linux в операционную систему Windows 10.



2021-08-28T12:34:54
Kali Linux

Книга: Web 3.0. Часть 1. Настоящее вчерашнего завтра

Книга: Web 3.0. Часть 1. Настоящее вчерашнего завтра

Web 3.0. Часть I. Настоящее вчерашнего завтра
Первая часть первой русскоязычной книги о Web 3.0. Не только о том, каким будет, но и о том, каким видится разным людям: от разработчиков до редпринимателей.

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

Web 3.0: Токенизация, или Завтрашний мир сегодня
Вторая часть книги про Web 3.0: на этот раз основа повествования — экономика, а точнее — её преломления через токены, и всё, что с этим связано (DeFi, ICO, IEO, перенос реального сектора в онлайн мир с помощью p2p и прочее). Читать

Подключение Kali Linux к беспроводной сети

Сегодня беспроводные сети более распространены на открытых площадках и в крупных корпорациях, где требуется усиление безопасности для управления аутентичностью и конфиденциальностью. Беспроводная сеть позволяет участникам оставаться на связи в роуминге без проводов. Поскольку точки доступа усиливают сигналы Wi-Fi, машина может находиться далеко от маршрутизатора и при этом оставаться подключенной к сети. Вы подключаетесь к беспроводной сети этого учреждения, когда подключаетесь к точке доступа Wi-Fi в кафе или другом общественном месте. Радиочастотная (RF) технология управляет беспроводными сетями, частота, связанная с передачей радиоволн в электромагнитном спектре. Всякий раз, когда RF-ток направляется в антенну, он создает электромагнитное поле, которое может перемещаться по космосу. Большинству людей знаком значок беспроводной связи на ноутбуке или телефоне, обозначающий исправное беспроводное подключение к локальной сети, но немногие знакомы с древностью технологии Wi-Fi. Удивительно, но Wi-Fi был создан как маркетинговый термин для продвижения и облегчения взаимодействия между различными системами беспроводных локальных сетей, а не самой технологии. Wi-Fi никогда не задумывался как более короткая версия беспроводной связи; это была просто игра на фразе hi-fi (высокое качество воспроизведения), дань уважения большим аудиотехнологиям. Поскольку беспроводные сети передают данные по воздуху, утечка данных всегда возможна. По сравнению с медным кабелем беспроводные сети имеют больший риск утечки и взлома данных. В результате в беспроводных сетях повышенная концентрация шифрования данных является обязательной. Емкость устройства беспроводной сети может быть увеличена без необходимости прокладки дополнительных кабелей. В кабельных сетях LAN необходима дополнительная медная проводка для увеличения числа рабочих. Мы можем запустить Kali Linux по беспроводной сети после настройки нашей беспроводной сети. Мы можем получить все свободы типичного ПК в законном этическом тесте на проникновение, потому что нам не нужен провод Ethernet.

 

Способ подключения Kali Linux к беспроводной сети

Цель этой статьи — показать, как разрешить и остановить Wi-Fi в Kali Linux. Это можно сделать через графический интерфейс или командную строку, и в этом руководстве мы научим вас, как это сделать.

Это пригодится, если у вас возникли проблемы с доступом к беспроводному маршрутизатору или вы собираетесь использовать Aircrack-ng для мониторинга и взлома WiFi.

Способ 1

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

$ IP a

Идентификатор нашего WiFi-соединения в этом примере — eth0. Введите следующую прикрепленную команду, чтобы отключить соединение WiFi.

$ sudo ifconfig eth0 down

Введите следующую команду, чтобы перезагрузить устройство и активировать Wi-Fi. Затем мы также запускаем команду «IP a», чтобы увидеть, работает ли ссылка.

$ sudo ifconfig eth0 up

 

Способ 2

Программа Network Manager Text User Interface (nmtui) предоставляет вам текстовый интерфейс для работы с Network Manager и настройки вашей сети Kali Linux. Поскольку инструмент nmtui управляет Network Manager, мы должны сначала убедиться, что служба NetworkManager присутствует в нашей системе Kali Linux.

Выполните указанную ниже инструкцию на терминале Kali Linux.

$ nmtui

Как только выполнение вышеперечисленной команды завершится, в вашем окне kali Linux появится графический пользовательский интерфейс, который покажет эти три параметра:

  • Редактировать соединение
  • Активировать соединение
  • Установить имя хоста системы

Нажмите «ОК» после выбора «Активировать соединение».

Подключение Kali Linux к беспроводной сети

Как только вы выберете опцию «Активировать соединение», вы увидите другой экран. Отсюда вы можете построить беспроводную сеть.

Подключение Kali Linux к беспроводной сети

 

Заключение

Эта статья научила нас, как разрешать и ограничивать Wi-Fi в Kali Linux с помощью графического интерфейса и командной строки. Если ваш компьютер не подключается к сети Wi-Fi или не имеет доступа к Интернету, используйте это как средство устранения неполадок. Я надеюсь, что вам будет легко следовать этой статье в вашей системе Kali Linux.



2021-08-27T19:43:51
Kali Linux

Через сколько устройств проходит ваше соединение, прежде чем вы перейдете на веб-сайт?

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

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

 

Запросы и ответы

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

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

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

Эти файлы содержат код, который может быть написан на нескольких языках — HTML, CSS, Perl, JavaScript и т. д. Активы включают изображения, видео, аудио и любые другие носители для отображения или загрузки.

 

Серверы

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

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

На серверах установлены операционные системы — обычно специальные версии Linux или Windows. Эти операционные системы предназначены для размещения на серверах и обработки их соединений. Думайте об операционной системе как об одном из операторов коммутатора, который использовался для маршрутизации телефонных звонков. Когда клиент подключается к хост-серверу, операционная система знает, что делать с входящим подключением.

Когда сервер получает HTTP-запрос, он знает, как его обработать, и в случае успеха вернуть соответствующий ответ.

 

Протоколы

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

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

  • HTTP: этот протокол определяет общий язык для клиента и хоста, на котором они будут разговаривать друг с другом. Запросы, которые вы отправляете на онлайн-серверы, будут в формате HTTP.
  • TCP/IP: эти протоколы связи определяют способ передачи данных в Интернете. В частности, IP-уровень отвечает за направление пакетов на конкретный компьютер. Уровень TCP отвечает за направление этих пакетов на правильный порт на клиентском компьютере, поэтому они попадают в нужное приложение.

 

Служба доменных имен

Рассмотрим URL-адрес http://www.example.com/pogs/boglins. Часть URL-адреса example.com содержит информацию о местоположении и личности хоста. Часть адреса «/ pogs / boglins» указывает, к какой части веб-сайта вы хотите получить доступ. Вы можете думать о первой части как о номере телефона, который соединяет вас с конкретным бизнесом, а о последней части как о добавочном номере, позволяющем напрямую подключаться к нужному телефону.

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

Чтобы найти IP-адрес, ваш браузер выполняет поиск в службе доменных имен (DNS). Этот процесс похож на поиск телефонного номера в телефонной книге.

Когда вы регистрируете доменное имя, вам присваивается IP-адрес. Таким образом, когда example.com зарегистрирован, он добавляется в реестр доменных имен вместе со связанным IP-адресом. Когда браузер выполняет поиск в DNS для example.com, он находит связанный IP-адрес сервера, на котором хранится веб-сайт, и устанавливает соединение перед отправкой запроса пользователя.

 

HTML

Основным компонентом большинства веб-страниц является файл HTML. Это исходный код веб-страницы; он содержит все инструкции, необходимые браузеру для правильного отображения страницы. Он также сообщает браузеру, какие ресурсы ему нужно запросить у хоста.

Каждый дополнительный актив представляет собой отдельный запрос между клиентом и хостом. Иногда код HTML вызывает внешний скрипт, возможно, скрипт Python или Perl. В этом сценарии могут быть последующие вызовы других ресурсов. Никакие ресурсы не загружаются, если они не запрашиваются, однако многие веб-браузеры кэшируют определенные элементы, поэтому при повторном посещении страницы вам нужно будет загрузить только измененный контент.

 

Загрузка веб-сайта

Давайте посмотрим, как все эти отдельные компоненты объединяются при загрузке веб-сайта.

Когда вы щелкаете гиперссылку или вводите URL-адрес в свой веб-браузер, ваш веб-браузер выполняет поиск в DNS, который сообщает ему IP-адрес сервера, на котором размещен запрашиваемый вами веб-сайт. Затем он устанавливает соединение с хостом, используя протокол TCIP/IP.

Как только соединение установлено, клиент отправляет HTTP-запрос на хост, запрашивая либо домашнюю страницу, либо конкретную страницу или файл.

Если запрос клиента успешен, хост отправит запрошенные данные. Прежде чем данные будут отправлены обратно в веб-браузер клиента, они разбиваются на пакеты. Затем веб-браузер берет все эти отдельные части и объединяет их в отдельные файлы. Первоначально это обычно исходный HTML-код веб-страницы, который сообщает веб-браузеру, какие ресурсы запрашивать и как их отображать. Затем браузер отображает веб-сайт, который вы видите.

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



2021-08-27T15:57:52
Сервер

Mysql. Установка и добавление данных/Настройка Master-Master репликации/Настройка Master-Slave репликации/Администрирование percona mysql

Решил написать несколько статей о установке, настройке и роботе с mysql базой данных. В качестве mysql-сервера будем использовать Percona Server 5.6 под управлением операционной системой Ubuntu 12.04. Данная серия статей будет полезной для людей, которые впервые сталкиваются с базами данных(БД) mysql, и хотят немного изучить установку, базовые команды(запросы), научиться делать backup и restore данных, настройку и тестирование репликации БД percona mysql.
В этой части пойдет речь о базовой установке и добавлении тестовой БД, репликация которой будет настроена далее.

Поскольку статьи будут взаимосвязаны, наведем схему репликации (рис. 1) и базовую конфигурацию серверов.




Роль хостаИмя хоста (hostname)IP хоста
Master server 1m-serv1192.168.1.201
Master server 2m-serv2192.168.1.202
Slave server 1m-slave1192.168.1.203
Slave server 2m-slave2192.168.1.204




Рисунок 1 — Схема репликации







1 Установка




Для начала нам нужно установить Percona Server 5.6.
Mysql нужно установить на всех серверах, в нашем случаи на 4-х (2 мастера, 2 слейва). Начинаем установку.




root@m-serv1:~# apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.igWqa1jBp0 --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
gpg: requesting key CD2EFD2A from hkp server keys.gnupg.net
gpg: key CD2EFD2A: public key "Percona MySQL Development Team <mysql-dev@percona.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1
 
root@m-serv1:~# cat >> /etc/apt/sources.list.d/percona-mysql.list
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
root@m-serv1:~# apt-get update
root@m-serv1:~# apt-get install percona-server-server




При установке, у Вас спросят пароль root-a, который будет использоваться для подключения к mysql серверу – не забудьте его. Далее можно запустить mysql_secure_installation для обновления пароля, удаления ненужных БД и пользователей.




root@m-serv1:~# mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
Remove anonymous users? [Y/n] Y
 ... Success!
 
Disallow root login remotely? [Y/n] Y
 ... Success!
 
Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reload privilege tables now? [Y/n] Y
 ... Success!




Все эти действия нужно проделать на m-serv2m-slave1 и m-slave2. Теперь можно создать тестовую БД.




2 Добавление данных




2.1 Создание тестовой БД




Можно создать БД (testdb) на одном сервере, сделать ее дамп и развернуть на всех остальных. Что мы и сделаем.
Подключаемся на m-serv1 к mysql консоли и создаем тестовую БД.




root@m-serv1:~# mysql -u root -p
mysql> CREATE DATABASE testdb;




Далее добавим таблицу в новую БД.




mysql> CREATE TABLE IF NOT EXISTS testdb.users (id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20));




Теперь добавим одну строку в таблицу users.




mysql> INSERT INTO users(name) VALUES ("Alex");




Далее проверим что у нас получилось.




mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+
5 rows in set (0.02 sec)
 
mysql> use testdb; show tables;
Database changed
+------------------+
| Tables_in_testdb |
+------------------+
| users            |
+------------------+
1 row in set (0.00 sec)
 
mysql> use testdb; select * from users;
Database changed
+----+------+
| id | name |
+----+------+
|  1 | Alex |
+----+------+
1 row in set (0.00 sec)
 
mysql> use testdb; describe users;
Database changed
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20)      | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.03 sec)




Как видим, мы успешно создали БД testdb и в ней создали таблицу users, в которую добавили новую запись.




2.2 Дамп и деплой БД на всех серверах




Снимаем дамп нашей новой БД и копируем его на второй мастер m-serv2.




root@m-serv1:~# mysqldump -u root -p testdb  > testdb.sql
root@m-serv1:~# rsync testdb.sql alex@m-serv2:/home/alex/




Теперь логинимся на второй сервер и разворачиваем дамп.




root@m-serv2:~# mysql -u root -p -e 'create database testdb;'
root@m-serv2:~# mysql -uroot -p testdb < testdb.sql
root@m-serv2:~# mysql -u root -p -e 'use testdb; select * from users;'
+----+------+
| id | name |
+----+------+
|  1 | Alex |
+----+------+




Те же действия нужно проделать со слейвами(m-slave1 и m-slave2), т.е. синкануть БД на оба слейва и развернуть таким же макаром.




2.3 Создание юзера для репликации




Теперь нужно создать юзера, который будет заниматься репликацией. Для этого переходим в mysql консоль и создаем юзера replica с правами “replication slave”.




mysql> CREATE USER 'replica'@'%' IDENTIFIED BY '%repl2015';
Query OK, 0 rows affected (0.22 sec)
 
mysql> GRANT replication slave ON *.* TO 'replica'@'%';
Query OK, 0 rows affected (0.10 sec)




Как вы поняли, эти действия нужно проделать на всех 4-х серверах.




3 Настройка репликации




В mysql существует два типа репликации данных:




  • Master-Slave
  • Master-Master




Master-Slave репликация. На Master сервере данные добавляются, удаляются и изменяются. Slave сервер стягивает эти обновления себе и постепенно выполняет все полученные запросы. Если на Slave сервере будет добавлена новая таблица или БД, то данные не попадут на Master.
При Master-Master репликации данные попавшие на оба сервера будут среплицированы между собой.




3.1 Master-Master репликация




Сначала настроим Мастер-Мастер репликацию (рис. 2).




Рисунок 2 — Схема Master-Master репликации




Теперь переходим к настройке репликации.
Для этого нам нужно добавить конфигурационный файл /etc/mysql/my.cnf для каждого mysql-сервера, который входит в репликацию. Здесь нужно прописать уникальный идентификатор сервера и БД, которые нужно и не нужно реплицировать. Также здесь прописывается множество дополнительных настроек mysql сервера, о которых можно узнать на официальном сайте. Я же наведу самую нужную малость.




3.1.1 Настройка m-serv1 мастера




Сначала настроим первый мастер-сервер.




root@m-serv1:~# cat /etc/mysql/my.cnf
[mysqld]
#Уникальный идентификатор сервера
server-id = 1
 
#Логи ошибок
log_error = /var/log/mysql/mysql.err
 
#Путь к bin-логам сервера(бинлог, который ведет мастер)
log-bin = /var/lib/mysql/server-mysql-bin
log-bin-index = /var/lib/mysql/server-mysql-bin.index
 
#Путь к relay-логам слейва (бинлог, скачанный с мастера)
relay-log = /var/lib/mysql/slave-mysql-relay-bin
relay-log-index = /var/lib/mysql/slave-mysql-relay-bin.index
 
#БД, которые нужно/не нужно реплицировать
replicate-do-db = testdb
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
 
#Не вести журнал бин-лога для БД
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
 
#Чтобы не было конфликтов автоинкремента, говорим серверу,
#чтобы id генерировались начиная с 3-го прибавляя по 10,
# например 13, 23, 33, 43...
auto_increment_increment = 10
auto_increment_offset = 3
 
#Сохранять логи с мастера в своий бин-лог, чтобы передать слейву
log-slave-updates




Как видим, здесь мы добавили для репликации только testdb БД. Теперь рестартуем mysql.




root@m-serv1:~# /etc/init.d/mysql restart
 * Stopping MySQL (Percona Server) mysqld                                                                                                                       [ OK ]
 * Starting MySQL (Percona Server) database server mysqld                                                                                                       [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.




3.1.2 Настройка m-serv2 мастера




Настройка второго мастера аналогична первому, только меняется id и offset




root@m-serv2:~# cat /etc/mysql/my.cnf
[mysqld]
#Уникальный идентификатор сервера
server-id = 2
 
#Логи ошибок
log_error = /var/log/mysql/mysql.err
 
#Путь к bin-логам сервера(бинлог, который ведет мастер)
log-bin = /var/lib/mysql/server-mysql-bin
log-bin-index = /var/lib/mysql/server-mysql-bin.index
 
#Путь к relay-логам слейва (бинлог, скачанный с мастера)
relay-log = /var/lib/mysql/slave-mysql-relay-bin
relay-log-index = /var/lib/mysql/slave-mysql-relay-bin.index
 
#БД, которые нужно/не нужно реплицировать
replicate-do-db = testdb
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
 
#Не вести журнал бин-лога для БД
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
 
#Чтобы не было конфликтов автоинкремента, говорим серверу,
#чтобы id генерировались начиная с 4-го прибавляя по 10,
# например 14, 24, 34, 44...
auto_increment_increment = 10
auto_increment_offset = 4
 
#Сохранять логи с мастера в своий бин-лог, чтобы передать слейву
log-slave-updates




Рестартуем mysql.




root@m-serv2:~# /etc/init.d/mysql restart
 * Stopping MySQL (Percona Server) mysqld                                                                                                                       [ OK ]
 * Starting MySQL (Percona Server) database server mysqld                                                                                                       [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.




3.1.3 Запуск репликации




Сначала запустим репликацию на первом мастере m-serv1. Для этого нам нужно знать MASTER_LOG_FILE и MASTER_LOG_POS m-serv2 сервера, т.е. нашего второго мастера. Логинимся на m-serv2 и смотрим master status.




root@m-serv2:~# mysql -u root -p -e 'show master status;'
+-------------------------+----------+--------------+------------------------------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB                                 | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------------------------------+-------------------+
| server-mysql-bin.000001 |      120 |              | information_schema,mysql,performance_schema      |                   |
+-------------------------+----------+--------------+------------------------------------------+-------------------+




Следовательно MASTER_LOG_FILE = server-mysql-bin.000001, а MASTER_LOG_POS = 120. Теперь переходим на m-serv1 и настраиваем репликацию.




root@m-serv1:~# mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST = '192.168.1.202', MASTER_USER = 'replica', MASTER_PASSWORD = '%repl2015', MASTER_LOG_FILE = 'server-mysql-bin.000001', MASTER_LOG_POS = 120;"




Все интуитивно понятно. Теперь стартуем слейв и смотрим статус.




root@m-serv1:~# mysql -u root -p -e 'start slave;'
root@m-serv1:~# mysql -u root -p -e 'show slave status G;'
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.202
                  Master_User: replica
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: server-mysql-bin.000001
          Read_Master_Log_Pos: 120
               Relay_Log_File: slave-mysql-relay-bin.000002
                Relay_Log_Pos: 290
        Relay_Master_Log_File: server-mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: testdb
          Replicate_Ignore_DB: information_schema,mysql,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 120
              Relay_Log_Space: 469
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2
                  Master_UUID: 25f9f3ac-fd3b-11e4-bb77-080027ead940
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0




Со всего этого вывода нас интересуют Seconds_Behind_Master (время отставания реплики от мастера), Slave_IO_State (должно писать, что ждет новостей от мастера), Slave_IO_Running (Yes) и Slave_SQL_Running (Yes). Если репликация идет нормально, реплика будет следовать за мастером (номер лога в Master_Log_File и позиция Exec_Master_Log_Pos будут расти). Отставания реплики от мастера (Seconds_Behind_Master), должно быть нулевым, но может расти. Если же значение Slave_IO_State пусто, а Seconds_Behind_Master равно NULL, репликация не началась.
У нас все гуд. Поэтому узнаем master статус на m-serv1 и беремся за m-serv2.




root@m-serv1:~# mysql -u root -p -e 'show master status;'
+-------------------------+----------+--------------+------------------------------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB                                 | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------------------------------+-------------------+
| server-mysql-bin.000005 |      120 |              | information_schema,mysql,performance_schema      |                   |
+-------------------------+----------+--------------+------------------------------------------+-------------------+




Логинимся на m-serv2 и стартуем репликация.




root@m-serv2:~# mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST = '192.168.1.201', MASTER_USER = 'replica', MASTER_PASSWORD = '%repl2015', MASTER_LOG_FILE = 'server-mysql-bin.000005', MASTER_LOG_POS = 120;"
root@m-serv2:~# mysql -u root -p -e 'start slave;'
root@m-serv2:~# mysql -u root -p -e 'show slave status G;'
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.201
                  Master_User: replica
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: server-mysql-bin.000005
          Read_Master_Log_Pos: 120
               Relay_Log_File: slave-mysql-relay-bin.000002
                Relay_Log_Pos: 290
        Relay_Master_Log_File: server-mysql-bin.000005
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: testdb
          Replicate_Ignore_DB: information_schema,mysql,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 120
              Relay_Log_Space: 469
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: f208be92-fa66-11e4-a905-08002742f2f0
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0




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




3.1.4 Тестируем репликацию




Теперь можно немножко и протестировать. Перейдем на m-serv1 и добавим в testdb.users новую строку.




root@m-serv1:~# mysql -u root -p -e 'USE testdb; INSERT INTO users(name) VALUES ("Vova");'
root@m-serv1:~# mysql -u root -p -e 'USE testdb; SELECT * FROM users;'
+----+------+
| id | name |
+----+------+
|  1 | Alex |
|  3 | Vova |
+----+------+




Теперь проверим среплицировалась ли запись на второй сервер.




root@m-serv2:~# mysql -u root -p -e 'USE testdb;SELECT * FROM users;'
+----+------+
| id | name |
+----+------+
|  1 | Alex |
|  3 | Vova |
+----+------+




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




root@m-serv2:~# mysql -u root -p -e 'USE testdb; INSERT INTO users(name) VALUES ("Pasha");'
root@m-serv2:~# mysql -u root -p -e 'USE testdb; SELECT * FROM users;'
+----+-------+
| id | name  |
+----+-------+
|  1 | Alex  |
|  3 | Vova  |
|  4 | Pasha |
+----+-------+




Смотрим на первом мастере.




root@m-serv1:~# mysql -u root -p -e 'USE testdb; SELECT * FROM users;'
+----+-------+
| id | name  |
+----+-------+
|  1 | Alex  |
|  3 | Vova  |
|  4 | Pasha |
+----+-------+




Как видим, все ок. Добавим еще по одной записи.




root@m-serv1:~# mysql -u root -p -e 'USE testdb;INSERT INTO users(name) VALUES ("Frodo");'
root@m-serv1:~# mysql -u root -p -e 'USE testdb; SELECT * FROM users;'
+----+-------+
| id | name  |
+----+-------+
|  1 | Alex  |
|  3 | Vova  |
|  4 | Pasha |
| 13 | Frodo |
+----+-------+
 
root@m-serv2:~# mysql -u root -p -e 'USE testdb; INSERT INTO users(name) VALUES ("Misha");'
root@m-serv2:~# mysql -u root -p -e 'USE testdb; SELECT * FROM users;'
+----+-------+
| id | name  |
+----+-------+
|  1 | Alex  |
|  3 | Vova  |
|  4 | Pasha |
| 13 | Frodo |
| 14 | Misha |
+----+-------+




Как видим, если запись добавлена с сервера m-serv1, то поле auto_increment(id) имеет значения 3, 13, а при добавлении записей с m-serv2, эти значения равны 4, 14. Это нужно чтобы избежать ошибок типа Duplicate entry.




Продолжим знакомство с Percona mysql репликацией и перейдем к настройке и тестированию Master-Slave репликации. Как и в предыдущих статьях, наведу рисунок нашей схемы репликации, которую мы затеяли (рис. 3).




Рисунок 3 — Схема Master-Slave репликации




3.2 Master-Slave репликация




Мастер-Мастер репликация была настроена, теперь можно добавлять слейвы (рис. 3). Для этого нам нужно добавить конфигурационный файл /etc/mysql/my.cnf для каждого mysql-слейва, который входит в репликацию.




3.2.1 Настройка m-slave1 слейва




Сначала настроим первый слейв-сервер.




root@m-slave1:~# cat /etc/mysql/my.cnf
[mysqld]
#Уникальный идентификатор сервера
server-id = 3
 
#Логи ошибок
log_error = /var/log/mysql/mysql.err
 
#Путь к relay-логам слейва (бинлог, скачанный с мастера)
relay-log = /var/lib/mysql/slave-mysql-relay-bin
relay-log-index = /var/lib/mysql/slave-mysql-relay-bin.index
 
#БД, которые нужно/не нужно реплицировать
replicate-do-db = testdb
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
 
#Чтобы не было конфликтов автоинкремента, говорим серверу,
#чтобы id генерировались начиная с 4-го прибавляя по 10,
# например 11, 21, 31, 41...
auto_increment_increment = 10
auto_increment_offset = 1




Теперь рестартуем mysql




root@m-slave1:~# /etc/init.d/mysql restart
 * Stopping MySQL (Percona Server) mysqld                                                                                                                       [ OK ]
 * Starting MySQL (Percona Server) database server mysqld                                                                                                       [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.




3.2.2 Настройка m-slave2 слейва




Переходим к настройке второго слейва.




root@m-slave2:~# cat /etc/mysql/my.cnf
[mysqld]
#Уникальный идентификатор сервера
server-id = 4
 
#Логи ошибок
log_error = /var/log/mysql/mysql.err
 
#Путь к relay-логам слейва (бинлог, скачанный с мастера)
relay-log = /var/lib/mysql/slave-mysql-relay-bin
relay-log-index = /var/lib/mysql/slave-mysql-relay-bin.index
 
#БД, которые нужно/не нужно реплицировать
replicate-do-db = testdb
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
 
#Чтобы не было конфликтов автоинкремента, говорим серверу,
#чтобы id генерировались начиная с 4-го прибавляя по 10,
# например 12, 22, 32, 42...
auto_increment_increment = 10
auto_increment_offset = 2




Теперь рестартуем mysql




root@m-slave2:~# /etc/init.d/mysql restart
 * Stopping MySQL (Percona Server) mysqld                                                                                                                       [ OK ]
 * Starting MySQL (Percona Server) database server mysqld                                                                                                       [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.




3.2.3 Запуск репликации




Если вы следовали  пункту 3.1.4  (Тестирование мастер репликации) после настройки Мастер – Мастер репликации, то на обоих слейвах нужно разворачивать новый дамп testdb, так как в эту БД добавлялись данные. Т.е. для слейва m-slave1 нужно снять дамп с мастера m-serv1 и развернуть (описано в  пункте 2.2 Дамп и деплой), для m-slave2 дамп нужно снять с m-serv2 и развернуть. После того, как дамп будет развернут, у нас будут следующие данные в БД testdb.




root@m-slave1:~# mysql -u root -p -e 'use testdb;select * from users;'
Enter password:
+----+-------+
| id | name  |
+----+-------+
|  1 | Alex  |
|  3 | Vova  |
|  4 | Pasha |
| 13 | Frodo |
| 14 | Misha |
+----+-------+




Т.е. те же данные, что остались на мастер-серверах после тестирования Масте-Мастер репликации.
Теперь осталось запустить репилкацию. В случаи с m-slave1 мастер сервер должен быть m-serv1, поэтому переходим на первый мастер сервер и смотрим MASTER_LOG_FILE и MASTER_LOG_POS.




root@m-serv1:~# mysql -u root -p -e 'show master status;'
Enter password:
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB                                 | Executed_Gtid_Set |
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+
| server-mysql-bin.000006 |      120 |              | information_schema,mysql,performance_schema      |                   |
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+




Следовательно MASTER_LOG_FILE = server-mysql-bin.000006, а MASTER_LOG_POS = 120. Теперь переходим обратно на m-slave1 и настраиваем репликацию.




root@m-slave1:~# mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST = '192.168.1.201', MASTER_USER = 'replica', MASTER_PASSWORD = '%repl2015', MASTER_LOG_FILE = 'server-mysql-bin.000006', MASTER_LOG_POS = 120;"




Все интуитивно понятно. Теперь стартуем слейв и смотрим статус.




root@m-slave1:~# mysql -u root -p -e 'start slave;'
root@m-slave1:~# mysql -u root -p -e 'show slave status G;'
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.201
                  Master_User: replica
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: server-mysql-bin.000006
          Read_Master_Log_Pos: 120
               Relay_Log_File: slave-mysql-relay-bin.000002
                Relay_Log_Pos: 290
        Relay_Master_Log_File: server-mysql-bin.000006
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: testdb
          Replicate_Ignore_DB: information_schema,mysql,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 120
              Relay_Log_Space: 469
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: f208be92-fa66-11e4-a905-08002742f2f0
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0




Все ок. Теперь делаем те же движения для m-slave2. Переходим на второй мастер сервер и смотрим MASTER_LOG_FILE и MASTER_LOG_POS.




root@m-serv2:~# mysql -u root -p -e 'show master status;'
Enter password:
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB                                 | Executed_Gtid_Set |
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+
| server-mysql-bin.000002 |      120 |              | information_schema,mysql,performance_schema      |                   |
+-------------------------+----------+--------------+--------------------------------------------------+-------------------+




Следовательно MASTER_LOG_FILE = server-mysql-bin.000002, а MASTER_LOG_POS = 120. Теперь переходим обратно на m-slave2 и настраиваем репликацию.




root@m-slave2:~# mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST = '192.168.1.202', MASTER_USER = 'replica', MASTER_PASSWORD = '%repl2015', MASTER_LOG_FILE = 'server-mysql-bin.000002', MASTER_LOG_POS = 120;"




Все интуитивно понятно. Теперь стартуем слейв и смотрим статус.




root@m-slave2:~# mysql -u root -p -e 'start slave;'
root@m-slave2:~# mysql -u root -p -e 'show slave status G;'
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.202
                  Master_User: replica
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: server-mysql-bin.000002
          Read_Master_Log_Pos: 120
               Relay_Log_File: slave-mysql-relay-bin.000002
                Relay_Log_Pos: 290
        Relay_Master_Log_File: server-mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: testdb
          Replicate_Ignore_DB: information_schema,mysql,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 120
              Relay_Log_Space: 469
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2
                  Master_UUID: 25f9f3ac-fd3b-11e4-bb77-080027ead940
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0




3.2.4 Тестируем репликацию




Тестируем всю нашу цепочку репликации (рис. 1). Перейдем на первый мастер сервер и добавим новую запись в testdb.users.




root@m-serv1:~# mysql -u root -p -e 'USE testdb; INSERT INTO users(name) VALUES ("Server1 record");'
root@m-serv1:~# mysql -u root -p -e 'select * from testdb.users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
+----+----------------+




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




root@m-slave1:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
+----+----------------+
 
root@m-slave2:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
+----+----------------+
 
root@m-serv2:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
+----+----------------+




Как видим, все в порядке. Теперь добавим запись на втором мастере.




root@m-serv2:~# mysql -u root -p -e 'USE testdb; INSERT INTO users(name) VALUES ("Server2 record");'
root@m-serv2:~# mysql -u root -p -e 'select * from testdb.users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
| 24 | Server2 record |
+----+----------------+




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




root@m-slave1:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
| 24 | Server2 record |
+----+----------------+
 
root@m-slave2:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
| 24 | Server2 record |
+----+----------------+
 
root@m-serv1:~# mysql -u root -p -e 'use testdb;select * from users;'
+----+----------------+
| id | name           |
+----+----------------+
|  1 | Alex           |
|  3 | Vova           |
|  4 | Pasha          |
| 13 | Frodo          |
| 14 | Misha          |
| 23 | Server1 record |
| 24 | Server2 record |
+----+----------------+




Как видим, репликация работает как и предполагалось.




4. Распространенные ошибки




==========================================================================
Ошибка: ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
Решение:




mysql> reset slave;
Query OK, 0 rows affected (0.00 sec)
 
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.201', MASTER_USER='rep_user', MASTER_PASSWORD='rep_user', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=120, MASTER_CONNECT_RETRY=10;
Query OK, 0 rows affected, 2 warnings (0.05 sec)
 
mysql> start slave;




==========================================================================
Ошибки:




  • Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND for deleting row
  • Can’t drop database ‘********’: database doesn’t exist’
  • Error ‘Duplicate entry’
  • Could not execute Write_rows event on table ***********: Duplicate entry ‘XXXXXXXX’ for key ‘ххххххх’, Error_code: 1062




Решение: Эти ошибки можно просто скипнуть, но посмотреть их причины сначала.




mysql -uroot -p -e 'STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE;'




==========================================================================
Ошибка: Relay log read failure (#1594): Could not parse relay log event entry.
Решение:




#Подключаемся к серверу, где возникла проблема и смотрим статус репликации
root@server:~# mysql -uroot -p -e 'show slave status G;' | grep -E 'Relay_Master_Log_File|Exec_Master_Log_Pos'
        Relay_Master_Log_File: mysql-bin.008189
      Exec_Master_Log_Pos: 71687831
 
# Останавливаем репликацию и обновляем бин-лог и позицию
#master_log_file = Relay_Master_Log_File = mysql-bin.008189
#master_log_pos = Exec_Master_Log_Pos = 71687831
root@server:~# mysql -uroot -p -e "STOP SLAVE;"
root@server:~# mysql -uroot -p -e "CHANGE MASTER TO master_log_file='mysql-bin.008189', master_log_pos=71687831;"
 
#Стартуем слейв
root@server:~# mysql -uroot -p218e5ccb4a834382%FBF87B604F1FE14B -e "START SLAVE;"




==========================================================================




5. Полезные команды




5.1 Резервное копирования и восстановление БД




Дамп одной базы данных.




mysqldump -u root -p companyDB  > company_DB.sql




Дамп нескольких баз данных.




mysqldump -u root -p --databases companyDB projectsDB  > company_and_projects_DBs.sql




Дамп всех баз данных.




mysqldump -u root -p --all-databases > all_DBs.sql




Дамп одной таблицы.




mysqldump -u root -p companyDB employeesTB > companyDB_employeesTB.sql




Дамп структуры базы данных.




mysqldump -u root -p --no-data companyDB > companyDB_structure.sql




Дамп только триггеров, процедур и событий с gzip-ом.




mysqldump --no-create-info --no-data --triggers --routines --events –u root -p companyDB| gzip > companyDB.sql.gz




Простой скрипт дампа для cron-a.




#!/bin/bash
# Список БД через пробел
dbs="cacti_db inventory_db monitor_db"
# Маленький лог файл для хранение информиции о старте бекапа
echo "`date +%Y-%m-%d` - Start sync backups" >> /tmp/backup.log
for databases in $dbs
do
        /usr/bin/mysqldump --max_allowed_packet=512M -uroot -p'your_pass_here' $databases | gzip > /tmp/`date +${databases}.sql.%Y-%m-%d.gz`
        if [ "$?" -eq 0 ]
        then
                /usr/bin/rsync --remove-source-files -a /tmp/`date +${databases}.sql.%Y-%m-%d.gz` mystorage.company.com:/backups/
        else
                echo "`date +%Y-%m-%d` - FAILED to sync $databases" >> /tmp/backup.log
        fi
done




Развернуть дамп существующей базы данных, способ 1.




mysql -u root -p companyDB < companyDB.sql




Развернуть дамп существующей базы данных, способ 2.




mysql> use companyDB;
mysql> source companyDB.sql




Развернуть дамп существующей базы данных из архива.




zcat companyDB.sql.gz | mysql -u root -p companyDB




Развернуть дамп несуществующий базы данных, способ 1.




mysql> create database companyDB;
mysql> use companyDB;
mysql> source companyDB.sql;




Развернуть дамп несуществующий базы данных, способ 2.




mysql -u root -p -e "create database companyDB;"
mysql -u root -p companyDB < companyDB.sql




5.2 Переменные, состояние и статус БД




Проверить состояние БД.




mysqladmin -u root -p ping




Узнать версию БД.




mysqladmin -u root -p version
или
mysql> select version();




Статус БД.




mysqladmin -u root -p status
или
mysql> status;




Здесь,




  • Uptime: сколько секунд работает mysql сервер.
  • Threads: суммарное количество подключений к mysql серверу.
  • Questions: суммарное количество выполненных запросов за время работы сервера.
  • Slow queries: суммарное число запросов, выполненных за время, которое превышает long_query_time.
  • Opens: суммарное количество открытых таблиц сервером.
  • Flush tables: сколько раз таблица была flushed.
  • Open tables: суммарное количество открытых таблиц в базе.




Список переменных статуса mysql.




mysqladmin -u root -p extended-status
или
mysql -u root -p -e 'show status;'




Список всех системных(глобальных) переменных сервера.




mysqladmin -u root -p variables
или
mysql> show variables;




Список процессов/запросов в mysql.




mysqladmin -u root -p processlist
или
mysql> show processlist;




Обновлять каждую секунду список процессов.




mysqladmin -u root -p -i 1 processlist




Список золочёных таблиц.




mysql -u root -p -e 'show open tables WHERE In_use > 0;'




Перезагрузка(запись изменений) привилегий.




mysqladmin -u root -p reload




Очистка (закроет все базы и переоткроет логи).




mysqladmin -u root -p refresh




Потушить сервер.




mysqladmin -u root -p shutdown




Stop/start репликации.




mysqladmin  -u root -p stop-slave
mysqladmin  -u root -p start-slave




5.3 Работа со базами данных и таблицами




Поменять пароль root-а.




mysqladmin -u root -p'old_pass' password 'new_pass'
или
mysql> use mysql;
mysql> update user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';




Создать БД.




mysqladmin -u root -p create test1db
или
mysql> create database test1db;




Удалить БД.




mysqladmin -u root -p drop test1db
или
mysql> drop test1db;




Список flush-команд.




mysqladmin -u root -p flush-hosts
mysqladmin -u root -p flush-logs
mysqladmin -u root -p flush-privileges
mysqladmin -u root -p flush-status
mysqladmin -u root -p flush-tables
mysqladmin -u root -p flush-threads




Несколько команд в одной.




mysqladmin -u root -p processlist stat




Посмотреть существующие базы.




mysqlshow -u root -p




Посмотреть все таблицы конкретной БД.




mysqlshow -u root -p test1db




… с количеством полей




mysqlshow -v -u root -p test1db




… с количеством полей и строк




mysqlshow -v -v -u root -p test1db




… со структурой таблицы




mysqlshow -u root -p mysql servers




… со структурой таблицы по конкретному полю




mysqlshow -u root -p mysql servers server_name




5.4 Работа с пользователями




Создать нового юзера




mysql> create user 'user1'@'localhost' identified by 'user1pass';




Добавить все права на все базы и все таблицы.




#GRANT [тип прав] ON [название БД].[название таблицы] TO '[имя пользователя]'@'localhost';
mysql> grant ALL PRIVILEGES ON *.* to 'user1'@'localhost';
mysql> flush privileges;




Удаление прав для пользователя.




#REVOKE [тип прав] ON [название БД].[название таблицы] FROM '[имя пользователя]'@'localhost';
mysql> revoke ALL on *.* from 'user1'@'localhost';




Удалить пользователя.




mysql> drop user 'user1'@'localhost';




5.4.1 Сброс пароля root, если забыли.




1. Остановка сервера




# /etc/init.d/mysql stop




2. Запуск mysql со скипом привилегий




mysqld --skip-grant-tables --user=mysql &
или
mysqld_safe --skip-grant-tables &




3. Логинимся в БД без пароля. Пароль хэшируется с помощью функции PASSWORD(str). Это специальная функция, которая возвращает строку 16-byte и используется системой аутентификации исключительно mysql сервером. Поэтому, используйте MD5 или SHA1 для хранения паролей приложений, которые юзают mysql, но не PASSWORD.




mysql> use mysql;
mysql> select Host,User,Password  from user;
+-----------+------------------+-------------------------------------------+
| Host      | User             | Password                                  |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *30657C01D8312B05274147BF51D53702F90CB68C |
| ubuntu    | root             | *30657C01D8312B05274147BF51D53702F90CB68C |
| 127.0.0.1 | root             | *30657C01D8312B05274147BF51D53702F90CB68C |
| ::1       | root             | *30657C01D8312B05274147BF51D53702F90CB68C |
| localhost |                  |                                           |
| ubuntu    |                  |                                           |
| localhost | debian-sys-maint | *90A841D52ED52171F0500125A2460FA4443BCF7F |
+-----------+------------------+-------------------------------------------+
7 rows in set (0.00 sec)




4. Теперь меняем пароль.




mysql> update user set Password=PASSWORD('alex1111') WHERE User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0




5. Так как данная информация храниться в mysql кэше — нужно его освободить, иначе пароль останется закешированным и дела не будет




mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)




6. Теперь останавливаем mysqld, который запускали вручную и запускаем init-скрипт.




kill `pgrep mysql`
/etc/init.d/mysql start
 * Starting MySQL (Percona Server) database server mysqld




Установка и настройка Percona XtraDB Cluster




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

Создадим Percona XtraDB Cluster с трех серверов под управлением операционной системы Ubuntu 12.04.
Установка будет произведена из репозитория. Для начала, логинимся на первый сервер, добавляем ключик и репозитории.




root@pxc1:~#apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
root@pxc1:~#vim /etc/apt/sources.list.d/pxe.list
…
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
...
root@pxc1:~#apt-get update




Теперь ставим непосредственно Percona XtraDB Cluster пакет.




root@pxc1:~#apt-get install percona-xtradb-cluster-56




Во время установки нужно будет ввести пароль для доступа к mysql БД.
Перед добавлением ноды в кластер, нужно стопнуть mysql.




root@pxc1:~#/etc/init.d/mysql stop




Добавляем главный конфигурационных файл для первого mysql PXC1 сервера.




root@pxc1:~#cat /etc/mysql/my.cnf
…
[mysqld]
 
# Логи
log_error = /var/log/mysql/mysql.err
# Директория с БД
datadir=/var/lib/mysql
# Пользователь
user=mysql
# Путь к Galera модуля
wsrep_provider=/usr/lib/libgalera_smm.so
# URL с IP адресами серверов, которые входят в кластер
wsrep_cluster_address=gcomm://192.168.1.150,192.168.1.151,192.168.1.152
# Формат бинлогов
binlog_format=ROW
# Дефолтный механизм хранения данных
default_storage_engine=InnoDB
# Режим лока при работе с автоинкремент значениями
innodb_autoinc_lock_mode=2
 
# Адрес первой ноды в кластере
wsrep_node_address=192.168.1.150
 
# Метод передачи снепшотов БД
wsrep_sst_method=xtrabackup-v2
 
# Имя кластера
wsrep_cluster_name=test_mysql_cluster
 
# Аутентификация для SST
wsrep_sst_auth="sstuser:DOGUQpj0Se8Q9oy7"
…




Теперь можно стартовать mysql сервер в режиме bootstrap.




root@pxc1:~#/etc/init.d/mysql bootstrap-pxc




После этого у нас добавиться первая нода в кластер. Для проверки, можно запустить команду.




root@pxc1:~# mysql -u root -p -e "show status like 'wsrep%';" | grep -E 'local_state|cluster|ready|connected'
 
wsrep_local_state_uuid  b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_local_state       4
wsrep_local_state_comment       Synced
wsrep_cluster_conf_id   1
wsrep_cluster_size      1
wsrep_cluster_state_uuid        b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_cluster_status    Primary
wsrep_connected ON
wsrep_ready     ON




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




root@pxc1:~# mysql -u root -p
 
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'DOGUQpj0Se8Q9oy7';
Query OK, 0 rows affected (1.27 sec)
 
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
Query OK, 0 rows affected (0.62 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.48 sec)




Далее переходим к настройке второго сервера. Устанавливаем mysql Percona XtraDB Cluster таким же образом и переходим к редактированию my.cnf файла.




root@pxc2:~#cat /etc/mysql/my.cnf
…
[mysqld]
 
# Логи
log_error = /var/log/mysql/mysql.err
# Директория с БД
datadir=/var/lib/mysql
# Пользователь
user=mysql
# Путь к Galera модуля
wsrep_provider=/usr/lib/libgalera_smm.so
# URL с IP адресами серверов, которые входят в кластер
wsrep_cluster_address=gcomm://192.168.1.150,192.168.1.151,192.168.1.152
# Формат бинлогов
binlog_format=ROW
# Дефолтный механизм хранения данных
default_storage_engine=InnoDB
# Режим лока при работе с автоинкремент значениями
innodb_autoinc_lock_mode=2
 
# Адрес первой ноды в кластере
wsrep_node_address=192.168.1.151
 
# Метод передачи снепшотов БД
wsrep_sst_method=xtrabackup-v2
 
# Имя кластера
wsrep_cluster_name=test_mysql_cluster
 
# Аутентификация для SST
wsrep_sst_auth="sstuser:DOGUQpj0Se8Q9oy7"
…




И стартуем mysql в нормально режиме.




root@pxc2:~#/etc/init.d/mysql start




После этого, второй сервер добавиться в кластер. Проверяем.




root@pxc2:~# mysql -u root -p -e "show status like 'wsrep%';" | grep -E 'local_state|cluster|ready|connected'
 
wsrep_local_state_uuid  b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_local_state       4
wsrep_local_state_comment       Synced
wsrep_cluster_conf_id   4
wsrep_cluster_size      2
wsrep_cluster_state_uuid        b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_cluster_status    Primary
wsrep_connected ON
wsrep_ready     ON




Ну и добавляем последнюю ноду. Устанавливаем Percona XtraDB Cluster и создаем my.cnf.




root@pxc3:~#cat /etc/mysql/my.cnf
…
[mysqld]
 
# Логи
log_error = /var/log/mysql/mysql.err
# Директория с БД
datadir=/var/lib/mysql
# Пользователь
user=mysql
# Путь к Galera модуля
wsrep_provider=/usr/lib/libgalera_smm.so
# URL с IP адресами серверов, которые входят в кластер
wsrep_cluster_address=gcomm://192.168.1.150,192.168.1.151,192.168.1.152
# Формат бинлогов
binlog_format=ROW
# Дефолтный механизм хранения данных
default_storage_engine=InnoDB
# Режим лока при работе с автоинкремент значениями
innodb_autoinc_lock_mode=2
 
# Адрес первой ноды в кластере
wsrep_node_address=192.168.1.152
 
# Метод передачи снепшотов БД
wsrep_sst_method=xtrabackup-v2
 
# Имя кластера
wsrep_cluster_name=test_mysql_cluster
 
# Аутентификация для SST
wsrep_sst_auth="sstuser:DOGUQpj0Se8Q9oy7"
…




И стартуем mysql.




root@pxc3:~#/etc/init.d/mysql start




Проверяем статус кластера.




root@pxc3:~# mysql -u root -p -e "show status like 'wsrep%';" | grep -E 'local_state|cluster|ready|connected'
 
wsrep_local_state_uuid  b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_local_state       4
wsrep_local_state_comment       Synced
wsrep_cluster_conf_id   7
wsrep_cluster_size      3
wsrep_cluster_state_uuid        b2cf979d-54ca-11e5-9bb4-628c43a251a6
wsrep_cluster_status    Primary
wsrep_connected ON
wsrep_ready     ON




Как видим, у нас все 3 ноды успешно добавлены в кластер. Теперь можно протестировать работу.
Переходим на первую ноду, создаем тестовую БД, таблицу и добавляем запись в неё.




root@pxc1:~# mysql -u root –p
 
mysql> CREATE DATABASE firstDB;
Query OK, 1 row affected (0.01 sec)
 
mysql> USE firstDB;
Database changed
 
mysql> CREATE TABLE records (rec VARCHAR(50));
Query OK, 0 rows affected (0.08 sec)
 
mysql> INSERT INTO records VALUE ("pxc1 record");
Query OK, 1 row affected (0.12 sec)
 
mysql> SELECT * FROM records;
+-------------+
| rec         |
+-------------+
| pxc1 record |
+-------------+
1 row in set (0.00 sec)




Теперь идем на второй сервер и проверяем работает ли репликация.




root@pxc2:~# mysql -uroot -p
 
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| firstDB            |
| mysql              |
| performance_schema |
| test               |
+--------------------+




Как видим, БД среплицировалась. Теперь добавив еще одну запись в таблицу.




mysql> INSERT INTO records VALUE ("pxc2 record");
Query OK, 1 row affected (0.04 sec)
 
mysql> SELECT * FROM records;
+-------------+
| rec         |
+-------------+
| pxc1 record |
| pxc2 record |
+-------------+
2 rows in set (0.00 sec)




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




root@pxc3:~# mysql -u root -p
 
mysql> USE firstDB;
Database changed
 
mysql> SELECT * FROM records;
+-------------+
| rec         |
+-------------+
| pxc1 record |
| pxc2 record |
+-------------+
2 rows in set (0.00 sec)




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




Источник: http://sysadm.pp.ua/linux/mysql-install.html



2021-08-27T15:36:39
Software

Руководство от 2021 года по обеспечению безопасности вашего ноутбука

Гибридные и удаленные расписания никуда не денутся: согласно недавнему исследованию, 30% американских компаний заявили, что они полностью перешли на удаленный доступ, а 43% — что они позволяют половине офиса работать из дома на ноутбуке, а другой половине — с компьютера. офис. В целом работодатели в подавляющем большинстве хорошо отреагировали на это изменение, назвав гибкость и удобство главными преимуществами.

Однако этот крупный переход к удаленной работе также вызвал дополнительное давление на компании, которые теперь должны обучать и обучать своих сотрудников, чтобы сотрудники не становились жертвами киберпреступников. Хотя компьютер компании может быть взломан в любое время, в том числе в офисных помещениях, эти инциденты встречаются реже, поскольку рабочая среда строго контролируется и существует ряд мер безопасности. Но когда сотрудник забирает домой свой рабочий ноутбук, он становится более уязвимым. Киберпреступники быстро воспользовались этой уязвимостью, и количество атак на рабочие ноутбуки увеличилось. Чтобы не стать жертвой, следуйте этим советам:

 

Защитите свою домашнюю сеть

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

Хорошая новость заключается в том, что вам не нужно быть экспертом в области ИТ- безопасности, чтобы защитить свою домашнюю сеть:

  • Всегда меняйте пароль по умолчанию, установленный на вашем маршрутизаторе.
  • Создайте надежный пароль Wi-Fi с прописными и строчными буквами, цифрами и специальными символами.
  • Измените свое имя Wi-Fi на то, что ваша семья узнает, но это не раскрывает вашу личность или адрес.
  • Включите шифрование WEP, WPA или WPA2 в настройках роутера.
  • Следите за устройствами, которые подключаются к вашей сети Wi-Fi. Если вы видите что-то подозрительное, удалите это и измените пароль.

 

Зашифруйте свое общение

Одно из самых больших преимуществ использования рабочего ноутбука заключается в том, что вы не ограничены одним местом. В зависимости от вашего образа жизни вы можете работать из дома, но также можете работать в кафе или коворкингах, которые появляются по всему миру. Однако недостатком такой настройки является то, что она может быть небезопасной. При просмотре веб-страниц на рабочем ноутбуке в незащищенных сетях, таких как общедоступный Wi-Fi, киберпреступники могут просматривать вашу онлайн-активность с помощью анализа пакетов и атак типа «злоумышленник в середине». Например, вы можете подумать, что подключаетесь к Wi-Fi в кафе, но если хакеры используют ананас Wi-Fi, на самом деле вы можете подключиться к другой сети. Чтобы не подвергать ваши данные киберпреступникам в Интернете,  купите VPN. чтобы скрыть свой IP-адрес и зашифровать ваш онлайн-трафик, чтобы его не увидели третьи лица. Использование VPN (виртуальной частной сети) — это универсальная хорошая практика, которой должна следовать вся семья, но это еще более важно, когда вы используете рабочие ноутбуки, которые содержат конфиденциальную бизнес-информацию.

 

Будьте осторожны при использовании ноутбука в общественных местах

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

  • Работая в кафе, не оставляйте списки паролей и другие рабочие документы на столе, где их могут видеть все.
  • Носите ноутбук с собой куда угодно. Никогда не оставляйте его без присмотра, даже если он защищен паролем.
  • Убедитесь, что никто не видит ваш экран, когда вы используете рабочий ноутбук в общественном месте.
  • Остерегайтесь незнакомцев, которые говорят, что работают в одной компании, и спрашивают личные данные.
  • Перепроверяйте электронные письма потенциальных клиентов. Хакеры могут притвориться, что искренне заинтересованы в услугах компании, и попросить вас оплачивать счета в мошеннических аккаунтах. Также нередки случаи, когда хакеры выдают себя за руководителей высокого уровня и обманом заставляют их переводить средства.

 

Всегда следуйте рекомендациям компании

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

Чаще всего политики кибербезопасности компании включают в себя такие рекомендации, как:

  • Перед началом работы авторизуйтесь в VPN компании.
  • Хранение личных и рабочих файлов отдельно.
  • Не входите в свои личные учетные записи в социальных сетях с рабочего ноутбука или вообще не используйте рабочий ноутбук в личных целях (например, для покупок в Интернете).
  • Всегда устанавливайте обновления программного обеспечения по запросу.
  • Регулярно меняйте  пароли,  каждый раз создавая надежные пароли .
  • Создавайте резервные копии рабочих файлов по указанию.

 

Включите «Найти меня» и удаленную очистку

В идеале ваш рабочий ноутбук никогда не потеряется или не украдут, но к этому нужно быть готовым. Когда вы работаете в кафе или на общем рабочем месте, это, к сожалению, возможно. Если вы используете Mac в качестве рабочего компьютера, убедитесь, что вы включили «Найти меня», чтобы вы могли легко определить его местонахождение. Для дополнительной безопасности вам также следует включить удаленную очистку. Таким образом, если у вас есть основания полагать, что ноутбук был взломан и неавторизованная сторона получила доступ к вашим данным, вы сотрете с него все. Если вы не используете Mac, вы можете установить сторонние инструменты отслеживания и удаленной очистки, но всегда сначала запускайте их ИТ-отделом для авторизации.

 

Заключение

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



2021-08-27T15:09:41
Безопасность