LINUX.ORG.RU

Сообщения getup

 

Накидайте г на вентилятор

Форум — Talks

Кто что думает про https://pythoncourse.ru с точки зрения повышения квалификации/подтянуть знания в разных областях?

Программа выглядит довольно интересно. Плевать, что под эгидой mail.ru

 

getup ()

Не могу подключиться по ipsec к серверу

Форум — Admin

Сервер zywall 35

Настройки ipsec на нем (да, des древний как г но нужно завести с этим)

Negotiation Mode Main
Encryption Algorithm DES
Authentication Algorithm MD5
SA Life Time (Seconds)  28800
Key Group DH1

Клиент strongswan

 conn TESTING
   left=my_client_ip
   leftauth=psk
   right=zywall_35_ip
   rightsubnet=10.133.16.0/24
   rightauth=psk
   ike=3des-md5-modp768!
   esp=3des-md5-modp768!
   dpddelay=30
   dpdtimeout=150
   mediation=no
   keyexchange=ikev1

При подключении всегда одна и та же ошибка

Aug  3 12:37:40 debian-1 charon: 04[IKE] IKE_SA TESTING[1] established between my_client_ip[my_client_ip]...my_server_ip[my_server_ip]
Aug  3 12:37:40 debian-1 charon: 04[IKE] IKE_SA TESTING[1] state change: CONNECTING => ESTABLISHED
Aug  3 12:37:40 debian-1 charon: 04[IKE] scheduling reauthentication in 3270s
Aug  3 12:37:40 debian-1 charon: 04[IKE] maximum IKE_SA lifetime 3450s
Aug  3 12:37:40 debian-1 charon: 04[IKE] activating new tasks
Aug  3 12:37:40 debian-1 charon: 04[IKE]   activating QUICK_MODE task
Aug  3 12:37:40 debian-1 charon: 04[CFG] configured proposals: ESP:3DES_CBC/HMAC_MD5_96/MODP_768/NO_EXT_SEQ
Aug  3 12:37:40 debian-1 charon: 04[CFG] configured proposals: ESP:3DES_CBC/HMAC_MD5_96/MODP_768/NO_EXT_SEQ
Aug  3 12:37:40 debian-1 charon: 04[CFG] proposing traffic selectors for us:
Aug  3 12:37:40 debian-1 charon: 04[CFG]  my_client_ip/32
Aug  3 12:37:40 debian-1 charon: 04[CFG] proposing traffic selectors for other:
Aug  3 12:37:40 debian-1 charon: 04[CFG]  my_server_ip/32
Aug  3 12:37:40 debian-1 charon: 04[IKE] Hash(1) => 16 bytes @ 0xaed01460
Aug  3 12:37:40 debian-1 charon: 04[IKE]    0: A0 5F 1B 19 97 D5 E6 04 AB 9A 74 4B 6A D1 4A D1  ._........tKj.J.
Aug  3 12:37:40 debian-1 charon: 04[ENC] generating QUICK_MODE request 1862884692 [ HASH SA No KE ID ID ]
Aug  3 12:37:40 debian-1 charon: 04[IKE] next IV for MID 1862884692 => 8 bytes @ 0xaed00878
Aug  3 12:37:40 debian-1 charon: 04[IKE]    0: CE A7 EB 42 29 5D 88 0B                          ...B)]..
Aug  3 12:37:40 debian-1 charon: 04[IKE] next IV for MID 1862884692 => 8 bytes @ 0xaed02920
Aug  3 12:37:40 debian-1 charon: 04[IKE]    0: 7C 4E 91 E5 24 2A EC 78                          |N..$*.x
Aug  3 12:37:40 debian-1 charon: 04[NET] sending packet: from my_client_ip[500] to my_server_ip[500] (268 bytes)
Aug  3 12:37:40 debian-1 charon: 05[NET] received packet: from my_server_ip[500] to my_client_ip[500] (76 bytes)
Aug  3 12:37:40 debian-1 charon: 05[IKE] next IV for MID 1909653617 => 8 bytes @ 0xaef01578
Aug  3 12:37:40 debian-1 charon: 05[IKE]    0: 5E 97 AD A1 3B EE C6 42                          ^...;..B
Aug  3 12:37:40 debian-1 charon: 05[ENC] parsed INFORMATIONAL_V1 request 1909653617 [ HASH N(INVAL_ID) ]
Aug  3 12:37:40 debian-1 charon: 05[IKE] Hash => 16 bytes @ 0xaef00a20
Aug  3 12:37:40 debian-1 charon: 05[IKE]    0: F5 D2 24 D0 F9 EC CC FD 87 B3 C5 C8 29 31 43 42  ..$.........)1CB
Aug  3 12:37:40 debian-1 charon: 05[IKE] received INVALID_ID_INFORMATION error notify
Aug  3 12:37:40 debian-1 charon: 05[NET] received packet: from my_server_ip[500] to my_client_ip[500] (76 bytes)
Aug  3 12:37:40 debian-1 charon: 05[IKE] next IV for MID 1882852347 => 8 bytes @ 0xaef01708
Aug  3 12:37:40 debian-1 charon: 05[IKE]    0: 6C 1F 33 B8 AF 48 15 52                          l.3..H.R
Aug  3 12:37:40 debian-1 charon: 05[ENC] parsed INFORMATIONAL_V1 request 1882852347 [ HASH D ]
Aug  3 12:37:40 debian-1 charon: 05[IKE] Hash => 16 bytes @ 0xaef009d0
Aug  3 12:37:40 debian-1 charon: 05[IKE]    0: AF 2B 14 D7 0E 64 6E 99 5C 14 75 EC E5 34 97 B0  .+...dn.\.u..4..
Aug  3 12:37:40 debian-1 charon: 05[IKE] received DELETE for IKE_SA TESTING[1]
Aug  3 12:37:40 debian-1 charon: 05[IKE] deleting IKE_SA TESTING[1] between my_client_ip[my_client_ip]...my_server_ip[my_server_ip]
Aug  3 12:37:40 debian-1 charon: 05[IKE] IKE_SA TESTING[1] state change: ESTABLISHED => DELETING
Aug  3 12:37:40 debian-1 charon: 05[IKE] IKE_SA TESTING[1] state change: DELETING => DELETING
Aug  3 12:37:40 debian-1 charon: 05[IKE] IKE_SA TESTING[1] state change: DELETING => DESTROYING

