Дисковая и файловая подсистемы
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
источник
👉 @i_linux
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
источник
👉 @i_linux
👍7
Проброс и перенаправление портов в iptables
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-09-26
👉 @i_linux
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-09-26
👉 @i_linux
👍7
Безопасность ОС Linux
Разграничение доступа в Linux: SUID/SGID-приложения
Аутентификация в Linux: Хранение истории паролей
Аутентификация в Linux: Защита от перебора паролей
Настройка Suricata в режиме IPS средствами NFQ в Linux
Поиск руткитов в Linux: chkrootkit
Поиск руткитов в Linux: rkhunter
Обнаруживаем реальный rootkit средствами chkrootkit и rkhunter
источник
👉 @i_linux
Разграничение доступа в Linux: SUID/SGID-приложения
Аутентификация в Linux: Хранение истории паролей
Аутентификация в Linux: Защита от перебора паролей
Настройка Suricata в режиме IPS средствами NFQ в Linux
Поиск руткитов в Linux: chkrootkit
Поиск руткитов в Linux: rkhunter
Обнаруживаем реальный rootkit средствами chkrootkit и rkhunter
источник
👉 @i_linux
👍3🤣1
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
netcat [options] host port
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
nc
telnet
nmap
Доступность udp-порта
nc
nmap
доступность порта udp 53:
👉 @i_linux
Доступность tcp-порта
netcat
netcat [options] host port
сканер портов:
netcat -z -v domain.com 1-1000запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444nc
nc -vt <ip> <port>telnet
telnet <ip> <port>nmap
порт 25 tcp: nmap -p25 11.11.11.11Доступность udp-порта
netcat
netcat -u host portnc
nc -vu <ip> <port>nmap
доступность порта udp 53:
nmap -sU -p U:53 11.1.11.12👉 @i_linux
👍7
Стандартные инструменты для диагностики системы Linux
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
👉 @i_linux
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
👉 @i_linux
🔥6👍3
Шпаргалка по фаерволу Mikrotik, пропускаем VPN соединения
1. Разрешить весь VPN-трафик через VPN-соединения:
Надо учитывать, что некоторые виды подключения, например GRE не являются PPP.
2. Разрешить PPTP-подключение
3. Разрешить L2TP-подключение
4. Разрешить IPSec-подключение
5. Разрешить OpenVPN-подключение
6. Разрешить SSTP-подключение
7. Разрешить GRE-подключение
8. Разрешить IPIP-подключение
9. Прохождение IPSec при использовании Fast Track
Fast Track это опция представленная в RouterOS 6.29. С помощью этой опции можно передавать пакеты в обход ядра Linux. За счет этого существенно повышается производительность маршрутизатора.
Включить Fast Track можно следующим образом:
Это позволит пакетам у которых состояние «Established» или «Related» обходить ядро Linux и быть сразу перенаправленным к цели. Такие пакеты не будут проходить ни через одно правило файервола или другое правило обработки пакетов. Конечно, соединение получает состояние «установлено» или «связано» после того, как оно прошло через брандмауэр, поэтому оно по-прежнему будет безопасным.
Как результат появляется недостаток: соединения IPsec так же не будут обработаны. Решить эту проблему можно следующим образом.
Вначале надо пометить соединения IPsec:
Далее изменить стандартное правило Fast Track так, что бы оно не обрабатывало пакеты IPsec. Изменения внесенные в стандартное правило выделены красным.
👉 @i_linux
1. Разрешить весь VPN-трафик через VPN-соединения:
Надо учитывать, что некоторые виды подключения, например GRE не являются PPP.
/ip firewall filter
add chain=forward comment="Permit all PPP" in-interface=all-ppp2. Разрешить PPTP-подключение
/ip firewall filter
add chain=input dst-port=1723 protocol=tcp comment="Permit PPTP"
add action=accept chain=input protocol=gre comment="Permit GRE"3. Разрешить L2TP-подключение
/ip firewall filter
add chain=input dst-port=1701 protocol=udp comment="Permit L2TP"4. Разрешить IPSec-подключение
/ip firewall filter
add chain=input port=500,4500 protocol=udp comment="Permit IPSec ports 500 and 4500"
add chain=input protocol=ipsec-esp comment="Permit IPSec protocol ipsec-esp"5. Разрешить OpenVPN-подключение
/ip firewall filter
add action=accept chain=input dst-port=1194 protocol=tcp comment="Permit OpenVPN"6. Разрешить SSTP-подключение
/ip firewall filter
add action=accept chain=input dst-port=443 protocol=tcp comment="Permit SSTP"7. Разрешить GRE-подключение
/ip firewall filter
add action=accept chain=input protocol=gre comment="Permit GRE"8. Разрешить IPIP-подключение
/ip firewall filter
add action=accept chain=input protocol=ipip comment="Permit IPIP"9. Прохождение IPSec при использовании Fast Track
Fast Track это опция представленная в RouterOS 6.29. С помощью этой опции можно передавать пакеты в обход ядра Linux. За счет этого существенно повышается производительность маршрутизатора.
Включить Fast Track можно следующим образом:
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,relatedЭто позволит пакетам у которых состояние «Established» или «Related» обходить ядро Linux и быть сразу перенаправленным к цели. Такие пакеты не будут проходить ни через одно правило файервола или другое правило обработки пакетов. Конечно, соединение получает состояние «установлено» или «связано» после того, как оно прошло через брандмауэр, поэтому оно по-прежнему будет безопасным.
Как результат появляется недостаток: соединения IPsec так же не будут обработаны. Решить эту проблему можно следующим образом.
Вначале надо пометить соединения IPsec:
/ip firewall mangle
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=out,ipsec new-connection-mark=ipsec
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=in,ipsec new-connection-mark=ipsecДалее изменить стандартное правило Fast Track так, что бы оно не обрабатывало пакеты IPsec. Изменения внесенные в стандартное правило выделены красным.
/ip firewall filter add action=fasttrack-connection chain=forward comment=FastTrack
connection-mark=!ipsec connection-state=established,related👉 @i_linux
👍6
Горячие клавиши для работы в терминале Linux
Перемещение по строке
или
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Сочетания клавиш для просмотра истории команд.
История команд
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
👉 @i_linux
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.Ctrl + →, Ctrl + ←или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправоCtrl + a, Home Установить курсор в начало строкиCtrl + e, End Установить курсор в конец строкиCtrl + xx Переход между двумя последними позициями курсораСочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или путиTab, tab или Alt + ?(Shift+/) Представление вариантов автодополненияBackspace, Ctrl + h Удаление символа перед курсоромCtrl + d Удалить символ за курсоромCtrl + w или Alt + Backspace Удалить все символы от курсора до пробела слеваAlt + d, Esc + d Удалить символы от курсора до конца словаCtrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+wAlt + \ Удалить любое количество пробелов вместе, где стоит курсор.Alt + r, Esc + r Отменить все изменения внесенные в строкуAlt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец словаAlt + u Изменить регистр всех букв от курсора до конца слова на верхний регистрAlt + l Изменить регистр всех букв от курсора до конца слова на нижний регистрAlt + t Поменять местами слово под курсором и предыдущее словоCtr + t Переместить символ перед курсором под курсорCtrl + _(Sift+-) Откат редактирования (Undo)Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путейCtrl + o Вызвать последнею введенную командуAlt + . или Esc + . Вставить аргумент команды, выполненной ранееAlt + < (Shift+,) Повторить первую команду в буфере историиСочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминалаCtrl + s Заморозить терминалCtrl + q Продолжить работу терминалаCtrl + c Прервать работу терминальной утилитыCtrl + z Перевести работу терминальной утилиты в фоновый режимCtrl + d Выйти из командной оболочки bash👉 @i_linux
👍7👀1
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
👉 @i_linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
👉 @i_linux
👍5
Шпаргалка по работе с Tmux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
После этого вы попадаете в полноценную консоль.
В одной сессии может быть сколько угодно окошек:
В одном окошке может быть много панелей:
Недостаток — непривычным становится скроллинг:
👉 @i_linux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;Ctrl+b 0...9 — перейти в такое-то окошко;Ctrl+b p — перейти в предыдущее окошко;Ctrl+b n — перейти в следующее окошко;Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);Ctrl+b →←↑↓ — переходить между панелями;Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:PgUp, PgDown — скроллинг;q — выход из «режима копирования».👉 @i_linux
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Как удалить файлы в системах Linux или UNIX с помощью команды rm
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. На этой странице объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-10-15
👉 @i_linux
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. На этой странице объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-10-15
👉 @i_linux
👍5