четверг, 14 октября 2010 г.

Установка компилятора для сборки squid-3

Проблема: в Ubuntu squid3 не хочет компилироваться, вылетает ошибка:
checking for C++ compiler default output file name...
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
configure: error: ./configure failed for lib/libTrie

Решение: в консоли пишем:
sudo apt-get install build-essential
Далее можно компилировать  squid.

понедельник, 11 октября 2010 г.

Список вражеских сайтов

В предыдущем сообщении я писал о том, как настроить squid на блокирование сайтов, перечисленных в текстовом файле. Где такой список взять? Например, там:
1) Список из 2414 сайтов с сайта www.antiporno.org;
2) Список нежелательных сайтов с сайта ru-board.com;
3) http://rejik.ru/
4) http://www.squidguard.org/blacklists.html

А можно  использовать бесплатные DNS серверы NetPolice.ru, а именно:
81.176.72.82
81.176.72.83

Получаем почти 100% защиту от вражеских сайтов.

пятница, 8 октября 2010 г.

Дополнительная настройка Squid

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

Использованные ссылки:
1) RED HAT клуб, тема форума "Запрет посещения сайтов в SQUID";
2) Статья "Фаршировка кальмара" Сергея «grinder» Яремчука в журнале "Хакер" (#115, стр. 115-122-1);
3) Статья "Ограничение скорости в SQUID (squid example limit delay)" на сайте opennet.ru;
4) Статья "Настройка Squid для начинающих (squid proxy acl)" на сайте opennet.ru;
5) FAQ "Зона особого внимания: Squid" на сайте opennet.ru.

Часть 1. Запрет посещения определенных сайтов


1) В каталоге squid создаем файл, в котором будем писать имена вражеских сайтов:
gedit /etc/quid3/siteban
В открывшемся текстовом редакторе пишем имена сайтов в таком виде:
.odnoklassniki.ru
.vkontakte.ru
.mail.ru
и так далее. После этого файл сохраняем, текстовый редактор gedit закрываем.
2) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
добавляем строки перед "http_access allow users":
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban

Должно получиться вот что:

http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth REQUIRED
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban
http_access allow users
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart

Часть 2. Распределение скорости
Допустим, в squid заведен пользователь user для обычных пользователей и boss1, boss2 для начальника отдела и начальника всего предприятия соответственно. Требуется сделать так, чтобы обычный клерк Вася, вдруг захотев скачать фильм, не лишил начальников удовольствия быстро открывать страницы.
1) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
Вместо строки "acl users proxy_auth REQUIRED" пишем
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
2) Создаем пул для управления скоростью. Ниже пишем:
delay_pools 1
теперь задаем для него свойства:
delay_class 1 1 
3) Пусть весь Интернет-канал обладает скоростью 512 Kbit/s.
Дадим обычным пользователям 200 Kbit/s. Задаем ограничение скорости для пользователя user:
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all
Получается, что мы дали всем обычным пользователям сети, которые ходят в Интернет с логином user, всего 200 Kbit/s.
К начальникам ограничений не применяем для того, чтобы они могли при желании забивать весь Интернет-канал. Но, при необходимости, им тоже можно ввести ограничение.
В итоге конфигурационный файл Squid выгладит следующим образом:
http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
delay_pools 1
delay_class 1 1 
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all 
http_access allow users
http_access allow boss
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart

понедельник, 14 июня 2010 г.

Настройка VPN-соединения в Ubuntu 10.04

Задача:
Настроить VPN-соединение в Ubuntu 10.04 для создания VPN-подключения с использованием логина и пароля.

