Октябрь 2014 — К2Р

Сергей Рудюк 10 октября 2014

Возникла необходимость установить ребенку родительский контроль. В моем случае - нужно было просто ограничить просмотр сайтов эротического и вирусного содержания.
Начал искать. Как оказалось, вариантов ограничения достаточно много. Вначале, думал настроить брандмауэр, потом, нашел способ - установить nanny для Linux.
Но, остановился на более лаконичном способе - установке плагина для Firefox, который фильтрует содержимое файлов.

Заходите Інструменти - Додатки (у меня укр. Firefox :)).
В поле поиска набираете filter и нажимаете Enter.


Для фильтрации контента можете установить такие плагины:

Anti-Porn Pro
FoxFilter
Procon Latte Content Filter
WebFilter - The content filtering addon!

После установки - перезагрузитесь.
Если плагин будет "слишком фильтровать" - можете его отключить и опять перезагрузить :)

P.S. Плагины фильтрации срабатывают на содержимое в контенте. Поэтому, если у Вас в контенте будут запрещенные слова, то страница будет заблокирована...

Сергей Рудюк 10 октября 2014

Поставил вчера ребенку плагины по борьбе с эротическим контентом.
Захожу на мой сайт http://corp2.net - выдается сообщение, что данная страница содержит запрещенное содержимое эротического типа.
Думаю, что это такое... Откуда у меня на сайте такое содержимое... Может, внедрился вирусный скрипт ?

Начал изучать.

1. Вначале проверил нормально ли грузятся другие сайты, находящиеся у меня на сервере ? Проверил - нормально. Значит, все таки дело не в сервере, а в сайте.
2. Проверил все зеркальные домены - везде одна и та же ошибка. Мол есть эротический контент.
3. Проверил выдается ли сообщение в других плагинах фильтрации для firefox - тоже выдает! Значит, что-то есть.
4. Попроверял сайт в разных системах проверки вирусности сайта - ничего не нашло...
5. Проверил сайт в черных списках - нет. Более того, репутация высокая... Что же такое...
6. Поотключал куча плагинов в интернет-магазине - ничего не получилось. Фильтр все так же срабатывал.
7. Самое интересное, что при загрузке сайта http://corp2.net на секунду он появляется, а потом, выскакивает блокировка. Поэтому, я решил, что это вероятно какой-то java-скрипт делает переадресацию или обращение к внешнему, внесенному в черный список, сайту.
Более того, если загружать не сайт, просто файлы на PHP - блокировки не происходит. Т.е. получается, причина в самой cms-системе.
И тут пришла идея выполнить команду в Linux:
wget http://corp2.net
Этой командой выгружается содержимое сайта в файл. Этот файл, переписал на хостинг, где находится основной сайт. И запустил. В результате - сработала блокировка, как для основного сайта. Отлично! Значит, можно убирая команду за командой добиться того, что блокировка перестанет срабатывать.
Начал убирать java-скрипт за java-скриптом.
И вычислил!

Как оказалось, причина была в скрипте сервиса социальной сети share.pluso.ru. Как только убрал этот скрипт - перестал блокироваться сайт фильтром от порнографического и спам-контента. Так, что будьте осторожны с внешними сервисами. Иногда, они могут приводить к отрицательным результатам...

P.S. Кстати, когда загружаешь рейтинг mail.ru, то тоже блокировки срабатывают. У них та же проблема с этим же скриптом :)

Сергей Рудюк 7 октября 2014

Как я только не настраивал шлюз в Linux Ubuntu и с помощью ufw, squid, с помощью различных программных файерволов. Но, практика показала, что наиболее эффективный способ - это настройка с помощью встроенных средств - с помощью iptables. Самое главное в данной настройке - написание предопределенного скрипта и его использование в различных проектах.



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

Для начала, необходимо отметить, что если необходимо, чтоб работал шлюз внутри сети, то необходимо установить программу для "маскарадинга":
aptitude install dnsmasq

iptables же обычно уже установлен в Linux Ubuntu последних версий, поэтому, его нет необходимости дополнительно устанавливать.

Если же Вам необходимо, чтоб работали одновременно bind9 и dnsmasq, то необходимо вначале запускать dnsmasq, а потом - bind9. Т.к. иначе, они начнут ругаться на занятость портов.
Вот как я делаю в rc.local:

service bind9 stop
service dnsmasq restart
service bind9 start



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

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха
# вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

# Объявление переменных
export IPT="iptables"

# Интерфейс который смотрит в интернет
export WAN=eth0

# Локальная сеть (в моем случае, все висит на одном интерфейсе. Чеще всего же тут заменяете на eth1)
export LAN=eth0:1
export LAN_IP_RANGE=10.0.2.0/24

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
###$IPT -P INPUT DROP
###$IPT -P OUTPUT DROP
###$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных
# и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT

# Маскарадинг
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE


# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22,220 -j ACCEPT

# Открытие портов для торрентов (такие же указать в torrent-клиенте)
# $IPT -A INPUT -i $WAN -p tcp -m multiport --ports 49152:65535 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 80 -j ACCEPT

