Apache 2.4: client denied by server configuration

После обновления версии Apache с 2.2 до 2.4 появилась проблема с доступом к сайту:
[Tue Apr 16 18:53:04.238675 2019] [authz_core:error] [pid 13180] [client 10.1.1.1:57234] AH01630: client denied by server configuration: /www/doc/index.html


Оказалось, что теперь вместо:
Order allow, deny
 Allow from all

нужно указать:
Require all granted


А также вместо:
Order allow, deny
 Deny from all

вот это:
Require all denied


В тонкости ещё не вникал, документацию не читал.

IPv6 и MS Windows 7

Тестировал IPv6 при помощи ноутбука с MS Windows 7 и обнаружил, что консольная утилита netsh может показать много интересного.

Посмотреть информацию об ipv6-адресе:
netsh int ipv6 show addr ETH


Список соседей для интерфейса с названием ETH:
netsh interface ipv6 show neighbors ETH

Вместо имени интерфейса можно указать номер. Можно вообще не указывать название интерфейса — отобразится список для всех интерфейсов.

После каждого параметра утилиты можно ввести "?", нажать Enter и увидеть подсказку.
netsh interface ipv6 show ?


Кроме того параметры можно указывать не полностью:
netsh int ipv6 sh nei ETH

Почти что Cisco )

Конечно, это только один пример, а там есть ещё и команды для изменения настроек.

Cisco в качестве NTP-сервера

ntp logging !может быть много логов
ntp source Loopback0
ntp access-group peer 10
ntp access-group serve 10
ntp access-group serve-only 11
ntp server 85.21.78.8
ntp server 95.31.45.148
ntp server 213.145.129.29


В аксес-листе 10 (peer и serve) нужно разрешить все ваши NTP-серверы, если таковые имеются, а самое главное — NTP-серверы из списка вышестоящих серверов, которые мы выбрали и указали в настроках:
access-list 10 permit 10.1.1.2
access-list 10 permit 10.1.1.3
access-list 10 permit 85.21.78.8
access-list 10 permit 95.31.45.148
access-list 10 permit 213.145.129.29
access-list 10 deny   any

Уровни peer и serve имеют некоторые отличия друг от друга, но в нашем случае это неважно — с адресов из списка serve наш роутер/свич не будет сам синхронизироваться.

В аксес-листе 11 (serve-only) указываем адреса наших клиентов:
access-list 11 permit 10.1.1.0 0.0.0.255
access-list 11 deny any

Посмотреть состояние нашего сервера можно вот так:
cs#sh ntp status                                                             
Clock is synchronized, stratum 3, reference is 85.21.78.8                     
...

«Clock is synchronized» — значит всё нормально.

Можно убедиться в том, что какой-то из заданных вышестоящих серверов выбран (#):
cs#sh ntp associations
  address         ref clock       st   when   poll reach  delay  offset   disp
*~85.21.78.8      89.109.251.24    2     43    128    17 58.153  -0.383  3.737
+~95.31.45.148    .PPS.            1    279   1024     1 59.778  -0.216 187.55
 ~213.145.129.29  .INIT.          16      -    512     0  0.000   0.000 15937.
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured


Ну и, конечно, проверить синхронизацию с какого-нибудь компьтера:
ntpdate 10.1.1.1
12 Mar 14:26:44 ntpdate[16141]: adjust time server 10.1.1.1 offset 0.017100 sec


В случае если в выводе команды «sh ntp status» написано «Clock is unsynchronized», то значит сервер не работает и ваши клиенты не смогут синхронизироваться по нему. Можно включить дебуг «debug ntp all» или убрать все ограничения, заданные командами «ntp access-group».

Дизайн смартфонов: мода побеждает здравый смысл

Когда я в первый раз увидел новый айфон хэ (iPhone X) с «чёлкой» (она же — «монобровь») я подумал, что это один из самых уродливых смартфонов, который я когда-либо видел.
Как-то, проходя мимо, одного местного магазина, в котором есть аппаратура Apple на стенде (у нас это редкость), я решил посмотреть на смартфон вживую. Как ни странно, но вживую аппарат мне понравился больше: рамки одинаковые со всех сторон, конечно, не считая чёлки. Внешний вид аппарата получился вполне гармоничный, отторжение вызвал только длинный и неприлично толстый блок камер с вспышкой, выпирающий из обратной стороны телефона.

Несмотря на практически всеобщее недоумение от чёлки почти все производители, как обычно, кинулись делать смартфоны с чёлками. Однако, у всех получилось хуже, чем у Apple. В результате, после того как я увидел поделки с чёлкой от других производителей, ранее уродливый дизайн iPhone X мне стал казаться красивее. Теперь первенство по уродливости перехватили апараты с чёлками от других производителей.
Дело в том, что у других производителей не получилось сделать рамки одинаковыми со всех сторон. У кого-то, в добавок к чёлке, внизу остался «подбородок», т.е. сверху поле переделали в чёлку, а внизу осталось поле как раньше. У кого-то не только подбородок остался, но и чёлку нормально сделать не удалось — осталось более широкое, чем по бокам поле и ещё и чёлка из него.
Пока что я не видел ни одного телефона у которого бы получилось что-то симпатичное с чёлкой.
С чёлкой

Скоро узнаем, что получилось у Samsung с S10 )

