И это всё МОЁ

Система archlinux изначально использовал xfce4+lightdm, сейчас пересел на i3+slim-->lxdm. После установки lxdm в меню входа появился пользователь ntopng, в меню lightdm такового нет. Пользователя с таким именем нет в системе. Пакет ntop в системе не установлен.

Что это и откуда взялось?








 








И это всё МОЁ

Играюсь тут с nftables и iptables-compat, и вот что обнаружилось.

После настройки правил через iptables-compat, они не отображаются в nft, ошибка netlink:

root@peka:/# iptables-compat -F
root@peka:/# iptables-compat -P INPUT DROP
root@peka:/# iptables-compat -A INPUT -i lo -j ACCEPT
root@peka:/# iptables-compat -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
root@peka:/# iptables-compat-save
# Generated by xtables-save v1.6.0 on Wed May 8 16:52:27 2019
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed May 8 16:52:27 2019
root@peka:/# nft list ruleset
table ip filter {
chain INPUT {
type filter hook input priority 0; policy drop;
counter packets 0 bytes 0 accept
counter packets 0 bytes 0 accept
}

chain FORWARD {
type filter hook forward priority 0; policy accept;
}

chain OUTPUT {
type filter hook output priority 0; policy accept;
}
}
netlink: Error: Relational expression size mismatch


netlink: Error: unknown expression type 'match'


root@peka:/#

И наоборот тоже криво - если настроить через nft, а потом посмотреть iptables-compat-save, в данном случае одно правило отобразилось верно, другое нет (вместо ctstate просто ACCEPT):
root@peka:/# nft flush ruleset
root@peka:/# nft add table ip filter
root@peka:/# nft add chain ip filter INPUT { type filter hook input priority 0 \; policy drop \; }
root@peka:/# nft add rule ip filter INPUT iifname lo accept
root@peka:/# nft add rule ip filter INPUT ct state {established, related} accept
root@peka:/# nft list ruleset
table ip filter {
chain INPUT {
type filter hook input priority 0; policy drop;
iifname "lo" accept
ct state { related, established} accept
}
}
root@peka:/# iptables-compat-save
# Generated by xtables-save v1.6.0 on Wed May 8 16:53:05 2019
*filter
:INPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -j ACCEPT
COMMIT
# Completed on Wed May 8 16:53:05 2019
root@peka:/#
root@peka:/#

И это тривиальный случай с двумя простыми правилами.
ЧСХ, никаких ошибок в iptables-save, просто отображается совершенно другое правило (и так, глядя на его выхлоп, можно долго думать, чего это ничего не работает).

Это так и должно быть? Если правила нового iptables несовместимы с nft, в чем его (iptables-compat) смысл? Понятно, что он загружает правила в ядерный nft, но зачем? Тем более, если вносится такая путаница.
Да, понятно, что не все правила можно представить в виде синтаксиса iptables (логично - иначе не было бы смысла велосипедить nft). Но почему не работает обратный случай?
Был бы нормальный юзкейс - загрузить правила в iptables и сохранить конфиг nft, и в нём уже добавлять новые фишки nftables. А так получается буквально тот же iptables без новых возможностей, только реализованный в ядре другим модулем. Но зачем, когда есть работающий и проверенный временем iptables (который теперь будет iptables-legacy)?








 ,








И это всё МОЁ

Здравствуйте! Имеется fail2ban по соседству с zimbra. Повадились неприятные личности ходить, хочу банить таких.
Кусок лога ngnix.log для понимания:

2019/05/08 07:06:34 [error] 3683#0: *111054 An error occurred in mail zmauth: user not found:[email protected] while SSL handshaking to lookup handler, client: 197.210.130.186:51366 using starttls, server: 0.0.0.0:143, login: «[email protected]»

Соответственно в jail.conf я добавил следующее:

[zimbratest]

enabled = true

filter = zimbra

logpath = /opt/zimbra/log/ngnix.log

bantime = 3600

maxretry = 4

В zimbratest.conf я добавил вот такое выражение:

