Кучно пошло

…навер­ное, к дождю.

Нико­гда мне не нра­ви­лась подел­ка под назва­ни­ем cPanel. Вот откро­вен­но: гов­но гов­ном. Интер­фейс гов­но, функ­ци­о­наль­ность гов­но, и, как теперь выяс­ня­ет­ся, без­опас­ность тоже гов­но. Оцен­ка CVSS в 9.8 бал­лов из деся­ти — это реаль­но «кру­че нас толь­ко яйца».

Но это цве­точ­ки. Мало ли дыря­во­го соф­та под Линупс вся­кие граж­дане пишут.

Вот ягод­ка — дырень, даю­щая непри­ви­ле­ги­ро­ван­но­му поль­зо­ва­те­лю пра­ва рута, уже в самом ядре Линуп­са. А его отнюдь не ску­бен­ты и недо­учив­ши­е­ся CS-majors пишут: кон­три­бы в основ­ное дере­во мер­жит сам Линус Торвальдс, лич­но.

А потом нам будут рас­ска­зы­вать, что ОС Windows — это дыря­вая опе­ра­ци­он­ная систе­ма, кото­рую в Ёнтер­нет пус­кать никак нель­зя. Дара­гие дру­зиа, тезис «Linux по при­ро­де сво­ей без­опа­сен, а Windows — дыря­вое вед­ро» дав­но пора отпра­вить туда же, куда мы отправ­ля­ем непод­дер­жи­ва­е­мые вер­сии PHP. То есть в /dev/null.

Послед­ний баг, кста­ти, был най­ден с при­ме­не­ни­ем ИИ. И сей­час эти наход­ки идут про­сто валом, непро­лаз­но. «И это хоро­шо»: пусть луч­ше дыры нахо­дит ИИ под управ­ле­ни­ем ответ­ствен­ной груп­пы иссле­до­ва­те­лей в обла­сти ком­пью­тер­ной без­опас­но­сти, чем китай­ские хря­ке­ры.

ИИ смог най­ти дыры даже в моей люби­мой FreeBSD, а это весь­ма и весь­ма нетри­ви­аль­ная зада­ча. Прав­да, тре­бу­ет­ся, что­бы FreeBSD раз­да­ва­ла дис­ки через NFS с Kerberos/GSS, что слу­ча­ет­ся ред­ко.

Но впе­чат­ля­ет, впе­чат­ля­ет.

Дурацкое компьютерное

ВНЕЗАПНО выяс­ни­лось, что икон­ку с мусо­ром в Вин­де мож­но пере­име­но­вать.

Учи­ты­вая мой стаж рабо­ты с ОС Windows, даже как то немно­го стыд­но, что дан­ная функ­ци­о­наль­ность мне была неве­до­ма 🙃

Дизайнеры, так их разэтак

Захо­те­лось наше­му ген­ди­рек­то­ру пере­де­лать сайт. И, надо ска­зать, пра­виль­но захо­те­лось: сайт у нас нын­че ста­рень­кий, места­ми уже… с аро­ма­том музей­но­го экс­по­на­та.

Запро­си­ли пред­ло­же­ния, полу­чи­ли два вари­ан­та. И одна кон­то­ра мне осо­бен­но запа­ла в душу. И, пря­мо ска­жем, не в хоро­шем смыс­ле.

Мало того, что дизайн у них из серии «вырви глаз» и «при­вет, девя­но­стые», так сайт у этих дят­лов ещё и на WordPress — при­чём с абсо­лют­но неза­кру­чен­ны­ми гай­ка­ми.

wp-admin — тор­чит нару­жу.

И если откры­тый wp-admin ещё худо-бед­но мож­но объ­яс­нить на кли­ент­ских сай­тах — хотя тоже не надо, — то на сай­те самой веб-сту­дии админ­ка долж­на быть доступ­на толь­ко из их сети, через VPN, allowlist, Zero Trust, полёт на ков­ре-само­лё­те, через что угод­но. Но не про­сто так, без тру­сов, голым жопом — в интер­нет.

Но и это ещё не всё.

Про­смотр содер­жи­мо­го wp-content/uploads досту­пен без вся­кой авто­ри­за­ции. Про­сто вот так вот — хоба, захо­дишь, и видишь все фай­лы, загру­жен­ные через WordPress за всё вре­мя суще­ство­ва­ния сай­та.

Кро­ме того, на запрос любо­го .php фай­ла из wp-content/uploads в рыло долж­но при­ле­тать 403 Forbidden, а не 404 Not Found. Стро­го, без вари­ан­тов — 403. Без раз­го­во­ров.

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

