Лучше бы сделали сайт с 3D моделями, с которыми можно взаимодействовать (нажимать кнопки, крутить, отдалять/приближать, смотреть внутренности - рентген, разборка/сборка)
Nftables является новым поколением межсетевых экранов Linux, пришедшим на смену iptables. Она отличается большей гибкостью, производительностью и удобством конфигурирования. В статье рассмотрим базовые шаги настройки и использование возможностей nftables.
## Основные понятия
### Таблицы
Таблица представляет собой контейнер для цепочек и объектов, используемых для фильтрации пакетов. Каждая таблица принадлежит определённому семейству адресов (`inet`, `ip`, `ip6`).
Пример таблицы:
```bash
table inet filter {
}
```
### Цепочки
Цепочка состоит из набора правил обработки сетевых пакетов. Например, мы можем создать цепочку ввода для входящих соединений.
Пример цепочки:
```bash
chain input {
type filter hook input priority 0; policy accept;
}
```
### Правила
Правила определяют условия обработки пакета и необходимые действия над ним. Простое правило блокировки всех исходящих подключений к внешнему миру выглядит следующим образом:
```bash
drop ip saddr != ::1 oifname lo
```
## Базовая настройка
Рассмотрим простой пример конфигурации, защищающей сервер:
Чтобы изменения сохранились после перезагрузки системы, используем команду сохранения конфигурационного файла:
```bash
nft list ruleset > /etc/nftables.conf
systemctl enable nftables.service
```
## Полезные команды
- **Просмотр текущих правил**:
```bash
nft list ruleset
```
- **Удаление правила**:
```bash
nft delete rule inet filter input handle 1
```
- **Перезагрузка правил**:
```bash
nft flush ruleset && nft -f /etc/nftables.conf
```
## Заключение
Nftables позволяет создавать мощные и эффективные межсетевые экраны с минимальными усилиями. Следуя приведённым рекомендациям, вы сможете защитить свою систему и настроить фильтрацию трафика именно так, как вам необходимо.
Рассмотрим простой пример Hello World-программы на ассемблере для Linux и Windows, чтобы наглядно показать разницу в синтаксисе и способах взаимодействия с системой.
Код на Assembler для Linux (ELF):
section .data
msg db 'Hello, Linux!', 0xa ; Строка приветствия с символом новой строки
len equ $-msg ; Длина строки
section .text
global _start ; Точка входа
_start:
mov eax, 4 ; Системный вызов write()
mov ebx, 1 ; Стандартный вывод (stdout)
mov ecx, msg ; Адрес начала строки
mov edx, len ; Длина строки
int 0x80 ; Выполнение системного вызова
mov eax, 1 ; Системный вызов exit()
xor ebx, ebx ; Выход с кодом 0
int 0x80 ; Завершение процесса
Код на Assembler для Windows (PE):
.model flat, stdcall ; Используем плоскую модель памяти и соглашение stdcall
option casemap:none ; Отключаем автоматическое преобразование регистров
include windows.inc ; Включаем стандартные макросы и константы
include kernel32.inc
includefile kernel32.lib ; Импортируем необходимые библиотеки
.data
Msg db 'Hello, Windows!', 0 ; Строка приветствия с нулевым байтом окончания
.code
main proc
invoke MessageBoxA, NULL, addr Msg, NULL, MB_OK ; Вывод окна с сообщением
invoke ExitProcess, 0 ; Завершаем процесс
main endp
end main ; Конец программы
Основные различия:
Формат системных вызовов:
В Linux используются номера системных вызовов и прямой доступ к ядру через инструкцию int 0x80.
В Windows применяется библиотека kernel32.dll, которая обеспечивает интерфейс к функциональности ОС посредством функций вроде MessageBoxA() и ExitProcess().
Обработка строк:
В Linux сообщение оканчивается символом новой строки (\n или 0xa), тогда как в Windows принято использование завершающего нуля (NULL или 0).
Разделители блоков:
В Linux традиционно применяются директивы типа section, global, тогда как в Windows часто используют конструкции вида .model, .code, .data.
Библиотечные зависимости:
Для Linux характерно прямое взаимодействие с системными функциями, в то время как в Windows большинство операций реализуются через импортируемые библиотеки (kernel32.dll и др.).
Эти особенности отражают фундаментальные различия между архитектурами двух платформ, влияющие на организацию и компиляцию программ на уровне ассемблера.
Как быть с сайтами которые хранят персональные данные, такие как адрес прописки, номер телефона и др, но не имеют контактов, а хостер говорит связывайтесь с администратором сайта, которому наплевать?
Какой свежести плагины?
Когда #habr начнёт помечать статьи написанные ИИ?
Я знаю где Windows 3.11 работает 😅
Над UI нужно ещё поработать...
Отступы
Скругления
Текст кнопки в одно слово
Межстрочный интервал в заголовке +1..2px
Там есть возможность перехвата пакетов своей программой для изучения?
Глянуив интернете, спасибо)
Получить такие книжки от Sony, Nintendo и других в личную коллекцию за адекватную цены было бы классно 🙂
Лучше бы сделали сайт с 3D моделями, с которыми можно взаимодействовать (нажимать кнопки, крутить, отдалять/приближать, смотреть внутренности - рентген, разборка/сборка)
Спасибо, полезно! 🙂
А будет здоро если они выпустят золотое и серебряное 🙂👍
Древние боги...
Насколько я помню, в этом году ограничили работу банков в мессенджерах иностранных государств...
А что на счёт федерального закона №41-ФЗ?
🙂
# Настройка NFTABLES
Nftables является новым поколением межсетевых экранов Linux, пришедшим на смену iptables. Она отличается большей гибкостью, производительностью и удобством конфигурирования. В статье рассмотрим базовые шаги настройки и использование возможностей nftables.
## Основные понятия
### Таблицы
Таблица представляет собой контейнер для цепочек и объектов, используемых для фильтрации пакетов. Каждая таблица принадлежит определённому семейству адресов (`inet`, `ip`, `ip6`).
Пример таблицы:
```bash
table inet filter {
}
```
### Цепочки
Цепочка состоит из набора правил обработки сетевых пакетов. Например, мы можем создать цепочку ввода для входящих соединений.
Пример цепочки:
```bash
chain input {
type filter hook input priority 0; policy accept;
}
```
### Правила
Правила определяют условия обработки пакета и необходимые действия над ним. Простое правило блокировки всех исходящих подключений к внешнему миру выглядит следующим образом:
```bash
drop ip saddr != ::1 oifname lo
```
## Базовая настройка
Рассмотрим простой пример конфигурации, защищающей сервер:
### Шаг 1: Создание таблиц и цепочек
Создаем таблицу и основную цепочку:
```bash
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 ; }
nft add chain inet filter output { type filter hook output priority 0 ; }
nft add chain inet filter forward { type filter hook forward priority 0 ; }
```
### Шаг 2: Добавление базовых правил
Разрешаем пакеты локального интерфейса и отказываем всем остальным пакетам по умолчанию:
```bash
nft add rule inet filter input iifname lo accept
nft add rule inet filter input ct state established,related accept
nft add rule inet filter input drop
```
### Шаг 3: Разрешение конкретных сервисов
Открываем доступ к SSH (порт 22):
```bash
nft add rule inet filter input tcp dport ssh accept
```
Для HTTPS (порт 443):
```bash
nft add rule inet filter input tcp dport https accept
```
### Шаг 4: Сохранение настроек
Чтобы изменения сохранились после перезагрузки системы, используем команду сохранения конфигурационного файла:
```bash
nft list ruleset > /etc/nftables.conf
systemctl enable nftables.service
```
## Полезные команды
- **Просмотр текущих правил**:
```bash
nft list ruleset
```
- **Удаление правила**:
```bash
nft delete rule inet filter input handle 1
```
- **Перезагрузка правил**:
```bash
nft flush ruleset && nft -f /etc/nftables.conf
```
## Заключение
Nftables позволяет создавать мощные и эффективные межсетевые экраны с минимальными усилиями. Следуя приведённым рекомендациям, вы сможете защитить свою систему и настроить фильтрацию трафика именно так, как вам необходимо.
Вот что дала нейронка.
Рассмотрим простой пример Hello World-программы на ассемблере для Linux и Windows, чтобы наглядно показать разницу в синтаксисе и способах взаимодействия с системой.
Код на Assembler для Linux (ELF):
Код на Assembler для Windows (PE):
Основные различия:
Формат системных вызовов:
В Linux используются номера системных вызовов и прямой доступ к ядру через инструкцию
int 0x80.В Windows применяется библиотека
kernel32.dll, которая обеспечивает интерфейс к функциональности ОС посредством функций вродеMessageBoxA()иExitProcess().Обработка строк:
В Linux сообщение оканчивается символом новой строки (
\nили0xa), тогда как в Windows принято использование завершающего нуля (NULLили0).Разделители блоков:
В Linux традиционно применяются директивы типа
section,global, тогда как в Windows часто используют конструкции вида.model,.code,.data.Библиотечные зависимости:
Для Linux характерно прямое взаимодействие с системными функциями, в то время как в Windows большинство операций реализуются через импортируемые библиотеки (
kernel32.dllи др.).Эти особенности отражают фундаментальные различия между архитектурами двух платформ, влияющие на организацию и компиляцию программ на уровне ассемблера.
Как быть с сайтами которые хранят персональные данные, такие как адрес прописки, номер телефона и др, но не имеют контактов, а хостер говорит связывайтесь с администратором сайта, которому наплевать?
Т.е. данные которые оператор удалил, могут остаться у 3-х лиц, а потом получены оператором обратно?
Интересно бы прочитать про сравнение структуры программ под Windows/Linux/Mac
Любой каприз - за Ваши деньги. ;-)