Скрипт перезагрузки Wi-Fi маршрутизаторов TP-Link

Приведу ниже пример скрипта перезагрузки маршрутизаторов TP-Link, на тесте проверю его на TL-WR720N 2.0 из Ubuntu Server.

#!/bin/sh
ROUTER_IP="192.168.24.174"
USERNAME="admin"
PASSWORD="admin"

# exit if router is down
ping -q -c 1 "$ROUTER_IP" > /dev/null || exit

curl --basic --user "$USERNAME:$PASSWORD" -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" --refer "http://$ROUTER_IP" "$ROUTER_IP/userRpm/SysRebootRpm.htm?Reboot=reboot"

Содержимое скрипта поместим в новый файл, например используя редактор nano («CTRL+X» для выходя и «y» для сохранения изменений):

nano file.sh

И сделаем его исполняемым:

chmod 777 file.sh

После этого выполним:

./file.sh

Аналогичным образом можно вместо перезагрузки выполнить другие функции.

Решение проблемы SSL «Connection is not secure — Parts of this page are not secure (such as images)»

Заметил однажды одном сайте с подписанным SSL сертификатом, сообщение от браузера Mozilla Firefox:

Connection is not secure — Parts of this page are not secure (such as images)

Как выяснилось на сайте были вставлены картинки с других источников, соответственно соединение можно считать не защищенным и для решения этой проблемы, картинки нужно закачать на текущий сайт и изменить ссылка на страницах, обязательно начиная с https://.

Если сайт работает по http:// и https://, а картинки находятся на нем же, то ссылки нужно изменить например с:

<img src="http://www.ixnfo.com/img.jpg">

на

<img src="/img.jpg">

Все.

nice и ionice. Приоритеты процессов

nice — позволяет указывать приоритет выполнения процессором различных задач, диапазон приоритетов -20 до 19, где 19 наименьший, если не указать, то будет стандартный приоритет 0. Удобен например при упаковке данных в архивы, чтобы эта задача не грузила сервер или когда нужно запустить много процессов, распределив нагрузку, которые занимают все процессорное время.

Пример выполнения команды с самым низким приоритетом:

nice -n 19 КОМАНДА

Посмотреть таблицу процессов и их приоритетов можно так (колонка NI):

ps axl
ps -l

Если таблица большая, можно перенаправить вывод команды в Less и смотреть постранично:

ps axl | less

Чтобы изменить приоритет:

renice -n 19 ПРОЦЕСС(PID)

Проверка значения приоритета по умолчанию (стандартно 0):

nice

ionice — позволяет указать приоритет при операциях ввода/вывода, например чтобы снизить нагрузку на диск. Первым указывается класс от 1 до 3, потом приоритет от 0 до 7, где 7 наименьший.
Классы есть трех видов:
1) Real time — Преимущественный без обращения внимания на другие процессы с указанием приоритетов от 0 до 7.
2) Best Effort — Стандартный с указанием приоритетов от 0 до 7.
3) Idle — При простое без указания приоритетов.

Пример выполнения команды с самым низким приоритетом ввода/вывода:

ionice -c2 -n7 КОМАНДА

Для изменения приоритета:

ionice -c2 -n7 -p ПРОЦЕСС(PID)

Для просмотра установленного приоритета:

ionice -p ПРОЦЕСС(PID)

Можно указать одновременно приоритеты через nice и ionice:

nice -n 19 ionice -c2 -n7 КОМАНДА

Для указания высоких приоритетов например могут понадобится root права, по этому команды нужно выполнять от имени root пользователя либо добавив перед командой sudo.

Отключение шифрования ecryptfs домашнего каталога

Понадобилось однажды отключить шифрование ecryptfs домашнего каталога, которое было когда-то настроено при установке системы.

В первую очередь сделаем копию домашнего каталога нужного пользователя:

sudo cp -rp /home/user /home/user_backup

Получим точку монтирования в каталоге:

PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`

Отмонтируем каталог:

ecryptfs-umount-private

Установим права на каталог:

chmod 750 $PRIVATE

Удалим каталог и директории ~/.Private, ~/.ecryptfs:

rm -rf $PRIVATE ~/.Private ~/.ecryptfs

А также в сделанной копии, а то ecryptfs-utils может не удалится:

rm -rf /home/user_backup/.Private /home/user_backup/.ecryptfs

Если ecryptfs больше не будет использоваться в системе, то удалим утилиты:

sudo apt-get remove ecryptfs-utils libecryptfs0

Установим правильные права на директорию пользователя:

sudo chmod 750 /home/user
sudo chown user:user -R /home/user

Скопируем из резервной копии домашнего каталога нужные файлы.
Все.

Можно посмотреть встроенную инструкцию командой:

ecryptfs-setup-private --undo

Смотрите также:
Решение ошибки «Could not chdir to home directory /home/user: Permission denied»

Удаление эксплоита с Ubiquiti устройств

Заметил однажды распространение вируса/эксплоита в сети с устройствами Ubiquiti. Эксплоит используя уязвимость в старых версиях прошивок копировал себя на другие устройства и с них же атаковал следующие.

Читать далее «Удаление эксплоита с Ubiquiti устройств»

Директории с большим количеством файлов

Получилась однажды интересная ситуация, в одной директории оказались миллионы файлов.
Причем часть из них — нужные.

При попытке посмотреть список файлов естественно получится ступор на длительное время.
Как вариант их можно посмотреть через FTP, у которого за частую стандартный лимит на количество отображаемых файлов 10 000, например FTP клиентом FileZilla удобно перемещать файлы по директориям, но этот вариант длительный, из-за того что время еще тратится на FTP запросы, нагрузка на диск при этом низкая.

Если файлы не нужные, их можно удалить командой (с запросом подтверждения на удаление):

rm -r /dir/

Или удалить все без запроса вместе с директорией:

rm -rf /dir/

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

cd /dir/
find -size -2 -type f -print -delete

Перед удалением можно посмотреть количество таких файлов и общее количество, однако это тоже длительные процесс:

find -maxdepth 1 -size -2 -type f -print | wc -l
find -maxdepth 1 -type f -print | wc -l

Если вместо -2 указать 0, то будут удаляться файлы с нулевым размером, то есть пустые.

Если нужно отсортировать файлы по директориям, перейдем в директорию с файлами, создадим нужные директории, например по датам и переместим файлы по шаблону (все у которых название начинается на 2017, -maxdepth 1 указывает что не нужно искать файлы в поддиректориях):

cd /dir/
mkdir 2017
find -maxdepth 1 -type f -name '2017*' -exec mv -vn -t /dir/2017 {} \+

Результат выполнения можно записывать в файл добавив к команде «> файл», например:

find -maxdepth 1 -type f -name '2017*' -exec mv -vn -t /dir/2017 {} \+ > /dir/dir/file.log

Установка и настройка Config Server Firewall (CSF) в Ubuntu

Config Server Firewall (CSF) — программный продукт, созданный для автоматической защиты сервера.

Опишу ниже процедуру установки и настройки Config Server Firewall (CSF) в Ubuntu.

Первым делом скачаем архив с последней версией:

cd /usr/src
sudo wget https://download.configserver.com/csf.tgz

Распакуем скачанный архив:

sudo tar -xzf csf.tgz

Если в системе используются какие нибудь фаерволы, то их необходимо отключить, правила iptables будут удалены автоматически.
Отключим например UFW:

sudo ufw disable

Перейдем в директорию с распакованными файлами и запустим установщик:

cd csf
sudo sh install.sh

Установим необходимые компоненты:

sudo apt-get install libwww-perl
perl -e "use Time::HiRes"

Проверим установлены ли требуемые модули (напротив каждого должен отобразится «OK»):

sudo perl /usr/local/csf/bin/csftest.pl

После установки порт SSH будет автоматически открыт, даже если он не стандартный, и ваш текущий адрес добавлен в белый список.
CSF будет работать в тестовом режиме, его нужно будет позже отключить в файле конфигурации.
Файл конфигурации можно открыть в любом текстовом редакторе, например nano:

sudo nano /etc/csf/csf.conf

Изменения будут применены после следующей команды:

sudo csf -r

Списки разрешенных и блокированных IP адресов нахдятся в /etc/csf/csf.allow, /etc/csf/csf.deny и /etc/csf/csf.ignore.

Статус работы CSFможно посмотреть командой:

sudo csf --status

Удалить CSF можно аналогично другим скриптом:

sudo -i
cd /etc/csf
sh uninstall.sh

Встроенную краткую справку можно увидеть командой:

man csf

Установка и использование WPScan в Linux

WPScan — утилита для тестирования WordPress, поиска уязвимостей.

Установим необходимые компоненты (для Ubuntu новее 14.04):

sudo apt-get install libcurl4-openssl-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev git

Установим необходимые компоненты (для Ubuntu 14.04):

sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev git build-essential libgmp-dev

Скачаем файлы WPScan:

sudo git clone https://github.com/wpscanteam/wpscan.git

Перейдем в директорию со скачанными файлами и установим необходимые ruby gems:

cd wpscan
gem install bundler
bundle install

Посмотрим справку по WPScan:

ruby ./wpscan.rb --help

Обновим WPScan:

ruby ./wpscan.rb --update

Пример запуска простого теста:

ruby ./wpscan.rb --url example.com

Пример запуска подбора паролей:

ruby ./wpscan.rb --url example.com --wordlist pswd.txt --username admin --threads 30

Вывод подробной информации в файл:

ruby ./wpscan.rb --url example.com --debug-output 2>debug.log

Запуск с использованием HTTP прокси:

ruby ./wpscan.rb --url example.com --proxy 127.0.0.1:8080

Настройка Firefox для анонимности

Чтобы приступить к настройке наберем в адресной строке браузера Firefox следующее:

about:config

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

Google Safe Browsing (параметр включает передачу информации о посещаемых пользователем сайтах в Google и препятствует посещению сайтов с вредоносным ПО):

browser.safebrowsing.enabled
browser.safebrowsing.downloads.enabled
browser.safebrowsing.malware.enabled

Отправка отчетов о стабильности и производительности Firefox:

datareporting.healthreport.service.enabled
datareporting.healthreport.uploadEnabled

Статистика использования:

toolkit.telemetry.enabled

Параметр передает реальный IP-адрес даже если используется VPN соединение или TOR:

media.peerconnection.enabled

Включение интеграции с сервисом Pocket:

browser.pocket.enabled

Использование геолокации:

geo.enabled

Firefox подключается к сторонним серверам без разрешения:

loop.enabled

Сохранение набранного текста в поиске, для подсказок в дальнейшем:

browser.search.suggest.enabled

Включение блокировки на отслеживание информации о пользователе:

privacy.trackingprotection.enabled

Удаление рекламы из браузеров

Заблокировать отображение рекламы с сайтов в браузере можно установив дополнение Adblock Plus

Если компьютер заражен вирусами или какими либо вредоносными программами которые выводят рекламу в браузере, можно выполнить сканирование и очистку используя утилиты:

AdwCleaner
Malwarebytes Anti-Malware
Dr.Web CureIt!