404 в такой ситу­а­ции гово­рит не «сюда нель­зя», а все­го лишь «тако­го фай­ла тут сей­час нет». То есть сер­вер, по сути, не воз­ра­жа­ет про­тив самой идеи PHP-фай­ла в uploads. Он про­сто гру­стит, что кон­крет­но этот файл не нашёл. Ну, полу­чи­лось так. Был бы — он бы тебе его с радо­стью под­та­щил, а нет — так нет.

И вот эти люди при­хо­дят к нам и пред­ла­га­ют сде­лать нам сайт.

За восемь­де­сят тысяч дол­ла­ров.

Восемь­де­сят.
Тысяч.
Дол­ла­ров.

За такие бап­ки я хочу не толь­ко кра­си­вую глав­ную стра­ни­цу с видео­фо­ном и сло­ва­ми “innovative solutions”, я хочу ещё хотя бы базо­вое пони­ма­ние, что WordPress — это в неуме­лых руках крайне опас­ная вещь, кото­рую в режи­ме 247 обя­за­тель­но будут шшу­пать за раз­ное. И, что харак­тер­ное, это самое раз­ное рано или позд­но най­дут, пото­му что если поста­вить его на само­тёк, то в пла­ги­нах или самой базе со вре­ме­нем обя­за­тель­но обна­ру­жи­ва­ет­ся дырень. И если веб-сту­дия не уме­ет закру­тить гай­ки на соб­ствен­ном сай­те, я поче­му-то не горю жела­ни­ем дове­рять им наш.

Кто сказал, что у ИИ нет чувства юмора?

Целый час сего­дня был убит на попыт­ки водру­зить на обре­зан­ную по самые поми­до­ры pfSense обнов­лён­ную OpenSSL. И так, и эдак, и с это­го боку, и с дру­го­го — ни в какую.

Обра­ща­юсь к BEO (Benign Electronic Overlord): мол, так и так, пыта­юсь поста­вить вот это, что­бы потом поста­вить вот это, а затем ещё вот это.

BEO поче­са­ла элек­трон­ную репу и выда­ла:

«Если чест­но, ты сей­час пыта­ешь­ся поста­вить ком­пи­ля­тор путём ком­пи­ля­ции ком­пи­ля­то­ра на устрой­стве, на кото­ром нет ком­пи­ля­то­ра, что­бы ском­пи­ли­ро­вать ком­пи­ля­тор. Коро­че, ты зани­ма­ешь­ся суходроч­кой.»

Ржа­ли всем тех­ни­че­ским отде­лом. Ред­ко полу­ча­ет­ся вот так — шоб одно­вре­мен­но ехид­но, в тему, и при этом, лапи­дар­но.

Про невменяемых

Ув. zorgongollak подо­гнал совер­шен­но пре­крас­но-жут­кий мате­ри­ал про тех­ни­че­ски невме­ня­е­мых (как водит­ся) аудио­фи­лов, кото­рые «на скот­ском серьё­зе» обсуж­да­ют, есть ли раз­ни­ца в зву­ке при про­иг­ры­ва­нии циф­ро­вой музы­ки по про­то­ко­лу HTTP вме­сто HTTPS.

Страш­но (ну, или забав­но — это как посмот­реть) даже не когда такую раз­ни­цу ИЩУТ. Страш­но — когда НАХОДЯТ.

Хотя каза­лось бы, блин, возь­ми ты один и тот же файл, пере­дай его раз­ны­ми про­то­ко­ла­ми, а потом срав­ни хеши. Сов­па­ли? Всё. Конец дис­кус­сии. Биты оди­на­ко­вые. Звук оди­на­ко­вый.
Не сов­па­ли? Тогда у тебя не «воз­дух в сцене про­пал», а где-то по доро­ге файл побил­ся, и это уже к адми­ни­стра­то­ру, у кото­ро­го аль­тер­на­тив­ное рас­по­ло­же­ние верх­них конеч­но­стей (руки из жопы).

Ещё гор­ше тут то, что у аудио­фи­лов из бСССР поче­му-то все­гда нет денег (навер­ное, пото­му, что нет моз­гов). В резуль­та­те в каче­стве иде­а­ла для вос­про­из­ве­де­ния зву­ка заяв­ля­ет­ся ком­пью­тер Макин­тош 1999 (!) года выпус­ка, или же дочер­няя пла­та для RaspberryPI (!!), воткну­тая в уси­ли­тель, выта­щен­ный из древ­ней ком­пью­тер­ной колон­ки (!!!), сде­лан­ной на мик­ро­схе­ме TEA2025, у кото­рой по дата­ши­ту, япон­ский бог, КНИ 1.5% (!!!!) Я не шучу! Это они сами так про себя пишут!!

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