т.е. соединение вроде бы устанавливается и сразу отваливается

 , ,

getup ()

Дизайн БД?

Форум — Development

Таблица models:

id - primary key title - varchar(256)

Таблица model_instances

id - primary key model_id - foreign key to app_models.id title - varchar(256)

Таблица model_fields

id - pk model_id - foreign key to models.id instance_id - foreign key to model_instances.id title - name of the field type - enum [text, checkbox, radio, select, 'etc']

Таблица model_field_values:

instance_id - forein key model_instance.id field_id - foreign key to model_fields.id value - text

Может быть несколько значений для поля (например, когда поле select multiple)

Проблема: value - поле типа text, чтобы можно было сохранить разные типы (текст, дату, число), но поиск по ним будет медленным и неэффективным (если будем искать по числу, все равно поле текстовое).

Например, для 10 моделей, где у каждой уже есть 1000 экземпляров с 10 полями в каждом таблица model_field_values будет содержать 100000 записей, а если есть множественные поля, то и 120000 записей.

Если бы создавались отдельные таблицы, то было бы 10 таблиц с 1000 записей в каждой + несколько таблиц для хранения множественных значений.

Варианты решения:

Для каждой модели создавать model_field_values_{id модели} таблицу с той же структурой. Плюсы: любое поле можно сделать множественным (например, несколько номеров телефонов, несколько email для текстовых полей), больше таблиц - но меньше записей в каждой, минусы все те же самые - value всегда текстовое поле).

Либо, т.к. мы знаем, что в model_fields, можно создавать model_field_values для каждой модели в виде

model_fields for model.id=1 (by primary key): 1 - text, 2 - integer, 3 - datetime, 4 - smalltext

