По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Контейнеры Docker и Kubernetes - движущая сила современного жизненного цикла разработки программного обеспечения. Хотя Docker - более безопасный вариант, чем работа непосредственно на главном компьютере, при работе с контейнерами может возникнуть множество потенциальных проблем безопасности.
В эту статью включены десять рекомендаций по безопасности контейнеров, которые помогут предотвратить атаки и нарушения безопасности.
1. Регулярно обновляйте Docker и хост
Убедитесь, что ваш хост и Docker обновлены. Используйте последнюю версию ОС и программное обеспечение для контейнеризации, чтобы предотвратить уязвимости системы безопасности. Каждое обновление включает критические исправления безопасности, необходимые для защиты хоста и данных.
Обновление Docker не ограничивается самой платформой. Запущенные контейнеры не обновляются автоматически. Вы также должны обновить контейнеры и образы, на которых они основаны.
2. Настройте квоты ресурсов.
Чтобы избежать взлома контейнеров, которые чрезмерно потребляют ресурсы, установите ограничения на использование памяти и ЦП Docker.
Не настраивая квоты ресурсов, вы предоставляете контейнеру доступ ко всем ресурсам ОЗУ и ЦП хоста. Поскольку это настройка по умолчанию, рекомендуется ограничить количество ресурсов, которые может использовать контейнер, чтобы это не нарушило работу других служб.
Это не только предотвращает использование контейнером всех ресурсов, но также помогает поддерживать эффективность среды Docker. Квоты ресурсов обеспечивают работу контейнеров с ожидаемой скоростью и повышают безопасность.
3. Используйте пользователей без полномочий root
Docker позволяет запускать контейнер в привилегированном режиме. Хотя это может быть более быстрый способ обойти некоторые протоколы безопасности, вы всегда должны воздерживаться от использования этой практики.
Опасность запуска привилегированного контейнера заключается в том, что он открывает дверь для потенциальной вредоносной активности. Привилегированный пользователь Docker имеет те же привилегии, что и root. Это означает, что у него есть доступ к функциям ядра и другим устройствам на хосте. Злоумышленник может войти в вашу хост-систему через контейнер и подвергнуть опасности все, что находится на ней.
Придерживаться исключительно пользователей без полномочий root просто, так как это настройки Docker по умолчанию. Чтобы изменить конфигурацию по умолчанию, вам нужно будет добавить флаг --privileged в команду docker run. Однако это серьезная угроза безопасности и не должна использоваться.
4. Ограничьте возможности
Контейнеры имеют ограниченный набор возможностей Linux. Например, они могут позволить пользователю запускать контейнер с эффективностью root, но без полных привилегий root.
Ограниченные возможности Docker являются настройками безопасности по умолчанию, и они одинаковы для каждого контейнера. Поэтому рекомендуется изменить возможности, чтобы включить только то, что необходимо. Администратор управляет ими с помощью параметров --cap-add и --cap-drop.
Самый безопасный способ настроить возможности контейнера - удалить все (используя параметр --cap-drop = ALL), а затем добавить необходимые.
5. Запретить новые привилегии
Как видно из приведенного выше примера, Docker позволяет изменять возможности и привилегии контейнеров после их запуска. Чтобы предотвратить атаки повышения привилегий, рекомендуется определить привилегии контейнера.
Чтобы запретить процессам-контейнерам получать новые привилегии, используйте флаг --security-opt со значением no-new-privileges: true. Добавление флага в команду docker run перезаписывает все правила, которые вы установили с помощью параметров --cap-add и --cap-drop.
Кроме того, вы можете удалить или отключить двоичные файлы setuid и setgid в образах. Это гарантирует, что функция не будет использоваться для обхода/инъекции пути, переполнения буфера и атак с повышением привилегий.
6. Используйте надежные образы
При извлечении образа из онлайн-реестров убедитесь, что оно из безопасного и надежного источника. Самый безопасный вариант - использовать официальный центр Docker. Избегайте общедоступных сторонних реестров, в которых отсутствуют политики контроля.
При использовании онлайн-библиотек всегда просматривайте содержимое внутри образа. Кроме того, используйте инструменты сканирования образов для поиска уязвимостей перед загрузкой чего-либо в хост-систему.
Лучше всего зайти в Docker Hub и посмотреть, сможете ли вы найти там нужный образ. Это крупнейшая в мире библиотека и сообщество Docker с более чем 100 000 образов контейнеров.
7. Держите образы и контейнеры легковесными
Сведите к минимуму поверхность атаки контейнеров Docker, используя минимальный базовый образ и уменьшив количество компонентов контейнера. Сохранение небольшого размера образа помогает предотвратить нарушения безопасности и ускоряет работу контейнера.
8. Безопасные реестры
Реестр Docker - это система доставки контента, используемая для хранения и предоставления образов для ваших контейнеров. Вы можете использовать официальный онлайн-реестр Docker или настроить частный реестр на своем хосте.
Для решения для хранения образов корпоративного уровня следует использовать доверенный реестр Docker (DTR - Docker Trusted Registry ). Вы можете установить реестр за брандмауэром, чтобы предотвратить возможные нарушения.
9. Не открывайте сокет демона Docker
Docker взаимодействует с сокетом домена UNIX, который называется /var/run/docker.sock. Это основная точка входа для Docker API. Любой, у кого есть доступ к сокету демона Docker, также имеет неограниченный root-доступ.
Разрешение пользователю писать в /var/run/docker.sock или открывать сокет контейнеру - это серьезная угроза безопасности для остальной системы. По сути, это дает ему привилегии root.
Установка сокета Docker внутри контейнера не ограничивает его привилегированным доступом внутри контейнера. Это позволяет контейнеру полностью контролировать хост и все другие контейнеры. Следовательно, это не рекомендуемая практика.
10. Отслеживайте API и сетевую активность.
API и сети играют решающую роль в безопасности Docker. Контейнеры Docker обмениваются данными через API и сети. Следовательно, чтобы избежать вторжения, архитектура должна быть настроена безопасно.
Администраторы безопасности недавно обнаружили новый тип атаки, использующий неправильно настроенные API-интерфейсы Docker. Хакеры используют плохо настроенные API-интерфейсы и сетевую безопасность, используют их для развертывания образа и запуска вредоносного контейнера в хост-системе.
Помимо безопасной настройки сетей и API, вам также необходимо отслеживать действия для выявления потенциальных аномалий.
Привет! Мы уже рассказывали про операционные системы для устройств Cisco – IOS, IOS-XE, CatOS. В этой статье мы рассмотрим NX-OS и IOS-XR, а также сравним их с традиционной IOS.
На верхнем уровне их можно соотнести так:
Cisco IOS: используется в borderless сетях (то есть это сети, которые позволяют кому угодно, где угодно и с любого устройства подключаться к корпоративной сети). Например, маршрутизатор ISR2 Cisco 3900 Series использует Cisco IOS;
Cisco NX-OS: используется в коммутаторах Cisco Nexus, расположенных в центрах обработки данных. Например, коммутатор Cisco Nexus 7000 работает под управлением Cisco NX-OS;
Cisco IOS-XR: используется на маршрутизаторах провайдеров связи. Например, маршрутизатор Cisco XR 12000 Series использует Cisco IOS-XR.
Cisco IOS
Хотя имя «IOS» появилось позже, операционная система относится к середине 1980-х годов. Cisco IOS была разработана с использованием языка программирования C и имела несколько ограничений, указывающих на то, когда она была разработана. Например, он не поддерживал симметричную многопроцессорную обработку. В результате одна инструкция должна была быть завершена до того, как начнется выполнение другой. Еще одним огромным архитектурным ограничением было использование общего пространства памяти, в результате которого один неправильный процесс мог нанести ущерб другим процессам маршрутизатора.
У некоторых платформ марщрутизаторов были обходные пути. Например модульный маршрутизатор Cisco 7513 – он может быть оснащен модулем универсального интерфейса (VIP), который позволяет отдельным линейным картам запускать собственные экземпляры Cisco IOS. Это обеспечило некоторый уровень балансировки нагрузки и избыточности.
Еще одна версия Cisco IOS - это IOS-XE, которая запускает Cisco IOS в Linux. В качестве примера можно найти Cisco IOS-XE, работающую на маршрутизаторе Cisco ASR 1000 Series. Благодаря набору функций Linux, Cisco IOS-XE добавляет поддержку симметричной многопроцессорности и отдельных пространств памяти. Однако, помимо своих Linux-подходов, Cisco IOS-XE в основном похожа на традиционную Cisco IOS.
Cisco NX-OS
Первоначально имевшая название SAN-OS (где акроним SAN обозначался как Storage Area Network), NX-OS предлагает некоторые обширные архитектурные улучшения по сравнению с традиционными Cisco IOS. Хотя первоначально это была 32-разрядная операционная система, с тех пор она превратилась в 64-разрядную ОС. В отличие от Cisco IOS, NX-OS не использует одно пространство памяти и поддерживает симметричную многопроцессорность. Она также имеет превентивную многозадачность, что позволяет высокоприоритетному процессу получить время процессора перед процессом с более низким приоритетом.
NX-OS построена на ядре Linux, и поддерживает язык Python для создания сценариев на коммутаторах Cisco Nexus. Кроме того, она имеет несколько функций высокой доступности (high availability), и не загружает сразу все ее функции. Вместо этого можно указать, какие функции вы хотите активировать. Устранение ненужных функций освобождает память и процессор для тех функций, которые вам нужны. Однако когда дело доходит до конфигурации, существует много сходства между NX-OS и Cisco IOS.
Cisco IOS-XR
Первоначально разработанная для 64-разрядной работы, IOS-XR предлагает множество улучшений, обнаруженных в NX-OS (например, симметричная многопроцессорность, отдельные пространства памяти и активация только тех сервисов, которые необходимы). Однако, хотя NX-OS построена на ядре Linux, IOS-XR построен на микроядре QNX Neutrino Microkernel.
Функция IOS-XR, которой нет в NX-OS, - это возможность иметь один экземпляр операционной системы, управляющей несколькими шасси. Кроме того, поскольку IOS-XR ориентирована на среды провайдеров, она предлагает поддержку таких интерфейсов, как DWDM и Packet over SONET.
В то время как конфигурация IOS-XR имеет некоторое сходство с традиционной IOS, различия намного заметнее, чем различия в NX-OS. Например, когда вы закончили вводить команды конфигурации, вам необходимо зафиксировать свои изменения, чтобы они вступили в силу и до выхода из режима конфигурации.
Примеры конфигурации
Чтобы проиллюстрировать некоторые основные конфигурации этих трех операционных систем, рассмотрим следующие примеры.
Эти команды были предоставлены маршрутизатору Cisco IOS, коммутатору NX-OS и экземплярам маршрутизатора IOS-XR, работающим в Cisco VIRL. В каждом из следующих примеров показана текущая версия маршрутизатора или коммутатора. Затем мы входим в глобальный режим конфигурации и изменяем имя хоста маршрутизатора или коммутатора, а затем создаем интерфейс Loopback 0, назначая IP-адрес этому интерфейсу, выходя из режима привилегий и выдавая команду show ip interface brief.
При назначении IP-адресов интерфейсам Loopback на устройствах следует заметить, что Cisco IOS требует, чтобы маска подсети была введена в десятичной системе с точками, в то время как NX-OS и IOS-XR поддерживают ввод маски подсети с использованием слеша.
Также нужно обратить внимание, что перед выходом из режима конфигурации необходимо выполнить команду commit на IOS-XR. Кроме того, только когда мы применяем эту команду, применяется наша обновленная конфигурация имени хоста.
IOS:
Router>show version
Cisco IOS Software, C2900 Software (C2900-UNIVERSALK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team
ROM: System Bootstrap, Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
cisco2911 uptime is 40 seconds
System returned to ROM by power-on
System image file is "flash0:c2900-universalk9-mz.SPA.151-1.M4.bin"
Last reload type: Normal Reload
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco CISCO2911/K9 (revision 1.0) with 491520K/32768K bytes of memory.
Processor board ID FTX152400KS
3 Gigabit Ethernet interfaces
DRAM configuration is 64 bits wide with parity disabled.
255K bytes of non-volatile configuration memory.
249856K bytes of ATA System CompactFlash 0 (Read/Write)
License Info:
License UDI:
-------------------------------------------------
Device# PID SN
-------------------------------------------------
*0 CISCO2911/K9 FTX15246R1P
Technology Package License Information for Module:'c2900'
----------------------------------------------------------------
Technology Technology-package Technology-package
Current Type Next reboot
-----------------------------------------------------------------
ipbase ipbasek9 Permanent ipbasek9
security None None None
uc None None None
data None None None
Configuration register is 0x2102
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname IOS-ROUTER
IOS-ROUTER(config)#interface loopback0
IOS-ROUTER(config-if)#
%LINK-5-CHANGED: Interface Loopback0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
IOS-ROUTER(config-if)#ip address 10.1.1.1 255.255.255.255
IOS-ROUTER(config-if)#end
IOS-ROUTER#
%SYS-5-CONFIG_I: Configured from console by console
IOS-ROUTER#show ip int brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 unassigned YES unset administratively down down
GigabitEthernet0/1 unassigned YES unset administratively down down
GigabitEthernet0/2 unassigned YES unset administratively down down
Loopback0 10.1.1.1 YES manual up up
Vlan1 unassigned YES unset administratively down down
IOS-ROUTER#
NX-OS:
switch#show version
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained herein are owned by
other third parties and are used and distributed under license.
Some parts of this software are covered under the GNU Public
License. A copy of the license is available at
http://www.gnu.org/licenses/gpl.html.
Software
BIOS: version 1.3.0
loader: version N/A
kickstart: version 5.0(2)N2(1) [build 5.0(2)N2(1)]
system: version 5.0(2)N2(1) [build 5.0(2)N2(1)]
power-seq: version v1.2
BIOS compile time: 09/08/09
kickstart image file is: bootflash:/sanity-kickstart
kickstart compile time: 12/6/2010 7:00:00 [12/06/2010 07:35:14]
system image file is: bootflash:/sanity-system
system compile time: 12/6/2010 7:00:00 [12/06/2010 08:56:45]
Hardware
cisco Nexus5010 Chassis ("20x10GE/Supervisor")
Intel(R) Celeron(R) M CPU with 2073416 kB of memory.
Processor Board ID JAF1228BTAS
Device name: BEND-2
bootflash: 1003520 kB
Kernel uptime is 0 day(s), 3 hour(s), 30 minute(s), 45 second(s)
Last reset
Reason: Unknown
System version:
Service:
plugin
Core Plugin, Ethernet Plugin, Fc Plugin
switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# hostname NEXUS-SWITCH
NEXUS-SWITCH(config)#interface loopback0
NEXUS-SWITCH(config-if)# ip address 10.2.2.2/32
NEXUS-SWITCH(config-if)#end
NEXUS-SWITCH# show ip int brief
IP Interface Status for VRF “default” (1)
Interface IP Address Interface Status
Lo0 10.2.2.2 protocol-up/link-ip/admin-up
NEXUS-SWITCH#
IOS-XR:
RP/0/RP/CPU0:router# show version
Mon May 31 02:14:12.722 DST
Cisco IOS XR Software, Version 4.1.0[Default]
Copyright (c) 2010 by Cisco Systems, Inc.
ROM: System Bootstrap, Version 2.100(20100129:213223) [CRS-1 ROMMON],
router uptime is 1 week, 6 days, 4 hours, 22 minutes
System image file is "bootflash:disk0/hfr-os-mbi-4.1.0/mbihfr-rp.vm"
cisco CRS-8/S (7457) processor with 4194304K bytes of memory.
7457 processor at 1197Mhz, Revision 1.2
2 Management Ethernet
8 GigabitEthernet
12 SONET/SDH
12 Packet over SONET/SDH
1 WANPHY controller(s)
1 TenGigE
1019k bytes of non-volatile configuration memory.
38079M bytes of hard disk.
3607592k bytes of disk0: (Sector size 512 bytes).
3607592k bytes of disk1: (Sector size 512 bytes).
RP/0/RP/CPU0:router#conf t
RP/0/RP/CPU0: router(config)#hostname IOS-XR-ROUTER
RP/0/RP/CPU0: router(config)#interface loopback0
RP/0/RP/CPU0: router(config-if)#ip address 10.3.3.3/32
RP/0/RP/CPU0: router(config-if)#commit
RP/0/RP/CPU0: IOS-XR-ROUTER (config-if)#end
RP/0/RP/CPU0: IOS-XR-ROUTER (config)#show ip int brirf
Interface IP-Address Status Protocol Vrf-Name
Loopback0 10.3.3.3 Up Up default
MgmtEth0/0/CPU0/0 unassigned Shutdown Down default
GigabitEthernet0/0/0/0 unassigned Shutdown Down default
RP/0/RP/CPU0: IOS-XR-ROUTER#
Зачастую приходится сталкиваться с ситуациями, когда необходимо выбрать бесплатный, но в тоже время, простой и качественный программный телефон (софтфон) для своей компании, который бы поддерживал ключевой функционал, требующийся любому современному бизнесу, такой как перевод звонка, организация конференций, постановка звонка на удержание и прочие. Если Вы столкнулись с такой задачей, то рекомендуем Вам обратить внимание на программный клиент VoIP-телефонии- PhonerLite. В статье мы расскажем об установке и настройке этого софтфона для работы с IP – АТС Asterisk
Немного теории
PhonerLite – это бесплатное приложение программного телефона, предназначенное для работы под управлением операционной системы Windows. Для передачи сигнальной информации, используется протокол SIP (Session Initiation Protocol), для передачи потоков медиа-данных используется стандартный RTP (Real-time Transport Protocol), имеется поддержка более защищенных средств шифрования информации, такие как SRTP (Secure Real-time Transport Protocol) и ZRTP.
Список поддерживаемых аудио-кодеков: G.711 A-law; G.711 ?-law; G.722, G.726; GSM; iLBC; Speex; Opus. Имеется поддержка IPv6. В качестве транспорта, телефон может использовать UDP, TCP и TLS.
Cофтфон PhonerLite распространяется абсолютно бесплатно по лицензии Freeware, как для личного так и для коммерческого использования. Разработка PhonerLite не стоит на месте: согласно официальному сайту, выходят постоянные обновления, добавляющие новый функционал или же исправляющие выявленные ранее баги. Последнее обновление было 27 сентября 2016 года (дата написания этой статьи 12 октября 2016).
Дистрибутив PhonerLite можно скачать с официального сайта разработчика, последняя доступная версия от 27.09.2016 – 2.43.
Скачать софтфон PhonerLite
Настройка программного телефона
После того как мы скачали и установили PhonerLite, нас встречает мастер настройки, который предлагает настроить учетную запись SIP для одного из известных VoIP-провайдеров или же продолжить в режиме ручной настройки. Мы будем использовать свою IP-АТС Asterisk, поэтому, выбираем ручную настройку и указываем IP-адрес нашего сервера и стандартный порт 5061 (используется CHAN_SIP со стороны Asterisk), куда софтфон будет отправлять запросы на регистрацию.
Далее указываем имя пользователя, который предварительно уже создан на нашем Asterisk в качестве внутреннего номера (Extension).
В нашем случае это номер 1021. На скриншоте с интерфейса FreePBX, красным цветом выделен номер, который мы будем применять в качестве имени пользователя и логина.
Далее предлагается выбрать устройство ввода звука на вашем компьютере.
Подтверждаем выполненные настройки. Также предлагается дать название новому профилю. Советуем придумать какое-либо название, потому что по умолчанию профиль будет иметь название соответствующее IP-адресу вашей IP-АТС.
Если все настройки были выполнены правильно, то напротив новой учётной записи мы увидим сообщение Registered, свидетельствующее о том, что софтфон успешно зарегистрировался на IP-АТС, теперь можно совершать звонки.
В заключение хотелось бы отметить, что PhonerLite хорош ещё и тем, что в отличие от других аналогичных разработок данный софтфон не требует покупки дополнительных лицензий для доступа к расширенному функционалу. Все критически важные функции, такие как перевод звонка, организация конференции, установка на удержание, адресная книга, история звонков, доступны сразу же после установки.