Поль­зу­ясь слу­ча­ем, хочу напом­нить, что циф­ро­вая пере­да­ча дан­ных — это не область субъ­ек­тив­ных ощу­ще­ний. Это не биф­штек­сы, не вино, и не пар­фюм.
Там нет «нот», «после­вку­сия», «харак­те­ра пода­чи», и про­чей мета­фи­зи­ки.

Там есть либо сов­па­да­ю­щий бито­вый поток, либо есть ошиб­ка пере­да­чи от кри­вых рук. Тре­тье­го не дано.

Поэто­му если у вас «рас­кры­ва­ет­ся сце­на» от сме­ны про­то­ко­ла — у вас рас­кры­ва­ет­ся эээ… не сце­на. У вас рас­кры­ва­ет­ся, ска­жу мяг­ко, бога­тый, щед­ро насе­лён­ный раз­но­го рода шести­но­гой фау­ной, внут­рен­ний мир.

Оста­лось совсем чуть-чуть. Начать срав­ни­вать звук меж­ду фай­ла­ми с нако­пи­те­лей с разъ­ёма­ми USB‑A и USB‑C.

И ведь срав­нят. И ведь, что харак­тер­но, най­дут!

Кля­нусь, я даже знаю, чем закон­чит­ся срав­не­ние USB‑A и USB‑C. Хоти­те, рас­ска­жу?

USB‑A выиг­ра­ет с раз­гром­ным счё­том.

Пото­му что коли­че­ство метал­ла в разъ­ёме USB‑A суще­ствен­но боль­ше, что обес­пе­чи­ва­ет более эффек­тив­ную экра­ни­ров­ку от наво­док квар­це­во­го циф­ро­во­го джит­те­ра. Кро­ме того, мень­шее коли­че­ство кон­так­тов и уве­ли­чен­ная пло­щадь токо­про­во­дя­щих поверх­но­стей дела­ют разъ­ём менее чув­стви­тель­ным к рас­со­гла­со­ва­нию циф­ро­вой направ­лен­но­сти про­вод­ни­ков, что осо­бен­но важ­но на высо­ких бит­рей­тах фор­ма­тов WAV и FLAC. В резуль­та­те фор­ми­ру­ет­ся более цель­ная сце­на, луч­ше про­ра­ба­ты­ва­ют­ся мик­ро­де­та­ли, а высо­кие часто­ты при­об­ре­та­ют харак­тер­ную «бар­ха­ти­стость» и «воз­душ­ность», недо­сти­жи­мую для пере­гру­жен­но­го кон­так­та­ми USB‑C.

Но это ещё не всё.

Клю­че­вое пре­иму­ще­ство USB‑A — в его асим­мет­рич­ной гео­мет­рии! Она фор­ми­ру­ет ста­биль­ное направ­ле­ние тор­си­он­ных полей в кабе­ле, что предот­вра­ща­ет их пара­зит­ное завих­ре­ние от избы­точ­ной индук­тив­но­сти и, как след­ствие, фазо­вую дегра­да­цию сиг­на­ла.

У USB‑C, как у сим­мет­рич­но­го разъ­ёма, с этим, разу­ме­ет­ся, про­бле­мы. Сиг­на­лу при­хо­дит­ся каж­дый раз «опре­де­лять­ся» с направ­ле­ни­ем и про­гре­вать кабель в нуж­ном направ­ле­нии, что при­во­дит к мик­ро­флук­ту­а­ци­ям и раз­мы­ва­ет ата­ку.

В USB‑A такой про­бле­мы нет. Там всё чест­но: направ­ле­ние зада­но изна­чаль­но, тор­си­он­ные поля выстро­е­ны, сце­на не пла­ва­ет. Вверх нога­ми разъ­ём не воткнёшь, про­во­да про­гре­ты и пере­на­прав­ле­ны зара­нее.

Поэто­му если вы хоти­те полу­чить мак­си­маль­но чистое, «ана­ло­го­вое» зву­ча­ние — выби­рай­те USB‑A.
Луч­ше, конеч­но, ста­рый, уже «про­гре­тый» кабель. Жела­тель­но с направ­лен­ны­ми стре­лоч­ка­ми, что­бы не нару­шать ори­ен­та­цию поля. И будет вам сча­стье.