Fields for model_field_values_1: field_1 text, field_2 integer, field_3 datetime, field_4 varchar(256)

model_fields for model.id=2 (by primary key): 1 - text, 2 - integer, 3 - integer, 4 - integer

Fields for model_field_values_1: field_1 text, field_2 integer, field_3 integer, field_4 integer

Это решение не подходит опять же для множественных значений

P.S. Дизайн базы для CRM-системы, где пользователи сами могут создавать модели (аналог отдельной таблицы в БД) с разными типами полей (аналог колонок в БД).

В интернетах есть подобные системы (где пользователь сам создает модели), так вот, как там дизайнят БД?

Может есть где подсмотреть, какой дизайн применить?

 ,

getup ()

Посоветуйте недорогой телевизор под монитор

Форум — Talks

До 25k, с hdmi, usb.

От 32" до 43". Full hd. Желательна поддержка mkv с ac3 кодеком.

Будет использоваться и как монитор, и как телевизор (так что usb обязательно).

 

getup ()

Проект квартиры

Форум — Talks

sup, lor.

Что полезного можно сделать в квартире при капитальном ремонте?

Окромя как проложить сеть во все комнаты ничего в голову не приходит.

Также хочется поставить датчики газа/воды (чтобы уведомляли, если будет протечка/утечка газа).

Стоит ли ставить защиту питания на входе в квартиру? Дом не сильно старый, проводка не убитая. Если да, то что лучше?

P.S. Чем проще, тем лучше. Пихать повсюду кучу контроллеров не хочется. Крайне приветствуется личный опыт.

 

getup ()

Посоветуйте ноут

Форум — Talks

Требования: до 30k, матовый экран, памяти от 4 гб (либо с возможностью наращивания), экран от 13", ЖД либо ЖД+ssd от 200 Гб.

Использоваться будет для разработки, админинга и просмотра картинок с котиками. Естественно, под linux.

 , ,

getup ()

На чем писать проект?

Форум — Development

Есть план написания большого «сайта» с кучей сущностей в БД и сложной логикой для их связи.

Писал на python/django, самопальном php, тьфу-тьфу-тьфу битриксе.

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

Пробовал laravel 5 на php и за полдня так и не вдуплил, как сделать большую часть задач (например, \Auth::logout() упорно требовал updated_at у пользователя в БД, а оно мне не нужно).

Что нужно: роутинг, удобное взаимодействие с БД (в частности, с транзакциями), нечто для валидации данных (типа описал поля и правила их проверки и вся валидация готова).

 , , , ,

getup ()

Вся суть яблочников

Форум — Talks

Американский телеведущий Джимми Киммел любит обманывать фанатов Apple. Однажды он выдал дешевые часы Casio за умные Apple Watch, а iPhone первого поколения — за iPhone 6s. На этот раз прохожим вручили два iPhone 5s, но сказали, что один из них — это громкая новинка iPhone SE. Реакция обывателей оказалась предсказуемой.

Первая «жертва» встретила поддельный iPhone SE восторженной улыбкой и отметила, что он тяжелее смартфона, выпущенного в 2013 году: «Возможно, из-за увеличенной батареи».

Следующая девушка сказала, что подставной iPhone SE выглядит меньше, мужчина отметил более «чистый» и четкий экран у «новинки». Еще одна девушка сумела рассмотреть лучшую автономность у одного из iPhone 5s. А кое-кому показалось, что один из аппаратов работает на миллисекунды отзывчивее и быстрее. Самый дотошный прохожий и вовсе указал на переделанную кнопку Home.

https://www.youtube.com/watch?v=-C0dJOrBHzY

 , , ,

getup ()

Редиректы при логине в интернет-банке

Форум — Security

При логине во многих (всех?) интернет-банках происходит серия редиректов на разные адреса. Зачем так сделано и что при этом происходит на стороне банка?

 

getup ()

Как не попасть на бабки

Форум — Talks

Товарищи, подскажите, какие еще есть способы у опсосов по взиманию тугриков у честного населения, кроме «незаметных» подписок при заходе (случайном) на сайт, предлагающий платную подписку, а также способы этого избежать.

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

 ,