failregex = \[error\] \d+#\d+: \*\d+ An error occurred in mail zmauth: user not found:?(\S+).*client: <HOST>.*server:? (\S+), login:? \"(\S+)\"

И он не отрабатывает.
Естественно я тестировал это через regex101 , можно посмотреть вот тут https://regex101.com/r/Wumis5/2
естественно там есть различие с приводимым примером в client: . так как fail2ban нужен <HOST>, без него не пашет.

Когда я перепробовал все варианты я попытался добавить в zimbratest.conf следующее выражение :

failregex = .*client: <HOST>.*

и он все равно ничего не находит. Честно сказать я в тупике

Тестирую я через:

fail2ban-regex /opt/zimbra/ngnix.log ".*client: <HOST>.*" -v --print-all-missed

или

fail2ban-regex /opt/zimbra/ngnix.log /etc/fail2ban/filter.d/zimbratest.conf -v --print-all-missed

И получаю на выходе Lines: 1 lines, 0 ignored, 0 matched, 1 missed

|- Missed line(s):

| /opt/zimbra/ngnix.log

Чтобы я не делал, я всегда получаю 1 lines, 0 ignored, 0 matched, 1 missed

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








 , ,








И это всё МОЁ

Бывает ввожу неправильный пароль в gnu pass, мне говорит что то вида осталось 1 или 2 из трех попыток, а потом. как ОЧЕНЬ ХИТРЫЙ партизан, не сообщает, что будет если добиться 3 из 3.

google duckduckgo не помог.

Можно повысить этот порог и что будет-то собственно за выбивание джекпота?








 ,








И это всё МОЁ

есть рабочий конфиг

location ~ ^/ajax/not/ {
fastcgi_index index.php;
try_files $uri $uri/ /ajax/not/index.php?$query_string;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param sсript_FILENAME $document_root$fastcgi_sсript_name;
include fastcgi_params;
}

можно как-то это правило модифицировать, если добавятся еще несколько каталогов в ajax, что бы в конфиге не добавлять похожие правила, например

location ~ ^/ajax/set/ {
fastcgi_index index.php;
try_files $uri $uri/ /ajax/set/index.php?$query_string;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param sсript_FILENAME $document_root$fastcgi_sсript_name;
include fastcgi_params;
}

а сделать одно общее правило для таких случаев?








 , ,








И это всё МОЁ

Иногда когда печатаешь система переключается в какой-то режим непонятный где ничего не переключается и не пишется. Сверху где батарея и значок выключения появляется знак паузы с двумя черточками, когда на него нажимаешь ноутбук уходит в спящий режим и только после него норм становится. Подскажите что это за режим и как его выключить можно?








 








И это всё МОЁ

Есть замечательная игра PowderToy: можно взять железо, золото, титан... Или дерево, сделать из него закрытый контур, насыпать внутрь урана и плутония, посыпать это нейтронами... И смотреть, как наш реактор красиво расплавляется. В общем, очень занимательная штука. Можно делать примитивные электрические схемы. https://powdertoy.co.uk/

Проблема в том, что в игре симулируется физика частиц (есть патчи для корректной симуляции химических элементов), но не твердых объектов. Автор говорит, что физику твердых объектов добавить практически нереально. Это и надо исправить, пусть и написанием подобной игры с нуля.

Нужен какой-то простенький симулятор физики (Box2d?) и FEM-анализ для физически-корректных разрушений (во FreeCad есть готовый FEM-модуль, взять оттуда?). Или из http://www.calculix.de/. Нужна база материалов, как в оригинале, такие как дерево, железо, титан и тому подобное - возможно, можно взять из Autodesk Inventor/Robot и тому подобного? Ну и простая отрисовка всего этого, скажем на SDL. Как и в оригинале, рисовать объекты мышкой. Возможно, объекты надо будет делать структурированными, т.е. деревянные объекты должны учитывать направление волокон.

Есть желающие сделать такую игру? Я джва года хочу такую.








 








И это всё МОЁ

Взяли мы, значит, сегодня, вилдкарт сертификат в руцентре за 10к деревянных...

