Search
Write a publication
Pull to refresh
1410
2.9

Пользователь

Send message

Ненавижу форматы с битовым (а не байтовым) выравниванием.

Делаете враппер и обрабатываете SSH_ORIGINAL_COMMAND.

Если память не изменяет, главное, чтобы у других пользователей (в смысле other) не было доступа на запись в домашнюю директорию. Мой сетап работает со StrictModes yes.

И в таких случаях PermitRootLogin no просто мешается под ногами

Это решается sudo. PermitRootLogin нужен фактически только для единственной функции: туннели (VPN) через sshd (не путать с пробросом портов).

В описанном сценарии это особо не принципиально. Если у вас отдельный привилегированный пользователь для создания бэкапа на машине, то нет разницы, лежит ли у него ключ файлом или добавлен в агент.

Я обычно завожу уникальный ключ, которому указываю command=… (forced command), чтобы этим ключом нельзя было сделать ничего недозволенного.

Для резервного копирования по SSH?

  1. На сервере, где хранятся копии, создаём отдельного пользователя с домашней директорией, и добавляем его в группу chrooted

  2. Для домашней директории выставляем права доступа drwxr-x--x, пользователь и группа — root

  3. В домашней директории создаём каталоги backup с правами drwxr-x-wx и backup-backup с drwx-----, оба также root:root.

  4. В crond на сервере добавляем mv /home/backup-user/backup/* /home/backup-user/backup-backup/

  5. На клиенте, который делает резервное копирование, генерируем уникальный ssh-ключ для этой задачи, добавляем его на сервер

  6. В sshd_config добавляем то, что ниже

Match Group chrooted
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        GatewayPorts no
        X11Forwarding no
        PermitUserRC no

Получили в итоге:

  • Доступ к SSH-консоли отключён, работает только SFTP

  • По SFTP клиент может зайти только в директорию backup внутри собственной домашней директории, при этом не может сделать листинг файлов в ней (нет +r, есть только +x), а может только «вслепую» загрузить (или прочитать) файл бэкапа. Создание файлов и директорий вне backup невозможно.

  • Сервер по cron'у перемещает загруженные в backup бэкапы в директорию backup-backup, куда доступа у SSH-клиента нет никакого, чтобы нельзя было изменить или удалить загруженные файлы даже вслепую

Это костыль, но рабочий. Лучше, конечно, применять специализированные решения, изначально рассчитанные на write-only доступ.

Использовать ssh-agent и ключи без паролей в скриптах.

Это плохой совет, потому что стандартный ssh-agent просто предоставляет доступ к ключу, без всяких ограничений и подтверждений. Любое вредоносное ПО на сервере сможет пользоваться ключом подключённого администратора и подключаться к другим серверам.

Лифт это конкретное законченное устройство, не подразумевающее добавления функций, обновлений, особой программной поддержки, да и вообще изменений после внедрения.
ПО лифта это только малая часть устройства. Программисту наперёд известны требования: даже если нет технического задания (на примере @BerZerKku), можно взять или купить любой сертифицированный типовой проект и изучить стандарты и требования еще до написания первой строчки кода. Не всегда это бесплатно, но доступно — однозначно.

Для разработки есть стандарты и рекомендации (чек-листы) примерно для всего, начиная от отдельных областей и заканчивая общими методами безопасной разработки (Secure Development Lifecycle, SDLC) в целом, только далеко не каждый о них знает или хочет им следовать.

Многие из стандартов есть не только на бумаге, но и в виде статических анализаторов кода (как отдельное ПО или как набор правил к существующим анализаторам), а чек-листы говорят о конкретных функциях о особенностях, которые должны быть в ПО для safety & security, с примерами кода.

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

Мы же при создании софта по факту создаём всё равно что тестовый экземпляр, а потом обкатываем его в реальной среде

Чем это отличается от создания автомобиля, где на этапе планирования сначала закладывают необходимые характеристики по безопасности в конструкцию, затем валидируют их в компьютерных симуляциях, затем в собранном прототипе на полигонах и динамометрическом стенде, далее устраивают краш-тесты по стандартам независимой организации, специализирующейся на этом, которая и выдаёт вердикт, соответствует ли прототип выдвигаемым к современному автомобилю требованиям, или нет?

УКЭП-то это подпись, а не шифрование. А вопрос в отправке конфиденциальных данных по публичным каналам. От того, будут ли они подписаны, или нет, ничего не поменяется (скорее даже хуже станет).

Битрейт настраивается производителем наушников. А не делать то, что сделал я, приписывает стандарт.

Никакого.
Производитель наушников установил ограничение битрейта, которое сообщается стороне, воспроизводящей звук — в моем случае это Linux с Pipewire. Патчем Pipewire я отключил учитывание ограничения сообщаемого битрейта, заставив использовать максимально возможный.

Может, и еще может использовать PGP, S/MIME или шифрование по стандартам ГОСТ. Только банки этого не делают.

А согласно ответам этого же банка

Указывать в письме суммы, даты, отправителя подозрительных операций.

Запрещено, потому что для передачи такой информации нельзя использовать открытые каналы связи. Так ВТБ в своё время мне ответил, несмотря на то, что это чуть ли не единственный банк с широким спектром email-уведомлений об операциях. Впрочем, так отвечал не только ВТБ.

производитель там где-то что-то ограничил, то при чём тут PipeWire?

Ограничения учитываются на стороне, которая формирует и отправляет звук. Если их отключить, можно установить любой произвольный битрейт (если нет других сопутствующих ограничений, как MTU в данном случае).

А на ведре как битрейт поднять? Тоже что-то патчить, а что?

Bluetooth-стек.

Но не всегда уголовную

В этом и вопрос. В IT почти поголовно ноль ответственности. В иных профессиях с риском навредить себе или другим есть обучение, аккредитация, допуски и разряды; факап чреват уголовной ответственностью.
В IT не так: делай почти всё, виноватых нет, максимум начальнику достается. Есть разве что классические сферы с регуляцией, где АО или ПО идёт в дополнение к текущим требованиям (и они на них поэтому также распространяются).

Конкретно здесь человека попросили сделать один из элементов законченного устройства — систему управления. Сертификацию проходит всё изделие целиком, и безопасность достигается в т.ч. fail-safe механикой. Если лифт прошел сертификацию и вводится в эксплуатацию, подразумевается, что и код управления прошел все тесты.

Подумаешь пассажира пополам перерезало, главное не я за это отвечаю - такая риторика ?

Если еще и эксплуатироваться это будет где-то далеко, и пассажир вообще на другом континенте, то абсолютное большинство именно так и думает.
Меня по рукам бьют, когда я открываю тему ответственности. Её отсутствие считается преимуществом.

А почему вы не согласились? На вас какая ответственность?

Я не пользовался Recall'ом, но вообще был бы очень рад подобной функции, еще 10 лет назад буквально мечтал о ней во время пентестов. Записывал экран с 6-7 fps, чтобы не забыть ничего во время недельных аудитов, а затем просматривал в 10-кратно ускоренном режиме, и знал, что когда-нибудь смогу просто выполнить «поиск внутри видео».

1
23 ...

Information

Rating
285-th
Registered
Activity