getup ()

Окно chromium исчезает при выходе из fullscreen

Форум — Desktop

ArchLinux
Chromium 35.0.1916.153-1
openbox
Драйвер nvidia 337.25-1
Жмем F11, chromium переходит в fullscreen. Снова жмем, окно исчезает. В списке открытых окон оно остается. По alt-tab очерчиваются границы окна, но окно не появляется. При этом можно нажать alt-f4, когда окно выбрано, но не отображается, и chromium нормально закрывается.
На чистом профиле то же самое.
С google-chrome, поставленным из aur, такой проблемы нет.

 ,

getup ()

usb телефон

Форум — Linux-hardware

Есть такой usb телефон.
Есть около сотни разношерстных рабочих станций (на windows xp).
Условно станции можно поделить на N типов (в зависимости от модели компьютера/материнки).
На одном из этих типов трубка крайне хреново работает. Выражается это следующим образом.
На одном компьютере при подключении трубки звук из нее слышно секунд 5, не дольше. На другом компьютере трубка может заработать после смены usb-порта, но на следующий день звука из нее не добиться, если снова не сменить usb-порт. Точно есть один аналогичный компьютер, на котором трубка нормально работает.
Для трубки используется x-lite. При его запуске на дисплее трубки должно отобразиться текущее время. На проблемных компьютерах даже при наличии звука в трубке оно либо не отображается, либо после over9k перетыканий в разные порты таки появляется. Если время показывается, значит можно не тыкать мышкой в x-lite, чтобы позвонить, а набирать номер на трубке. Аналогично с ответом на звонок.
Трубки при подключении на компьютеры другой модели ведут себя адекватно.
Проверял через live cd ubuntu. Поведение в отношении звука аналогичное. Он не всегда есть.
Есть предположение, что это может быть связано с плохим питанием по usb, но в этом я не уверен.
Что еще можно проверить и в чем может быть причина?

 

getup ()

Как правильно обрабатывать json-ответы

Форум — Development

Скажем, есть url http://api.example.com/someoperation?params&apikey=123456, при обращении к которому при правильном apikey можно получить некоторые данные в формате json.

Вложенность этих данных (объект в списке, которые в объекте, который в списке, нутыпонел) может быть разной.

Естественно, структура ответа мы знаем из документации сервиса.

Внимание, вопрос: как лучше всего обрабатывать такие ответы?

Стоит ли делать кучу вложенных if, чтобы проверить, что все требуемые ключи есть в ответе, или забить, и обращаться сразу в виде answer[key1][key2][key3], предполагая, что key1, key2 и key3 всегда есть в ответе и не стоит лишний раз заморачиваться с проверкой ошибок?

В частности, обработка идет на python.

 ,

getup ()

Апокалипсипипец.

Форум — Talks

Гипотетически, нехорошие люди могут поломать аккаунт разработчика adblock в chrome store и запилить маленький патч, который будет тырить все явки и пароли. Думаю, то же относится и к лисе.
Миллионы хомячков-гиков пострадают. Начнется мародерство, государство рухнет, вся шваль повылезает из щелей и установится новый мировой порядок.
Так вот, помимо adblock я так же использую ghostery, который подвержен той же проблеме, потому что в permissions значится

Access your data on all websites.
Получается, что все взаимодействие строится исключительно на доверии (да, все за тобой следят, $username).
Прав ли я, что тот же adblock более уязвим к внедрению бэкдора, чем chromium, потому что разработчик по сути один? С другой стороны, чем больше разработчиков, тем больше потенциальных жертв.

 , ,

getup ()

Как лучше бэкапить почтовый сервер?

Форум — Admin

debian 7.
exim4.
postfixadmin + mysql.
Kaspersky Security 8.0 for Linux Mail Server, который использует встроенный в себя postgres.
Места занято жалких 3 Гб, потому что почта на сервере не хранится. Есть скрипт наипростейшего бэкапа при помощи tar.

#!/bin/bash