Руцентр сразу же отправил письмо (с ссылкой на подтверждение прав на домен) на ящик admin@нашдомен.

Однако, такого ящика на этом домене у нас нет.

И действительно, можно же указать другой ящик... ой... ограниченный выпадающим списком, который предлагает руцентр (admin, administrator, hostmaster, webmaster, postmaster).

Ладно, меняем на postmaster и... ждём — ведь отправить повторное письмо можно только через час.

Пока ждём, генерируем на своем сервере *.key а из него *.csr.

Через час отправляем письмо на постмастер ящик. Письмо приходит. Серт выпускается и...

ОНИ СГЕНЕРИРОВАЛИ *.key и *.csr ДЛЯ НАС САМИ!!!

https://www.youtube.com/watch?v=1dRrE_ROot0

Хм... Что же делать? Оказывается, чтобы всунуть им свой *.csr, нужно заказать перевыпуск сертификата. Благо — это бесплатно.

Ладно, нажимаем кнопку «перевыпустить» и видим такую картину:

(тут и далее, красные рамки мои)

https://pic4a.ru/95/nKu.png

1) О! Так они и не скрывают, что секретный ключ скомпрометирован!

2) Да, они снова сразу хотят отправить письмо на admin@нашдомен без возможности выбора на этом шаге. Жмакаем «продолжить»:

https://pic4a.ru/95/ni8.png

Всё ещё впаривают тот *.csr от скомпрометированного ключа. Такая большая кнопка «сохранить приватный ключ» и такая блеклая ссылочка «использовать свой csr».

Жмакаем «использовать свой». Да, письмо уходит на «админ», снова правим на «постмастер», снова ждём час и жмакаем повтор отправки.

Теперь ждём ещё часик. Может два?

Ну, баба Маня у них там одна, и серты выпускает и письма рассылает. Ей и так тяжело, вот, решили они, сердобольные, оптимизировать её работу, а главное — безопасность повысить.

Будьте внимательны!!!

Модераторы, если считаете что теме место в другом разделе (security, talks) — переносите.








 , ,








И это всё МОЁ
Представлен релиз системы управления web-контентом WordPress 5.2, написанной на языке PHP и ориентированная на создание блогов. Выпуск примечателен завершением шестилетней эпопеи по реализации возможности проверки обновлений и дополнений по цифровой подписи.



14:19

tmpfs & swap

И это всё МОЁ

Собственно, сабж. Как сделать использование swap при окончании оперативки в tmpfs?

$ cat /etc/fstab
...
tmpfs /tmp tmpfs defaults 0 0
...







 ,








И это всё МОЁ

Всем привет!

Пытаюсь настроить AWS Codepipeline, и теперь немножк встрял с его автостартом. Похоже, cloudwatch не обнаруживает события ECR, поэтому не запускает конвейер. Target и роль настроены корректно, но в Access Advisor для роли я не вижу никаких её вызовов. Регион us-west-2.
Вот паттерн который использую для Cloudwatch Event:

{
"detail": {
"eventName": [
"PutImage"
],
"requestParameters": {
"imageTag": [
"service.develop.latest"
],
"repositoryName": [
"repository"
]
}
},
"source": [
"aws.ecr"
]
}


По этому паттерну при появлении нового образа помеченного service.develop.latest должен стартовать пайп, но этого почему-то не происходит.








 








И это всё МОЁ

Представьте такую парсилку:

1. Сначала разобрать HTML-документ на линейную последовательность тегов. Тег - имя + набор атрибутов. Иерархии нет. Закрывающий тег - тупо отдельное имя в той же плоской последовательности.

2. Рассмотреть всю эту последовательность как строку символов, где символ - тег.

3. Сделать regexp-машинку, которая оперирует не символами текста, а тегами. В таком духе:

// заматчить любую пару тегов <TD> + </TD> с любыми тегами между ними.
TD, * *, /TD


// то же самое, но только <TD> имеющий атрибут "hello" равный 123
TD hello=="123", * *, /TD

