среда, 11 февраля 2015 г.

Iptables блокировка торрент трафика на шлюзе

Понадобилось блокирова торрент-трафик на OpenVPN сервере.

Решил это дело правилами в таблетках:
# iptables -I FORWARD 1 -m string --string "BitTorrent" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "BitTorrent protocol" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "peer_id=" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string ".torrent" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "announce.php?passkey=" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "torrent" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "announce" --algo bm --to 65535 -j DROP
# iptables -I FORWARD 1 -m string --string "info_hash" --algo bm --to 65535 -j DROP

ISPmanager + exim - узнать пароли к почтовым ящикам

Понадобилось узнать пароль к почтовому ящику на сервере с ISPmanager и MTA exim.

Делается легко, либо вытащить из sasl базы:
# db4.6_dump -p /etc/sasldb2  
VERSION=3
format=print
type=hash
h_nelem=67
db_pagesize=4096
HEADER=END
 mail1\00test.com\00userPassword
 sa7das8As
 mail2\00test.com\00userPassword
 PaSWsdas

Либо же в конфиг файле exim в самом конце каждой строки:
# cat /etc/exim4/passwd
mail1@test.com:500:502:300:/var/www/username/data/email/test.com/mail1:no:sa7das8As
mail2@test.com:500:502:250:/var/www/username/data/email/test.com/mail2:no:PaSWsdas

суббота, 31 января 2015 г.

Новая уязвимость GHOST (CVE-2015-0235)

Описание можно почитать тут: http://habrahabr.ru/company/pt/blog/249097/
http://www.opennet.ru/opennews/art.shtml?num=41577

Проверить уязвима ли ваша система можно с помощью небольшой программы на С:
/* ghosttest.c:  GHOST vulnerability tester */
/* Credit: http://www.openwall.com/lists/oss-security/2015/01/27/9 */
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
 
#define CANARY "in_the_coal_mine"
 
struct {
  char buffer[1024];
  char canary[sizeof(CANARY)];
} temp = { "buffer", CANARY };
 
int main(void) {
  struct hostent resbuf;
  struct hostent *result;
  int herrno;
  int retval;
 
  /*** strlen (name) = size_needed - sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/
  size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;
  char name[sizeof(temp.buffer)];
  memset(name, '0', len);
  name[len] = '\0';
 
  retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);
 
  if (strcmp(temp.canary, CANARY) != 0) {
    puts("vulnerable");
    exit(EXIT_SUCCESS);
  }
  if (retval == ERANGE) {
    puts("not vulnerable");
    exit(EXIT_SUCCESS);
  }
  puts("should not happen");
  exit(EXIT_FAILURE);
}

вторник, 27 января 2015 г.

Установка Dokku

Если зарегестрироваться на DigitalOcean и привязать банковскую карту, то вы получите 10 баксов для использования, этого хватит на 2 месяца дроплета (впс) с 512МБ рам, 20гб ссд диск.

Установим образ Ubuntu Dokku v0.2.3 on 14.04 (w/ Docker 1.3.2)
Добавим свой SSH ключ в разделе "SSH Keys"

среда, 21 января 2015 г.

Тестирование скорости сети Linux

Захотелось проверить скорость сети на VPS.
Проверил двумя способами:

1. Консольная утилита speedtest:
Скачиваем утилиту:
# wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py

Зададим права на исполнение:
# chmod +x speedtest-cli

вторник, 20 января 2015 г.

Nikto

Nikto - perl утилита, для поиска брешей типа неудаленных файлов (/test.php, info.php, ...), наличие скриптов управления БД (phpmyadmin, phppgadmin, ...). К сожалению довольно плох для поиска уязвимых скриптов, так как проверка идет просто отправкой нужного HTTP запроса и смотрит на код ответа (404/200).

К сожалению уже давно не обновляется (судя по гитхабу).

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

суббота, 17 января 2015 г.

Установка fail2ban для защиты от подбора пароля к ISPmanager

Настроим fail2ban для защиты от подбора пароля к панели управления ISPmanager.

Установим fail2ban:
# yum install fail2ban

Создадим фильтр:
# cd /etc/fail2ban/filter.d/
# vim isp-manager.conf
[Definition]
failregex = <HOST>\s+nobody\s+auth
ignoreregex =

Добавим секцию для фильтра в главный конфиг:
# vim /etc/fail2ban/jail.conf
[isp-manager]
enabled = true
filter = isp-manager
action = iptables-multiport[name=ISP, port="443,1500"]
logpath = /usr/local/ispmgr/var/ispmgr.journal
maxretry = 5
bantime = 10800

понедельник, 12 января 2015 г.

Установка cp1251 на CentOS

Понадобилось поставить локаль, спер отсюда: https://friendhosting.net/faq/index.php?article=15

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


Установка локали cp1251.
# cd /usr/share/i18n
# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

После этого локаль будет установлена в специальную директорию, которую можно определить командой localedef --help.

Проверка на предмет установленной локали cp1251.
locale -a
Данная команда выведет список всех установленных локалей
locale -a | grep ru_RU
Данная команда выведет список всех русских локалей, которые установленны на сервере

понедельник, 5 января 2015 г.

Весь трафик через OpenVPN сервер

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

Я уже писал о настройке OpenVPN сервера, но тогда задача стояла только связать несколько компьютеров в одну сеть, основная часть описана в этой заметке. Но я бегло накидаю команды для сетапа сервера, за пояснениями можно обратиться к той заметке.

Установка OpenVPN сервера на Ubuntu 12.04

# apt-get update
# apt-get install openvpn -y
# mkdir /etc/openvpn/easy-rsa
# cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
# vim /etc/openvpn/easy-rsa/vars
# cd /etc/openvpn/easy-rsa
# source vars
# ./clean-all
# ./build-ca