REMOTE_DIR="/mnt/network_disk/mail/backups/"

aptitude clean
mount -t cifs //192.168.10.1/network_disk /mnt/network_disk -o credentials=/etc/smb_password
DATE="`date '+%Y-%m-%d_%Hh_%Mm'`"

service exim4 stop
service dovecot stop
service klms stop
service klmsdb stop
service apache2 stop
service php5-fpm stop
service mysql stop
service nagios-nrpe-server stop

tar -czvpf "$REMOTE_DIR/backup-$DATE.tar.gz" \
--directory=/ --exclude='proc/*' --exclude='sys/*' --exclude='dev/*' --exclude='mnt/network_disk/*' --exclude='run/*'  /


service mysql start
service php5-fpm start
service apache2 start
service klmsdb start
service klms start
service dovecot start
service exim4 start
service nagios-nrpe-server start

umount /mnt/network_disk
На всякий случай останавливаются все возможные сервисы, чтобы обеспечить хоть какую-то атомарность, потому что я не уверен на 100%, что при разворачивании из бэкапа ничего не сломается. Внимание, вопрос: как лучше всего бэкапить __всю__ систему целиком и обеспечить атомарность бэкапа?
В принципе я понимаю, что тот же mysql можно не останавливать, потому что в него пишется что-то только тогда, когда ручками добавляются пользователи или меняются пароли через postfixadmin.
Возникает проблема с klmsdb (postgresql для каспера) или нет, я не знаю.
Не поломаются ли логи в бэкапе, если ничего из этого не останавливать? Например, если в то время, как приходит новое сообщение, будет копироваться /var/log/exim4/mainlog, может ли он сохраниться в неполноценном виде?
Прошу поделиться опытом такого рода бэкапов или посоветовать, что нужно и можно бэкапить наживую.
Может я зря все останавливаю и можно об этом не беспокоиться.
P.S. Еще раз замечу, что все подряд останавливается на всякий случай. Минимум половину из этих сервисов можно из скрипта выкинуть. Бэкап делать ночью cron'ом. Выключение на 2 минуты никто не заметит, кроме мониторинга.

 , , ,

getup ()

В ядре Linux обнаружили смешной баг, отключающий USB-устройства

Форум — Talks

Один из разработчиков ядра Linux Сара Шарп из компании Intel посыпает голову пеплом: за восемь лет работы над стеком Linux USB они неоднократно сталкивались с ситуацией, когда USB-устройство внезапно отключалось после выхода из режима ожидания при включенной функции auto-suspend. Все это время проблему списывали на китайских производителей дешевых флэшек, мышек и клавиатур. Обсуждалась даже идея внедрить «черный список» моделей таких устройств прямо в ядро, чтобы для них не активировался режим энергосбережения. От идеи отказались только когда стало ясно, что список будет слишком большим: так много было USB-устройств, которые вели себя некорректно.

Сейчас выяснилось, что сбои не всегда были аппаратными.

В коде хост-контроллера Intel xHCI (drivers/usb/core/hub.c) есть строчка с лаконичным комментарием «TRSMRCY = 10 msec». В соответствии с пунктом 7.1.7.7 спецификаций USB 2.0, система USB System Software должна обеспечить время в 10 миллисекунд для восстановления работы устройства, в течение которых не отправлять на него никаких запросов. В ядро Linux просто вставили таймаут 10 мс. Но специалисты по аппаратному обеспечению сейчас обратили внимание разработчиков ядра Linux, что в таблице 7-14 спецификаций USB 2.0 указано, что таймаут должен быть минимум 10 миллисекунд, а не максимум. Это означает, что устройство может восстанавливаться дольше, чем сейчас установлено в строке TRSMRCY в Linux USB. В таких случаях при попытке обратиться к нему может возникнуть ошибка передачи данных — тогда операционная система считает устройство отключенным.

Тесты показали, что выход устройства из спящего режима никогда не занимает больше 17 мс, но в 8% случаев превышает 10 мс. Для исправления бага достаточно увеличить значение таймаута с 10 до 20 мс, после чего все USB-устройства начнут нормально работать. Сара Шарп уже подготовила патч.