// можно замутить встроенный язык с переменными
// При встрече тега HTML создать i = 0
// Пропустить сколько угодно каких угодно тегов
// заматчить много последовательностей <TD> ... </TD>
// При матчинге очередного TD инкрементнуть переменную
// В итоге мы посчитаем число пар <TD>...</TD> заодно.

HTML $i=0, * *, (TD $i++, * *, /TD)*

Не будет ли такое быстрее, чем построение в памяти всего DOM-дерева и исполнение на этом дереве XPath-запросов?








 








И это всё МОЁ

Почему в Ubuntu и Debian нет скрипта для запуска и остановки iptables как это сделано в CentOS?

Вот не могу понять, при чем тут iptables

root@vesta4:/home/nommaner# iptables-save
# Generated by iptables-save v1.6.0 on Wed May 8 15:20:29 2019
*filter
:INPUT ACCEPT [1093:654471]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1072:1598429]
:f2b-sshd - [0:0]
:fail2ban-MAIL - [0:0]
:fail2ban-SSH - [0:0]
-A INPUT -p tcp -m multiport --dports 25,465,587,2525,110,995,143,993 -j fail2ban-MAIL
-A INPUT -p tcp -m tcp --dport 22 -j fail2ban-SSH
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A f2b-sshd -s 220.132.36.160/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 5.88.161.197/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 89.46.196.137/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 193.95.24.114/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 139.59.6.148/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 201.41.148.228/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 50.227.195.3/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 198.27.81.223/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 88.84.200.139/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 188.131.170.119/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 222.122.31.133/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 207.154.254.103/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -j RETURN
-A fail2ban-MAIL -s 139.28.174.99/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-MAIL -s 139.28.174.110/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-MAIL -s 139.28.174.155/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-MAIL -j RETURN
-A fail2ban-SSH -s 220.132.36.160/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 5.88.161.197/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 89.46.196.137/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 193.95.24.114/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 139.59.6.148/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 201.41.148.228/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 50.227.195.3/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 198.27.81.223/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 88.84.200.139/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 188.131.170.119/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 222.122.31.133/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -s 207.154.254.103/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -j RETURN
COMMIT
# Completed on Wed May 8 15:20:29 2019

Скажите, сейчас iptabels работает, раз правила есть?

И да, похоже ее решили выпилить, новая система будет, как это мотивируется и как скоро дойдет до дебианоподобных?








 ,








И это всё МОЁ

После прочтения новости о выходе RHEL 8 и комментариев к ним назрел вопрос – какую пользу я получу при переходе со свежеустановленного KDE спина Fedora 30 на RHEL 8 с бесплатной подпиской для разработчиков?


Что запускаю на компе (+ то, что я хочу запускать):



  • Веб-браузер (Vivaldi);

  • VM с Windows XP в VirtualBox, Windows 10 в QEMU/KVM;

  • Пару пиратских программ, которые поддерживают только RHEL;

  • Emacs + ESS + knitr (соотв-но нужен LaTeX и R);

  • Какую-нибудь среду разработки (скорее всего VS Code, потому что мне очень нравится MS Visual Studio для Windows) для обучения C++ и Fortran;

  • Chrome для DRM контента;

  • Очень хотел бы завести MS Outlook (по-моему, это лучший почтовик ever) под Wine’ом;

  • Было бы очень здорово организовать проброс видеокарты и избавиться от dualboot’а.


Железо:



  • Процессор Intel Core i7;

  • Материнка ASRock;

  • Видеокарта GTX 1060.


Смогу ли я реализовать то, что хочу и использую из первого списка на железе из второго под RHEL 8? Ну и плюсом хотелось бы изучить эти новые штуки типа AppStream, podman и SCL о которых писали в комменатриях.









 , ,








И это всё МОЁ
Спустя 10 месяцев с момента прошлого тестового выпуска представлен GTK 3.96, новый экспериментальный выпуск будущего стабильного релиза GTK 4. Ветка GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK. До полной стабилизации GTK 4, приложения, предлагаемые для пользователей, рекомендуется продолжить собирать с использованием ветки GTK 3.24.



И это всё МОЁ

Если в postfix эта проблема решается добавлением

