Обновить
2
0.1
Антон Дихтярук@AnthonyDS

IT

Отправить сообщение

Какой свежести плагины?

Когда #habr начнёт помечать статьи написанные ИИ?

Я знаю где Windows 3.11 работает 😅

Над UI нужно ещё поработать...

  • Отступы

  • Скругления

  • Текст кнопки в одно слово

  • Межстрочный интервал в заголовке +1..2px

Там есть возможность перехвата пакетов своей программой для изучения?

Глянуив интернете, спасибо)

Получить такие книжки от Sony, Nintendo и других в личную коллекцию за адекватную цены было бы классно 🙂

Лучше бы сделали сайт с 3D моделями, с которыми можно взаимодействовать (нажимать кнопки, крутить, отдалять/приближать, смотреть внутренности - рентген, разборка/сборка)

А будет здоро если они выпустят золотое и серебряное 🙂👍

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd>

Древние боги...

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

А что на счёт федерального закона №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):

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                      ; Конец программы

Основные различия:

  1. Формат системных вызовов:

    • В Linux используются номера системных вызовов и прямой доступ к ядру через инструкцию int 0x80.

    • В Windows применяется библиотека kernel32.dll, которая обеспечивает интерфейс к функциональности ОС посредством функций вроде MessageBoxA() и ExitProcess().

  2. Обработка строк:

    • В Linux сообщение оканчивается символом новой строки (\n или 0xa), тогда как в Windows принято использование завершающего нуля (NULL или 0).

  3. Разделители блоков:

    • В Linux традиционно применяются директивы типа section, global, тогда как в Windows часто используют конструкции вида .model, .code, .data.

  4. Библиотечные зависимости:

    • Для Linux характерно прямое взаимодействие с системными функциями, в то время как в Windows большинство операций реализуются через импортируемые библиотеки (kernel32.dll и др.).

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

Как быть с сайтами которые хранят персональные данные, такие как адрес прописки, номер телефона и др, но не имеют контактов, а хостер говорит связывайтесь с администратором сайта, которому наплевать?

Т.е. данные которые оператор удалил, могут остаться у 3-х лиц, а потом получены оператором обратно?

Интересно бы прочитать про сравнение структуры программ под Windows/Linux/Mac

Любой каприз - за Ваши деньги. ;-)

1
23 ...

Информация

В рейтинге
4 298-й
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
От 1 000 000 ₽