Разработчики говорят, что больше всего от бага страдают пользователи ChromeOS, потому что эта система очень агрессивно использует режим энергосбережения для USB, активируя auto-suspend для всех внутренних USB-устройств, включая WiFi и Bluetooth.

(c) x
UDP: Посоны, расходимся

I guess the xHCI hardware engineers just assumed software would always wait for the interrupt from the port status change event, rather than using a simple 10 ms timer. I bet they didn't even realize that that the transition took longer than 10ms, because Windows waited for the port status change event.

(c) src

 ,

getup ()

Посоветуйте

Форум — Talks

Что-то вроде Fleshgod Apocalypse – Kingborn (в особенности с 1:10 до 2:20).
Или Fleshgod Apocalypse - The Violation (с 0:30 до 1:25).

 ,

getup ()

Ксакеп или Системный администратор

Форум — Talks

Посоветуйте, на какой журнал подписаться. В бумажном виде.
Ксакеп вообще сейчас чего-нибудь ст`оит? А то по содержанию последних номеров прошелся - не впечатлило.
С другой стороны в сис.адм. попадаются (сужу исключительно по заголовкам) проплаченные^W полезные статьи.
Может великий разум лора подскажет «более лучший» журнальчик.
ЗЫ. Деньги казенные. Подписка почтой Роисси.

 

getup ()

Default gateway в другой сети

Форум — Admin

Пусть у нас есть схема

[PC] 192.168.0.1 - 192.168.0.2 [SERVER1] 192.168.1.1 - 192.168.1.2 [SERVER2] 192.168.2.1/24
К SERVER2 подключено нечто (192.168.2.2), до чего надо достучаться с PC.
Сделать
ip route add 192.168.1.2 via 192.168.0.2
не проблема, но как потом достучаться до 192.168.2.2?
ip route add 192.168.2.2 via 192.168.1.2
не прокатывает, потому что 192.168.1.0/24 - другая сеть.
Интересует _теоретическая_ возможность такого подхода и возможность сделать через iproute такую шнягу
ip route add $gateway_to_another_network via $gateway_in_the_same_network
ip route add $another_network_ip via $gateway_to_another_network
Вторая команда не выполнится, потому что $gateway_to_another_network находится в другой сети (No such process).
Можно ли это сделать, не меняя ничего на SERVER1 и SERVER2, или я тут сказки выдумываю?
Solution: Прописать маршрут к 192.168.2.0/24 через 192.168.1.2 на SERVER1 и использовать 192.168.0.2 в качестве маршрута туда на PC.

 ,

getup ()

Поломали google

Форум — Talks

Даже такие авторитетные компании как Google не защищены от взлома. Причем, беда может придти оттуда, откуда никто не ждет. Например, австралийское подразделение Google четко соблюдало правила информационной безопасности в отношении компьютерных сетей, а взломали их через промышленную систему менеджмента здания, в котором размещается офис.

Речь идет об офисе Google Wharf 7 — здании промышленного дизайна с большими открытыми пространствами, которое даже не очень-то и похоже на офис.

Хакерская компания Cylance осуществила атаку, воспользовавшись уязвимостью в системе менеджмента здания Tridium Niagara. Взломщикам удалось извлечь конфигурационный файл config.bog из устройства Tridium, работающего под операционной системой QNX. В этом файле оказались имена и парольные хэши всех пользователей, в том числе администратора.

Расшифровать парольный хэш администратора не составила большого труда.

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

Естественно, хакеры сразу подали заявку по программе вознаграждений Google Vulnerability Rewards Program (VRP). Они опубликовали информацию в открытом доступе только после того, как система ушла в офлайн.

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

Directory Traversal

By default, the Tridium Niagara AX software is not configured to deny access to restricted parent directories. This vulnerability allows a successful attacker to access the file that stores all system usernames and passwords. An attacker could exploit this vulnerability by sending a specially crafted request to the Web server running on Port 80/TCP.

 , ,

getup ()

RSS подписка на новые темы