PS: При­зна­юсь чест­но — заклю­чи­тель­ную часть про срав­не­ние USB‑A и USB‑C писа­ла ней­рон­ка. У меня на таких объ­ё­мах бре­дя­ти­ны сра­ба­ты­ва­ет защи­та: предо­хра­ни­тель-авто­мат в лоб­ной доле выщёл­ки­ва­ет­ся. То, что резуль­тат полу­чил­ся неот­ли­чи­мым от тек­стов самих аудио­фи­лов, гово­рит сам за себя.

Смена хостинга

EasyWP — уто­мил. Уто­мил сво­и­ми глю­ка­ми, тор­мо­за­ми (не могу сей­час залить кар­тин­ку на 50 кило­байт — это вооб­ще как в 2026 году? память из сер­ве­ра про­пи­ли, что ли?), негиб­ко­стью, и отсут­стви­ем базо­вых фич.

И это, напом­ню, «управ­ля­е­мый хостинг». Управ­ля­е­мый — види­мо, в том смыс­ле, что управ­ля­ют тобой, а не ты.

В какой-то момент в голо­ве щёлк­ну­ло:
«На кой я вооб­ще муча­юсь с чужим хостин­гом, когда я, на мину­точ­ку, сер­ти­фи­ци­ро­ван­ный архи­тек­тор облач­ных реше­ний, и лег­ко могу под­нять свой — с бильяр­дом и про­фур­сет­ка­ми?»

Ска­за­но — сде­ла­но. Был взят ака­ма­ев­ский (Linode) VPS и туда был водру­жен стан­дарт­ней­ший пиро­жок в виде LAMP.

Ниче­го, обжи­ва­юсь поти­хонь­ку. Зато теперь есть нор­маль­ный доступ к логам — EasyWP поче­му-то такой рос­ко­ши не предо­став­ля­ет. Жал­ко им, что ли?

Цена — сопо­ста­ви­мая. Если руки на месте, пур­куа бы и не па?

Зато теперь всё под кон­тро­лем. Всё лета­ет. Всё понят­но.

Про­ба пера на новом хостин­ге.

UPDATE: Про­бле­мы с крос­спостин­гом из WP — исчез­ли, как не было их. EasyWP — косо­ру­кие бол­ва­ны.

Давно было пора

Феде­раль­ная Комис­сия по Свя­зи США запре­ти­ла рау­те­ры, в том чис­ле и домаш­ние, про­из­ве­дён­ные за рубе­жом.

Меня это, конеч­но же, не кос­нёт­ся — у меня проф­де­фор­ма­ция, поэто­му дома сто­ит пол­но­вес­ный pfSense. А вот про­стых людей, не айтиш­ни­ков, это затро­нет напря­мую.

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

Я, кста­ти, не при­зы­ваю поку­пать такое… обо­ру­до­ва­ние. Это барах­ло — и по фичам, и по каче­ству.

Ско­ро самый дешё­вый рау­тер будет начи­нать­ся при­мер­но со ста–ста два­дца­ти дол­ла­ров. А подоб­ные мар­ки (Cudy это голи­мый Китай), ско­рее все­го, исчез­нут как класс. В окон­ча­тель­ное небы­тие уйдёт обо­ру­до­ва­ние TP-Link (тоже изна­чаль­но китай­ское). Силь­но поме­ня­ет­ся ассор­ти­мент Asus, Netgear, D‑Link, и мно­гих про­чих (вклю­чая в том чис­ле, кста­ти, широ­ко попу­ляр­ный в узких кру­гах MikroTik). Они ока­жут­ся в очень инте­рес­ной ситу­а­ции — либо пере­но­сить про­из­вод­ство в США, либо идти к госу­дар­ству с чело­бит­ной: мол, да, мы зару­беж, но стра­на «дру­же­ствен­ная». И чорт его ещё зна­ет, как это в ито­ге раз­ру­лит­ся.

Во-вто­рых, если вы арен­ду­е­те модем/раутер у про­вай­де­ра — готовь­тесь к тому, что або­нент­ская пла­та под­рас­тёт. Дол­ла­ров на десять–пятнадцать в месяц — лег­ко.

Кста­ти, если кому-то вдруг пока­за­лось, что я про­тив реше­ния ФКС — нет, вы зна­е­те, я как раз «за».