tls_ssl_options = NO_COMPRESSION, 0x40000000

То в exim совершенно непонятно как :(

Есть идеи ?








 








И это всё МОЁ

Использую BeagleBoard передаю данные по протоколу ModBusRTU через RS485. Для того чтобы отправлять данные и принимать данные RTS выставлюя его в 0 при приеме и 1 при передаче реализовал это с помощью временных задержек. Так как это не надежно нужно реализовать это без них. Теперь сам вопрос как можно узнать что данные ушли из одноплатника чтобы можно переключить RTS.








 , ,








И это всё МОЁ

Решил прокачать скилл владения ffmpeg'ом и заодно проверить новый диск на стабильность. Разумеется странным методом. Т.е. разобрать несколько каких нибудь больших фильмов на кадры и собрать обратно. В наличии папка с порядка 100-150K .png, команду выбрал стандартную из мануалов:

ffmpeg -f image2 -i %d.png -r 24 -vcodec libx264 -preset slow -qmax 25 ../test.ts 
и вариация с кодком h264_omx.

Собственно проблема и вопрос: в выводе ffmpeg множественные предупреждения вида

Past duration 0.719994 too large
и дропнутые кадры, порядка 3,9%. Как можно выбрасывать кадры если, дана команда собрать вот эти кадры по 24 штуки в секунду в видеопоток? Чего я не знаю и какие скрытыепараметры фреймрейта не указаны? Да, тестовый фрагмент на глаз выглядит плавным, но я не уверен, что уловлю выпавший кадр.








 ,








И это всё МОЁ

Проблема в том что не могу запустить Samba 4 на CentOS 7(сервер) в связи с тем что в /etc/init.d/ нет самбы. Так же команда

systemctl -l|grep smb

ничего не выдает. На соседнем CentOS'e (клиент) все нормально есть и smbd и nmbd. Подскажите в какую сторону копать.








 ,








И это всё МОЁ

Пытаюсь подключить IMA/EVM основываясь на вики: https://sourceforge.net/p/linux-ima/wiki/Home/#compiling-the-kernel-with-evmima-appraisal-enabled


TPM у меня нет, ибо виртуалка (а может и совсем нет), поэтому для генерации мастер ключа поступаю следующим образом:


# To create and save the kernel master key (user type):
$ su -c 'modprobe trusted encrypted'
$ su -c 'keyctl add user kmk-user "`dd if=/dev/urandom bs=1 count=32 2>/dev/null`" @u'
$ su -c 'keyctl pipe `keyctl search @u user kmk-user` > /etc/keys/kmk-user.blob'


# Create the EVM encrypted key
$ su -c 'keyctl add encrypted evm-key "new user:kmk-user 32" @u'
$ su -c 'keyctl pipe `keyctl search @u encrypted evm-key` >/etc/keys/evm-user.blob'


Однако


$ su -c 'keyctl add user kmk-user "`dd if=/dev/urandom bs=1 count=32 2>/dev/null`" @u'
Password:
24606028
$ su -c 'keyctl pipe `keyctl search @u user kmk-user` > /etc/keys/kmk-user.blob'
Password:
keyctl_read_alloc: Permission denied


При этом


$ systemctl show root@ubuntu | grep KeyringMode
KeyringMode=private


Не могу ничего сделать, ключи сгенерены, файлы через evmctl sign можно подписать, но толку то, EVM не включается. Где-то натыкался на формуе, что это systemd блокирует keyctl, но как поменять режим keyring’ов я не знаю.


Скрипт из initramfs обваливается, потому что (почему-то) не может прочитать файл сертификата x509, хотя он явно лежит в нужной папке


/etc/keys$ ls
kmk-user.blob privkey_ima.pem x509_evm.der
privkey_evm.pem pubkey_evm.pem x509_ima.der


Может кто-то занимался этой технологией без сборки ядра с нуля? Флаги в последней доступной для скачивания убунте все соответствуют.
А то получается ни ключи не поэкспортировать, ни запустить EVM в принципе - не могу понять в чем причина









 , , ,