Читать дальше →

Mikrotik: Импортирование подписанного сертификата

Мы получили настоящий, подписанный SSL-сертификат для управления нашим Микротиком через HTTPS.
Нам нужны три файла:
— сертификат, подписанным неким провайдером сертификатов — файл «my.crt»;
— приватный ключ — файл «my.key»;
— промежуточные сертификаты (корневой и этого провайдера) вместе в одном файле — файл «im.crt»;

Загружаем эти файлы на Микротик.
В разделе Certificates нажимаем кнопку Import и в выпадающем меню «Only File», выбираем файл с подписанным сертификатом «my.crt» и нажимаем кнопку «Import». После этого в списке сертификатов должен появиться наш и перед ним буквы L (crl) и T (trusted).
Теперь надо добавить наш ключ — делаем это так же через Import, после чего возле уже появившегося после предыдущего шага сертификата появится буква K (private-key).
Ну и теперь таким же образом импортируем промежуточные сертификаты из файла «im.crt» — их появится два, т.к. у нас два сертификата в одном файле. Получается, что можно импортировать их и по-отдельности, но я не пробовал. Я просто взял тот файл, который я использовал для Апача.

Теперь осталось указать веб-серверу Микротика использовать наш сертификат — в разделе IP — Services — www-ssl меню Certificate.

Только оставьте другой вход, например, ssh или простой www, т.к. ошибка с сертификатами может привести к тому, что вы не сможете зайти через HTTPS.

PHP cURL reCAPTCHA

На сайте не работала reCAPTCHA — после клика на баннере «Я не робот» появлялась зелёная галочка, но после отправки формы выводилась ошибка про капчу.

В Интернете часто встречается совет скачать файл с сертификатами (с сайта curl.haxx.se) и прописать путь к нему в php.ini:
curl.cainfo="/www/php/cacert.pem"

Однако, мне это не помогло — php просто не видел этот файл, судя по выводу функции openssl_get_cert_locations:
<?
var_dump (openssl_get_cert_locations());
?>


Я пытался по всякому, но ничего не помогало, пока, к счастью, не попался другой параметр для php.ini:
openssl.cafile = "/www/php/cacert.pem"


Теперь в выводе указанной выше функции файл с сертификатами виден:
...["ini_cafile"]=> string(32) "/www/php/cacert.pem"...

Sieve: несколько примеров

Не буду объяснять что это такое, просто несколько примеров:
# rule:[logs]
if anyof ( header :contains "Subject"
 [ "Cisco Log", "Juniper Log", "Switch log" ] )
{
        fileinto "INBOX.logs";
        stop;
}

# rule:[web]
if anyof ( header :contains "To" "www@domain.tld",
 header :contains "From" "www@domain.tld" )
{
        fileinto "INBOX.www";
        stop;
}

# rule:[911]
if anyof ( address [ "from", "to", "cc" ]
 [ "911@domain.tld", "911@domain2.tld" ] )
{
        fileinto "INBOX.911";
        stop;
}

# rule:[office]
if anyof ( address "from"
 [ "anna@domain.tld", "petya@mail.tld", "mitya@gmail.tld" ],
 address ["to","cc"] "info@domain.tld",
 address :domain "from" "xxx.tld" )
{
        fileinto "INBOX.office";
        stop;
}


Думаю пояснения по правилам тоже не нужны.

Ремонт техники в Бишкеке.