А зна­е­те поче­му? Пото­му что вы нико­гда не смот­ре­ли в логи бранд­мау­э­ра и не виде­ли того коли­че­ства зло­на­ме­рен­но­го тра­фи­ка, кото­рое каж­дую секун­ду отфут­бо­ли­ва­ет­ся обо­ру­до­ва­ни­ем, доступ­ным из интер­не­та. И огром­ная часть это­го мусо­ра идёт с дешё­вых домаш­них рау­те­ров, кото­рые поль­зо­ва­тель как при­нёс из мага­зи­на, как воткнул — и так с тех пор и не тро­гал.

И мало того, что кибе­р­ата­ки идут с подоб­но­го обо­ру­до­ва­ния — через такое обо­ру­до­ва­ние поль­зо­ва­те­лю сажа­ют тро­я­ны, пере­на­прав­ля­ют DNS-тра­фик, отправ­ля­ют поль­зо­ва­те­ля на под­дель­ные сай­ты бан­ков — в общем, с одной и той же целью: украсть день­ги.

Фирм­варь там не обнов­лял­ся со вре­мён Бать­ки Мах­но — пото­му что кетай­ско­му гов­но­про­из­во­ди­те­лю глу­бо­ко напле­вать на то, что в про­шив­ке дыры такие, что филин про­ле­та­ет. Учёт­ные запи­си — по умол­ча­нию: admin/admin, root/123456, клас­си­ка жан­ра.

Пото­му что дёше­во. Ну и что, что гов­но — зато пол­ный рот.

И сде­лать с этим — если не идти на край­ние меры вро­де того, что­бы силой заста­вить людей поку­пать нор­маль­ное обо­ру­до­ва­ние, как тут — мож­но при­мер­но ниче­го.

Апгрейд FreeNAS

Дожи­ли. FreeNAS Core боль­ше не под­дер­жи­ва­ет­ся, что выну­ди­ло меня сде­лать апгрейд до TrueNAS SCALE.

Очень мне это­го делать не хоте­лось, пото­му что Core — это BSD, что тру. А SCALE — это линупс крас­но­гла­зый. Спа­си­бо хоть, что под капот воткну­ли не какую-нибудь Сла­к­варь или Шап­ку, а отно­си­тель­но ещё вме­ня­е­мый Демьян.

Но.

Надо отме­тить исклю­чи­тель­ную лёг­кость апгрей­да, как гово­рит­ся, in situ. В System → Update выби­ра­ем нуж­ную вет­ку (я выбра­ла 24.04, если что), после чего жмём кноп­ку «Обно­вить­ся».

Даль­ше оно всё ска­чи­ва­ет и ста­вит само, и даже импор­ти­ру­ет уже суще­ству­ю­щий ZFS-пул — без вся­кой поте­ри дан­ных. Даже все паро­ли в Samba сохра­ни­лись.

Хотя, конеч­но, внут­рен­ний фанат тру-BSD у меня внут­ри немнож­ко умер. Спа­си­бо хоть, что в pfSense, мною не менее люби­мый, пока не про­лез­ли.

Ах да, «зачем»?

Захо­те­лось мне поста­вить Plex Media Server. И фигуш­ки — без тан­цев с буб­ном он на FreeNAS Core нор­маль­но не ста­вит­ся.

В общем, при­шлось при­знать неиз­беж­ное: линукс всё-таки побе­дил. Хотя, конеч­но, исклю­чи­тель­но по тех­ни­че­ским при­чи­нам.

Новое Английское Слово

“Upgradation”

Инду­сы писа­ли. Что­бы про­чи­тать их доку­мен­та­цию (и, что важ­но — понять её) надо сна­ча­ла выпить три лит­ра само­гон­ки.

Мне осо­бен­но в их доку­мен­та­ции захо­дит “do the needful” — это, зна­чит «сде­лай­те то, что нуж­но», в пере­во­де на обще­че­ло­ве­че­ский.

Иногда автокоррект бессилен

Сотруд­ни­ца сего­дня в почте опи­са­лась про­сто зачёт­ней­ше:

“I would like to request a dicking station, please.”

При­зна­юсь, паль­цы чеса­лись отве­тить:

Sorry, we are out of those. We have some docking stations, though!

Да, я всё пони­маю — бук­вы O и I на кла­ви­а­ту­ре рядом. Чистая меха­ни­ка.

Но скрин­шо­ты-то оста­лись. Как и оса­до­чек.

Отдель­ную… глу­би­ну ситу­а­ции при­да­ёт тот факт, что автор пись­ма — суро­вая бутч-лес­би­ян­ка с шести­лет­ним ста­жем служ­бы в ВМФ.

Фрейд улы­ба­ет­ся и машет.