# Открытие портов для игровых серверов
# $IPT -A INPUT -i $WAN -p tcp --dport 27010:27030 -j ACCEPT
# $IPT -A INPUT -i $WAN -p udp --dport 27010:27030 -j ACCEPT

# Открытие порта для голосового сервера Team Speak
# $IPT -A INPUT -i $WAN -p tcp --dport 9987 -j ACCEPT
# $IPT -A INPUT -i $WAN -p udp --dport 9987 -j ACCEPT
# **********************************************************************
.
# Вывод информации о состоянии таблиц.
route -n
$IPT -L
$IPT -L -v -n
$IPT -L -v -n -t nat


Можно записать данный скрипт, как fw.sh и потом его вызывать из rc.local в момент загрузки. Например, так:
/usr/fw/fw.sh

Сергей Рудюк 7 октября 2014

Бывает, необходимо настроить 2 ip-адреса на одной сетевой карте.
В Linux Ubuntu Вы для задания 2-го ip-адреса Вы можете выполнить команду:
ifconfig eth0:1 10.0.2.1 netmask 255.255.255.0 up

Для того, чтоб настройка воспринялась на всё время, запишите в файл /etc/network/interfaces нечто подобное:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# Параметры основного интерфейса, например, ip-адрес внешнего доступа
auto eth0
iface eth0 inet static
address 95.211.198.19
netmask 255.255.255.192
network 95.211.198.0
broadcast 95.211.198.63
gateway 95.211.198.62
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 85.17.150.123 85.17.96.69 85.17.150.123 62.212.64.122
dns-search ua-hosting.com.ua


auto eth0 eth0:1

iface eth0:1 inet static
address 10.0.2.1
netmask 255.255.255.0

Сергей Рудюк 5 октября 2014

Видео с рассказам о возможностях программы и работы в ней: http://youtu.be/rk9mz0y9QaU

Видео с YouTube:


Сергей Рудюк 5 октября 2014

Хочу рассказать о последней моей разработке для увлекающихся коллекционированием людей. Данную программу я специально писал для тех, у кого образовалась большая коллекция и у кого возникает необходимость её упорядочить и вести информацию о ней в полностью электронном виде. Сейчас данную программу использую сам и скажу честно, она очень удобна и полезна в работе.

Программа опубликована в нашем интернет-магазине:

http://corp2.net/index.php/programmnoe-obespechenie/nashi-razrabotki/programma-kollektsioner-k2/

Ниже, даю описание данной программы:

Если Вы собираете фотографии, открытки, календари и другие вещи, то у Вас рано или поздно возникает желаение сохранить информацию о коллекции в электронном виде.

Для этого, многие сканируют или фотографируют элементы коллекции и сохраняют на винчестере в виде графических файлов.

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

Недостатки такого способа хранения:

- Открытки сохраняются, как правило с одной стороны. Т.е. экземпляр коллекции сохраняется под одним ракурсом. А это означает, что если есть две похожих открытки, но разных серий (разных изданий), Вы можете не увидеть отличий между ними. Для того, чтоб увидеть отличия Вы вынуждены брать оригиналы и сравнивать друг с другом. А это значит, что смысл хранения нивелируется... Более того, из-за частого передергивания оригиналов, они могут портиться.

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

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

- Нет возможности расчета себестоимости коллекции, а так же оценки общей её стоимости.

Для того, чтоб предалеть данные недостатки, многие хранят информацию в в Excel.

Но и данный способ хранения имеет ряд недостатков:

- Желательно знание Excel, понимания формул и макросов.

- Хоть Excel и позволяет упорядочить информацию о коллекции, но теряется связность между данной информацией и изображениями элементов коллекции.

- Проблематична коллективная работа над коллекциями.

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

В целом, хранение информации в Excel не на много превосходит по эффективности хранение информации в виде файлов.

3. Используя специализированные программы.

Есть достаточно не плохие программы, которые позволяют упорядочить информацию о коллекции. Есть некоторое количество таких программ в интернет с "взломщиком лицензий".

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

Поэтому, рекомендуем использовать программное обеспечение лицензионным путем.

Каждая программа "заточена" под определенные задачи и содержит поля, необходимые для уподочивания коллекций определенного типа.

Программа Коллекция К2® создавалась для коллекционеров, собирающих наборы из фотографий, открыток, календарей.

Данная работает в 2-х вариантах:

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

- В сетевом варианте может работать не ограниченное количество пользователей. Этот способ настройки сложнее однопользовательского и значительно дороже.

Программа позволяет упорядочить информацию в электронном виде о элементах коллекции по различным категориям:

- назаванию;

- автору;

- серии;

- типу карточки;

- номеру альбома и позиции в нем;

- категорям размещения.

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

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

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

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

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

Для возможности обмена информацией с другими коллекционерами в программе предусмотрена воможность экспорта информации в Excel.

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

Адрес и телефон
E-mail: rs@corp2.net Skype: rudjuk
г. Киев, ул. Белорусская 30, офис. К2Р (схема проезда)
Мы в сети
Меню
www.megastock.ru Здесь находится аттестат нашего WM идентификатора 000000000000
Проверить аттестат
Наверх