Техника — это неотъемлемые вещи нашей жизни, которые делают нашу жизнь проще и удобнее каждый день при экономии нашего времени на постоянные рутинные работы и высвобождают драгоценное время для интересных и наших любимых дел. Конечно если ломается техника человек испытывает неудобства в быту и теряет уйму времени на рутинную работу, которую выполняет техника в 21 веке. Огромную роль играет качественный и своевременный ремонт и обслуживание вышедшей из строя так нужной каждый день бытовой или компьютерной техники. Куда и как обратится? Где найти нужного мастера бытовой или компьютерной техники? Где найти адреса ремонта бытовой и компьютерной техники? С полной уверенностью можно заявить, что наша компания Инком сервис делает профессиональный ремонт и сервисное обслуживание мелкой и крупной бытовой и компьютерной техники на одних из самых выгодных условий в г. Бишкек по самым приемлемым ценам на рынке ремонта и обслуживания бытовой и компьютерной техники с 2013 года. Клиенты компании получают качественный и отлаженный сервис и профессиональное техническое обслуживание бытовой и компьютерной техники. Офис в центре города имеет удобное расположение и доступность для наших клиентов. Мы сделали команду профессионалов при слаженной работе, которой вы получаете профессиональное обслуживание и ремонт бытовой и компьютерной техники. В современном мире человеку трудно обойтись без холодильника, телевизора, стиральной машинки, микроволновки, пылесоса, электрочайника, компьютера, ноутбука и прочей бытовой и компьютерной техники. Качественный ремонт — это экономия времени и вовремя поднятое настроение вас и ваших близких. Хороший мастер по первому признаку с легкостью определяет причину поломки и после необходимой диагностики устраняет проблему и все начинает работать. Именно наши специалисты работают по этому принципу – сделать качественно и на долго, что находит отклик среди наших постоянных клиентов, которые обращаются к нам за ремонтом бытовой и компьютерной техники и рекомендуют наши услуги своим родным и близким.

Основными нашими секретами успеха и популярности услуг ремонта и обслуживания бытовой и компьютерной техники в нашей компании являются:

Высококачественный ремонт и сервисное обслуживание компьютерной и бытовой техники – специалисты компании имеют более чем 10 летний опыт и практику работы в сфере ремонта и обслуживания компьютерной и бытовой техники.

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

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

Мастера в нашем штате имеют богатый опыт и практику по ремонту бытовой и компьютерной техники.

В наше время есть огромное количество мастерских по ремонту бытовой и компьютерной техники в городе Бишкек. Как выбрать нужную мастерскую или мастера среди многообразия ремонтных мастерских чтобы проблема не повторилась снова?

Обратившись к нам в компанию Инком сервис, вы получаете: приемлемую стоимость услуг; услуги быстрого и качественного ремонта; положительные отзывы и репутацию.

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

syslog-ng

Логи интересной мне программы по-умолчанию идут в /var/log/messages, но я хочу это изменить, т.к. в этот файл идёт много всего. Кроме того, туда попадают не все логи, а только определённого в конфиге syslog-а типа.

Направить логи от определённой программы в другой файл:

destination dest_myprog { file("/var/log/myprog.log"); };

filter filter_myprog { program("myprog"); };

log { source(s_sys); filter(filter_myprog); destination(dest_myprog); };


Направить логи от определённой программы на другой syslog-сервер:
destination dest_myserver { udp("10.1.1.1" port(514)); };

filter filter_myprog { program("myprog"); };

log { source(s_sys); filter(filter_myprog); destination(dest_myserver); };


Ну и комбинированный вариант — направить логи от определённой программы и в отдельный файл, и на другой syslog-сервер:
destination dest_myprog { file("/var/log/myprog.log"); };
destination dest_myserver { udp("10.1.1.1" port(514)); };

filter filter_myprog { program("myprog"); };

log { source(s_sys); filter(filter_myprog); destination(dest_myprog); destination(dest_myserver); };


Если те же логи в файле messages уже не нужны, то добавим их исключение в существующий фильтр, который используется для сохранения логов в этот файл:
filter f_default    { level(info..emerg) and
                        not (facility(mail)
                        or facility(authpriv)
                        or facility(cron))
                        and not program("myprog");
                    };


Конечно после изменений надо дать syslog-ng команду перечитать конфиг:
systemctl reload syslog-ng