По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет, сегодня расскажем что такое база данных и SQL. У современных баз данных куча нюансов - погнали разбираться. Представь - собираешь ты деньги на подарок корешу, и записываешь на бумажке, кто сколько скинул. Табличка с денежками организована, разделена по именам и сумме долга, и имеет удобную структуру - ну вот оно, это и есть база данных! Ага, теперь, перемещаемся в цифровое пространство и заводим целый эксель файл для этого дела. Стало удобнее, можно редактировать, сортировать и даже данные удалять! Круто! Но достаточно ли этого для роста этой базы данных? Нет. Со временем данных становится так много, что админам приходится связывать их друг с другом, а тут одним эксель файлом уже не обойтись. Представим, решили вы сделать свой аналог ютуба, как будете хранить инфу о пользователях? Список юзеров, там, каналы, кто на что подписан, лайки и вот это все. Сложить это все в одну таблицу? Будет неудобно и медленно работать. Очевидно, надо разделить сущности на несколько таблиц - юзеры, каналы и видосы: Теперь свяжем данные между собой и добавим информацию о том, кто создал канал, и на каком канале залили видео. Ага, получились связанные таблицы. Связанные, от слова связь. А связь, это по-английски relation. А в айти тусовке они так и называются - реляционные базы данных, и это один самых распространенных типов баз данных. Еще есть нереляционные базы данных, о них подробнее можно прочитать в этой статье про NoSQL. Уф, ну теперь с данными стало гораздо удобнее работать, и мы избежали большой таблицы с повторяющимися строчками, разбив все на несколько табличек. Такой процесс еще называется нормализацией, когда мы избавляемся от избыточных данных. Ну и как раз для этого мы ввели в каждой таблице специальное поле - ID, которое идентифицирует каждую запись. Этот айди называется Primary Key, он же “первичный ключ”. А в таблице которая будет на него ссылаться, он будет называться Foreign Key, или по-русски “внешний ключ”. Нырнем в детали и поговорим про типы связей между таблицами. Первый тип называется “Один-ко-многим” или “многие-к-одному” (One-to-Many или Many-to-One). В нашем примере, у каждого видео может быть только один канал, где оно выложено, но на одном канале может быть много видео, поэтому в двух последних строках ID канала у нас повторяется, верно? Отношения «один-ко-многим» также можно рассматривать как отношения «многие-к-одному», в зависимости от того, с какой стороны вы на это смотрите. Второй тип связей называется “один-к-одному” (One-to-One) - классические табличные отношения. Вообще, это редко используемый тип связи, обычно его делают для безопасности. Это как если на нашем аналоге ютуба, мы разрешили бы создавать только один канал одному пользователю и в таблице с каналами ID создателя не могло повторяться. Такое себе, согласен? В таком случае вообще можно было бы обойтись и одной таблицей. Ну и третий тип связей, это “многие ко многим” (Many-to-many). Это когда у нас появляется промежуточная таблица связей, которая как бы соединяет два отношения “один ко многим”, которые мы обсудили в начале разбора типов связей. Давайте сделаем таблицу с лайками балалайками, где будем хранить ID пользователей и ID видео, к которым они поставили лайк: А вот так они связан: каждый пользователь может поставить лайк каждому видео. Теперь вопрос - а где все это хранить? Не в экселе же. И тут на сцену выходит термин СУБД, она же система управления базами данных - это программа, которая позволяет создавать, редактировать и администрировать реляционную базу. Ну и для управления всей этой петрушкой используется язык структурированных запросов, SQL (Structured Query Language) эскюэль или сиквел, как иногда его называют за рубежом. Он очень простой и понятный, вот смотри - чтобы найти названия всех видео с одного канала, нам нужно выполнить следующий запрос: SELECT name FROM videos WHERE channel_id = 201 То есть мы буквально говорим: выбери (SELECT) имена из (FROM) таблицы видео, где (WHERE) айдишник (ID) канала равен 201. Если вы хотите взять данные из нескольких таблиц и объединить результат, то нужно использовать в запрос параметр JOIN (от английского соединить). Вот такая упрощающая жизнь админам аналогия с разговорным языком. Так, SQL конечно позволяет добавлять, удалять и изменять данные и сами таблицы. Но важно не забывать про схему базы данных (Database schema), которая служит для описания структуры таблицы, ее полей и ограничений. Прикол в том, что если вам потребуется добавить или убрать столбец в таблице, то это изменение коснется вообще всех данных в таблице, таким образом если мы добавляем новый столбец, то он теперь будет присутствовать в каждой строке. Окей, а для чего вообще нужны ограничения? Для целостности твоих данных. Помнишь мы рассказали про первичный и внешний ключ? Так вот, благодаря им мы можем удостовериться, что в таблицу не попадет запись, которая ссылается на несуществующий айдишник. Или различные ограничения полей, которые не дадут записать дублирующие или пустые данные в нашу базу (Not NULL и Unique). И еще: транзакции. Эта штука, которая позволяет как бы склеить несколько SQL запросов в один. Ну вот представь такую задачку: вставить данные в первую таблицу, а во второй указать ID вставленной записи. Если ты делаешь это без использования транзакций, а во время второго этапа у тебя отвалится интернет, то первая запись попадет в базу, а вторая нет. Ага, появляется интернет, и ты с улыбкой на лице идешь снова выполнить эти запросы, только на этот раз получишь ошибку, что такая запись уже есть, ибо первая то уже в базе! А в случае использования транзакций, при получении ошибки, мы откатимся до того момента, который был до начала транзакции. А еще все эти радости помогают реляционным БД (базам данных) соответствовать так называемым требованиям ACID, которые нужны для сохранности данных - это очень важно в банковской отрасли, или любой другой, где целостность и сохранность данных супер важны. Давай разберемся с аббревиатурой: Atomicity — атомарность, или же проще говоря, непрерывность: это как раз про транзакции, которые мы обсудили только что. Либо операция выполняется целиком, либо никак. Consistency — согласованность: данные, записываемые в таблицу должны соответствовать всем выставленным правилам и ограничениям, помнишь, мы говорили про первичный и внешний ключи, а также про уникальность? Isolation — изолированность: если вы гоняете тонну транзакций одновременно, они не должны пересекаться и влиять друг на друга. Это очень важно для высоконагруженных баз Durability — надежность: если мы получили подтверждение, что транзакция выполнена, то значит наши данные в сохранности, даже если после этого произошел сбой. Ну и в качестве примеров таких баз данных назовем: Microsoft SQL Server, Oracle Database, MySQL, MariaDB и PostgreSQL.
img
В интерфейсе Elastix 4 существует большое множество инструментов, позволяющих осуществлять автоматическое распределение звонков. Про один из таких инструментов, мы расскажем в сегодняшней статье. Речь пойдёт о модуле Follow Me, с помощью которого можно перенаправить звонок, поступивший на определенный внутренний номер по любому направлению, доступному на IP-АТС. Настройка Давайте перейдём к настройке. Для того, чтобы попасть в модуль проходим следующий путь – с главной страницы - PBX → PBX Configuration → Follow Me, откроется следующее окно: Справа находится список доступных внутренних номеров (Extensions), настроенных на нашей IP-АТС, для которых мы будем настраивать правила Follow Me. Для каждого Extension’а правила настраиваются отдельно. Выберем из списка нужный номер, например - 112 – Operator2, откроется функционал модуля Follow Me: Как видно, функционал модуля делится на 4 части - Edit Follow Me, Call Confirmation Configuration, Change External CID Configuration и Destination if no answer Если нажать в самом верху на кнопку Edit Extension 112, то мы попадаем в модуль настройки внутреннего номера – Extensions, для номера 112. Нажав на кнопку Delete Entries, мы удалим правила Follow Me для номера 112. Раздел Edit Follow Me Данном разделе настраиваются основные правила модуля, а именно – стратегия обзвона, время, в течение которого будет звонить телефон 112, прежде чем переключиться на другие номера, список номеров, на которые необходимо распределить звонок по определенной стратегии и т.п. Рассмотрим доступные функции данного раздела: Disable - Включает или отключает правила Follow Me для данного номера Initial Ring Time - Время, в течение которого АТС будет пытаться установить соединение с данным номером, прежде чем включатся правила Follow Me и не пойдёт обзвон номеров из списка Follow-me List Ring Strategy - Стратегия обзвона номеров из списка Follow-me List Ring Time - Время, в течение которого будут АТС будет пытаться установить соединение с номерами, указанными в Follow-me List. Максимально возможное значение – 60 секунд Follow-Me List - Список номеров, на которые необходимо распределить вызов по выбранной в Ring Strategy стратегии. Можно отправлять вызовы на внешние и мобильные номера, для этого нужно указать префикс выхода на внешнюю линию, которую использует ваш провайдер, сам мобильный или внешний номер и в конце обязательно #. Например 984951234567# - где 8 – префикс выхода на внешнюю линию. Extension Quick Pick - На каком номере должна закончиться стратегия обзвона Announcement - Голосовое сообщение. Можно например сообщить, что вызов переводится на секретаря. Записи добавляются через модуль - System Recordings Play Music On Hold? - Проигрывать ли Music On Hold CID Name Prefix - Опционально можно добавить звонкам некий префикс, который будет отображаться на телефонах при звонке по правилам Follow Me. Alert Info - Данная опция помогает различить звонки с разных SIP устройств Раздел Call Confirmation Configuration Данный раздел помогает настроить опции подтверждения принятия звонка. Особенно полезно, когда в Follow Me указаны внешние номера. Confirm Calls - Если данная опция включена и звонок уходит на внешний номер, то удаленной стороне будет озвучено предложение “нажмите 1 если хотите принять звонок”. Remote Announce - Сообщение удаленной стороне с предложением принять звонок, например - “нажмите 1 если хотите принять звонок” Too-Late Announce - Сообщение удаленной стороне о том, что звонок уже успели принять, прежде чем они нажали цифру 1 Раздел Change External CID Configuration В данном разделе доступны настройки отображения CallerID: Destination if no Answer Данный раздел позволяет настроить правила, по которым будет обрабатываться звонок, если ни один из номеров в списке Follow-Me List его не принял. Это может быть любое направление, доступное на IP-АТС – IVR, группа обзвона, голосовая почта и прочие.
img
Несмотря на то, что системы на базе Linux считаются самыми неуязвимыми, всё же существуют риски, к которым нужно относиться серьезно. Руткиты, вирусы, программы-вымогатели и многие другие вредоносные программы часто могут атаковать и вызывать проблемы на серверах Linux. Независимо от установленной операционной системы, для серверов необходимо принимать повышенные меры безопасности. Крупные корпорации и организации взялись за повышение уровня безопасности и разработали инструменты, которые не только обнаруживают недостатки и вредоносные программы, но и исправляют их и принимают меры для предотвращения разного вида неприятностей. Но такие ПО стоят дорого и не все могут позволить себе их покупать. К счастью, есть инструменты, по приемлемой цене или вовсе бесплатные, которые могут помочь с поиском и устранением уязвимостей. Они могут обнаруживать слабые места в различных разделах сервера на базе Linux. Lynis Lynis это известный инструмент безопасности, который пользуется популярностью среди Linux специалистов. Он также работает на системах на базе Unix и macOS. Это программное обеспечение с открытым исходным кодом, которое с 2007 года распространяется под лицензией GPL. Lynis не требует установки. Можно извлечь его из загруженного пакета или tar архива и запустить. Чтобы получить доступ к полной документации и исходному коду, можно скачать его с Git, Lynis был создан автором Rkhunter Майклом Боеленом. Она имеет две версии: для домашнего пользования и для предприятий. Обе версии показывают отличные результаты. Chkrootkit Как вы уже наверно предположили, chkrootkit утилита для сканирования системы на наличие руткитов. Руткиты это вид вредоносного ПО, который дает неавторизованному пользователю право на вход в систему. Если в парке есть сервера на базе Linux, то руткиты могут стать настоящей проблемой. Chkrootkit одна из самых популярных программ на базе Unix, которая помогает обнаруживать руткиты в системе. Для обнаружения проблем она использует команды "strings" (команда Linux для просмотра содержимого бинарного файла) и "grep". Она может быть запущена как с альтернативной директории, так и внещнего накопителя в случае работы с уже скомпрометированной системой. Различные компоненты chkrootkit занимаются поиском удалённые записи в "wtmp" и "lastlog" файлах, находят записи сниффера или конфигурационных файлов руткитов, а также проверяют на наличие скрытых записей в "/proc" или вызовов программы "readdir". Чтобы использовать эту утилиту нужно скачать последнюю версию, распаковать, скомпилировать и запустить. Rkhunter Майкл Болин разработчик, который создал в 2003 году Rkhunter. Эта очень полезная программа для POSIX систем помогает обнаруживать руткиты и другие уязвимости в системах Linux. Rkhunter тщательно просматривает файлы (скрытые или видимые), каталоги по умолчанию, модули ядра и неправильно настроенные разрешения в поисках слабых мест. После обычной проверки, он сопоставляет результаты с безопасными и правильными записями баз данных и ищет подозрительное ПО. Так как программа полностью написана на Bash, его можно использовать не только на Linux, но и на всех версиях Unix. ClamAV Написанный на C++ ClamAV антивирус с открытым исходным кодом, который помогает выявлять вирусы, трояны и другие виды вредоносных программ. Он полностью бесплатен, ввиду чего очень много пользователей используют его для сканирования персональных данных включая электронную почту на наличие вредоносных файлов любого типа. Он так же может быть использован для сканирования серверов. Изначально он был создан только для Unix. Несмотря на это, есть сторонние версии, которые можно использовать на Linux, BSD, AIX, MacOS, OpenVMS, Solaris. ClamAV регулярно выполняет автоматическое обновление баз данных для выявления самых последних угроз. Есть возможность сканирования в режиме командной строки, а также включает в себя расширяемый многопоточный демон, благодаря чему, существенно увеличивается скорость сканирования. Он проверяет различные типы файлов на наличие уязвимостей. Антивирус поддерживает все типы сжатых файлов включая RAR, Zip, Gzip, Tar, Cabinet, OLE2, CHM, SIS format, BinHex и почти все типы почтовых систем. LMD Linux Malware Detect LMD другой очень популярный продукт для Linux систем, специально разработанный для часто встречающихся угроз. Как и другие подобные продукты для поиска вредоносных программ и руткитов, LMD использует базу сигнатур для выявления и прекращения работы любого вредоносного кода. LMD не ограничивается собственными базами сигнатур. Для лучшего поиска он может использовать базы ClamAV и Team Cymru. Для заполнения своих баз, LMD собирает данные об уязвимостях на пограничных системах обнаружения угроз. Тем самым он генерирует новые сигнатуры для вредоносных ПО, которые активно эксплуатируются в атаках. Radare2 Radare2 (R2) фреймворк для анализа и реверс-инжиниринга двоичных файлов с превосходными возможностями обнаружения. Он может выявить заражённые файлы, даёт пользователю инструменты для управления ими, нейтрализует потенциальные угрозы. Фереймворк использует NoSQL базу sdb. Исследователи безопасности и разработчики ПО предпочитают эту программу за возможность отличного визуального представления данных. Одной из отличительных особенностей Radare2 является то, что пользователь не должен использовать командную строку для выполнения таких задач, как статический/динамический анализ и использование программного обеспечения. Рекомендуется для любого типа исследований по бинарным данным. OpenVAS Open Vulnarability Assessment System или OpenVAS эта размещённая система для сканирования уязвимостей и управления ими. Она предназначена для предприятий любого размера и помогает выявлять невидимые проблемы безопасности в инфраструктуре. Изначально этот продукт был известен под названием GNessUs, до тех пор, пока новый владелец, Greenbone Networks, не сменил название на OpenVAS. Начиная с версии 4.0, OpenVAS предоставляет непрерывное обновление Сетевой базы Тестирования Уязвимостей обычно менее чем за 24 часа. На июнь 2016 система имеет больше 47 тысяч баз. Эксперты безопасности используют OpenVAS из-за возможности быстрого сканирования. Он также отличается превосходной возможностью конфигурирования. Программы OpenVAS могут использоваться на автономных виртуальных машинах для проведения безопасных исследований вредоносных программ. Его исходный код доступен под лицензией GNU GPL. Многие другие средства обнаружения уязвимостей зависят от OpenVAS - именно поэтому его принимают как важнейшую программу в платформах на базе Linux. REMnux REMNux использует метод обратного-инжиниринга для анализа вирусов. Он может обнаруживать большинство проблем на основе браузера, скрытых в изменённых фрагментах кода JavaScript и апплетах Flash. Он также способен сканировать PDF-файлы и выполнять экспертизу памяти. Средство помогает обнаруживать вредоносные программы внутри папок и файлов, которые сложно проверить с помощью других программ обнаружения вирусов. Он эффективен благодаря своим возможностям декодирования и обратного проектирования. Он может определять свойства подозрительных программ, и, будучи легким, он в значительной степени не обнаруживается интеллектуальными вредоносными программами. Он может использоваться как на Linux, так и на Windows, а его функциональность может быть улучшена с помощью других инструментов сканирования. Tiger В 1992 году Техасский Университет A&M начал работать над Tiger для повышения безопасности компьютеров кампуса. Сегодня же она самая популярная система для Unix-подобных платформ. Уникальность этого решения заключается в том, что оно является не только средством аудита безопасности, но и системой обнаружения вторжений. Программа свободно распространяются под лицензией GPL. Она зависит от средств POSIX, и вместе они могут создать идеальную инфраструктуру, которая может значительно повысить безопасность вашего сервера. Tiger полностью написан на shell - это одна из причин его эффективности. Он подходит для проверки состояния и конфигурации системы, а его многоцелевое использование делает его очень популярным среди людей, использующих инструменты POSIX. Maltrail Maltrail - это система обнаружения трафика, способная обеспечить чистоту трафика вашего сервера и помочь ему избежать любых угроз. Она выполняет эту задачу, сравнивая источники трафика с сайтами в черном списке, опубликованными в Интернете. Помимо проверки сайтов, включенных в черный список, она также использует усовершенствованные эвристические механизмы для обнаружения различных видов угроз. Даже если это необязательная функция, она пригодится, когда вы считаете, что ваш сервер уже подвергся атаке. Эта система имеет особый сенсор, способный обнаруживать трафик сервера, и посылать информацию на сервер Maltrail. Система обнаружения проверяет, достаточно ли безопасен трафик для обмена данными между сервером и источником. YARA Созданная для Linux, Windows и macOS, YARA (Yet Another Ridiculous Acronym) является одним из наиболее важных инструментов, используемых для исследования и обнаружения вредоносных программ. Он использует текстовые или двоичные шаблоны для упрощения и ускорения процесса обнаружения, что упрощает и ускоряет решение задачи. У YARA есть некоторые дополнительные функции, но для их использования необходима библиотека OpenSSL. Даже если у вас нет этой библиотеки, вы можете использовать YARA для базового исследования вредоносных программ с помощью механизма, основанного на правилах. Также его можно использовать в песочнице Cuckoo - песочнице на основе Python, идеальной для проведения безопасных исследований вредоносного программного обеспечения. Как выбрать лучшую утилиту? Все инструменты, о которых мы говорили выше, работают очень хорошо, и когда инструмент популярен в среде Linux, вы можете быть уверены, что его используют тысячи опытных пользователей. Нужно помнить, что каждое приложение обычно зависит от других программ. Например, это касается ClamAV и OpenVAS. Необходимо понять, что нужно вашей системе и в каких компонентах она может иметь уязвимости. Во-первых, используйте легковесный инструмент, чтобы изучить, какой раздел требует внимания. Затем используйте соответствующий инструмент для решения проблемы.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59