Реализация (взята с сайта http://www.fanatubuntu.com/?p=6):

Для создания соединения VPN необходимо установить пакет pptp-linux. Он находится на первом установочном CD/DVD диске Ubuntu. При установке под Ubuntu пакет pptp-linux потребует установить еще пакеты ppp и libpcap0.8. pptp-linux можно установить при помощи менеджера пакетов Synaptic, а можно набрать команду в терминале:sudo apt-get install pptp-linux

Замечание. Если вы не найдете пакет pptp-linux в менеджере пакетов Synaptic, значит, установочные CD/DVD не добавлены в список репозиториев системы. Добавить установочные CD/DVD можно в менеджере пакетов Synaptic через пункт меню приложения Edit -> Add CD-ROM. Посмотреть, какие CD/DVD уже добавлены можно в окне настроек репозиториев Software Sources (меню Settings -> Repositories).

НАСТРОЙКА PPTP-LINUX

В файле /etc/ppp/chap-secrets укажите имя пользователя USERNAME и парольPASSWORD, которые будут использовать при подключении.USERNAME PROVIDER_NAME PASSWORD *

Создайте файл подключения PROVIDER_NAME в папке /etc/ppp/peers и вставьте в него следующие строки:
maxfail 0
persist
lcp-echo-interval 10
lcp-echo-failure 1
remotename PROVIDER_NAME
pty "pptp --loglevel 1 IP_ADDRESS --nolaunchpppd"
name USERNAME
noauth
debug
nodetach
lock
defaultroute
replacedefaultroute
require-mppe-128
refuse-eap
refuse-mschap

Замените IP_ADDRESS на адрес сервера VPN вашего интернет-провайдера, а USERNAMEи PROVIDER_NAME на имя вашего пользователя и имя файла подключения соответственно (USERNAME и PROVIDER_NAME те же самые, что указаны в файле/etc/ppp/chap-secrets).

Подсоединяемся к VPN-серверу:

pon PROVIDER_NAME

И пропишем DNS-серверы в файле /etc/resolv.conf

nameserver 10.0.0.1
nameserver 10.0.0.2

адреса 10.0.0.1 и 10.0.0.2 замените на адреса предпочитаемого и альтернативного DNS-сервера.

Установленное VPN соединение будет восстанавливаться при разрыве физического соединения, т.е. когда ethN будет опущено, а не самого VPN на интерфейсе ppp0.

Простой VPN-сервер на Ubuntu с авторизацией по логину и паролю

Задача:
На базе Ubuntu 9.10 сделать VPN-сервер, к которому можно подключаться, используя логин и пароль (авторизация по логину и паролю).

Реализация (взято с сайта http://chaika2.ucoz.ru/forum/10-434-1):

Установим VPN сервер:
sudo apt-get install pptpd ipx


Настройка VPN сервера.
Редактируем файл /etc/ppp/pptpd-options
пишем:

name pptpd
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-dns 10.0.0.2
proxyarp
nodefaultroute
lock
nobsdcomp
#IPX (todo)
ipx
ipx-network 4
ipx-node 1:0
ipx-routing 2
ipx-router-name Linux_router
ipxcp-accept-remote

адреса 10.0.0.1 и 10.0.0.2 замените на адреса DNS-серверов

Редактируем файл /etc/pptpd.conf
пишем:

option /etc/ppp/pptpd-options
logwtmp
localip 172.16.16.1
remoteip 172.16.16.2-254

172.16.16.1 - адрес нашего будущего VPN-сервера в VPN-сети
172.16.16.2-254 - диапазон адресов, выдаваемых клиентам VPN-сервера

Теперь можно добавить пользователей, для этого редактируем файл /etc/ppp/chap-secrets
пишем:

# Secrets for authentication using CHAP
# client server secret IP addresses
vpn_login pptpd vpn_password "*"

Замените vpn_login на логин клиента VPN-сервера, а vpn_password - на пароль для этого логина
Прописывая "*", мы разрешаем коннектиться данному пользователю с любого IP-адреса.
Если хотите, чтобы соединение разрешалось с определённого адреса, то вместо * впишите нужный IP-адрес.
Замечание: между vpn_login, pptpd, vpn_password и "*" ставится ТАБУЛЯЦИЯ!

Перезапускаем VPN-сервер

/etc/init.d/pptpd restart

На этом настройка VPN сервера закончена, осталось настроить firewall и форвардинг пакетов.
Пишем:

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptabless -A FORWARD -i eth1 -j DROP
eth0  замените на имя интерфейса, который смотрит в Интернет, eth1 - на имя интерфейса, который смотрит в локальную сеть и через который создаются VPN-соединения.

понедельник, 7 июня 2010 г.

Запуск программ с правами администратора из под "пользователя"

Как запустить какую-либо программу с правами администратора без ввода пароля? С помощью Execas. Сайт программы: http://pisoft.ru/execas/execas.htm
Не требует установки