среда, 21 июля 2010 г.

Proxy server on DEBIAN 5.0

Задача сервера: обеспечить безопасность внутренней сети от угроз из интернета и предоставить доступ сотрудникам до сети интернета, с введенными правилами ограничений.
Операционная система: Linux Debian 5.0

Установленное программное обеспечение:
- прокси сервер SQUID 3.0,
- SARG для генерации отчетов по использованию интернета сотрудниками отеля,
- web-сервер apache2.0 для просмотра отчетов через web браузер,
- файрволл iptables fw-script для обеспечения безопасности внутренней сети отеля из глобальной сети интернет.

Сотрудники разбиты на 3 группы:
1. Группа администраторов, нет ограничений.
2. Группа сотрудников с ограниченным доступом до интернета.
3. Группа с доступом только на разрешенные сайты.
Все остальные сотрудники не имеют доступ в интернет через сервер.

Ограничения для 2-й группы:
- запрет на доступ следующих ресурсов:
.fishki.net
.odnoklasniki.ru
.vkontakte.ru
.youtube.ru
.youtube.com
.depositfiles.com
.vip-file.com
- запрет на заход интернет порталов, где в доменном имени присутствуют: sex, porno, love.
- запрет на заход интернет порталов находящихся в домене net, tv, т.к. в этих доменах в основном находятся развлекательные ресурсы.
- запрет на скачивание видео и музыки следующих форматов: .mp3, .acf, .wma, .avi, .mpeg, .mpeg4, .wmv, .flv, .asf.

3-я группа может заходить на следующие сайты:
.yandex.ru
.rambler.ru
.rbc.ru

Решение:
настраиваем сетевые интерфейсы
# The loopback network interface
auto lo
iface lo inet loopback

# Внешний сетевой интерфейс
allow-hotplug eth0
iface eth0 inet static
address x.x.x.x
netmask 255.255.255.252
gateway x.x.x.
#Запуск скрипта firewall на внешнем интерфейсе
pre-up /etc/init.d/fw-script start

# внутренний интерфейс
allow-hotplug eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0

создаем скрипт fw-script и кладем его /etc/init.d
#! /bin/sh

my_init() {
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -F
iptables -t nat -F
iptables -X
echo 1 > /proc/sys/net/ipv4/ip_forward
}
my_access() {
#################################################
echo "Create filter rules..."
echo "Create local rules..."
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
echo "Allow output tcp traffic..."
iptables -A OUTPUT -o eth0 -j ACCEPT

#forward packets
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

echo "Allow input ssh trafic on port 22..."
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
echo "Create input-output icmp traffic..."
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT


echo "Allow input traffic... rinetd is allow forwarding!!!!! not iptables!"

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3389 -j ACCEPT

echo #allow traffic on squid#
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128

echo "Create main rules..."
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -o eth0 -j ACCEPT

iptables -A INPUT -i eth0 -p UDP --dport 1194 -j ACCEPT

#NAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source X.X.X.240 #Внешний ip

}
case "$1" in
start|restart|reload)
echo -n "Starting Firewall configuration by VITAL "
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
my_init
#GO
# my_traf
my_access
# rc_status -v
;;
stop)
echo -n "Shutting down Firewall "
iptables -F
iptables -t nat -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
rc_status -v
;;
status)
echo "Current Firewall-rules "
echo "Current iptables rules in the filter table:"
echo "-------------------------------------------"
iptables -v -L -n
echo " "
echo "Current iptables rules in the nat table:"
echo "-------------------------------------------"
iptables -v -n -t nat -L
# rc_status -v
;;
*)
echo "Usage: $0 (start|restart|reload|status)"
exit 1
;;
esac
#rc_exit

Для проброса портов во внутрь сети устанавливаем rinetd
apt-get install rinetd
В rinetd.conf прописываем от куда и куда проброс во внутрь сети
X.X.X.240 3389 192.168.1.11 3389

Устанавливаем squid
apt-get install squid3

Редактируем squid.conf
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

#acl office src 192.168.1.0/24
# Admins full internet
acl admin_users src "/etc/squid3/adminusers"
# Allow Users Inet in Office with restrict sait
acl inet_users src "/etc/squid3/internetusers"
# Restrict Inet for Users
acl inet_restrict src "/etc/squid3/restrictusers"
acl sait_restrict dstdomain src "/etc/squid3/restrictsait"
# Deny inet users
acl deny_inet src "/etc/squid3/denyusers"

#Запрет на домены
acl deny_domain dstdomain "/etc/squid3/denydomain"
#Запрет вход в домены содержащие в домене след-е слова
acl adult dstdom_regex sex porno love
#Запрет заход на домены
acl regexdomain dstdom_regex \.net$ \.tv$
#Files for deny: video and sound
acl media urlpath_regex -i .mp3$ .acf$ .wma$ .avi$ .mpeg$ .mpeg4$ .wmv$ .flv$ .asf$

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Allow Inet for admin grups
http_access allow admin_users

# deny domain
http_access deny inet_users deny_domain
http_access deny inet_users adult
http_access deny inet_users regexdomain
http_access deny inet_users media
http_access allow inet_users

#Deny inet users
http_access deny deny_inet

#reeption
http_access allow inet_restrict sait_restrict
http_access deny inet_restrict

#http_access deny adult
#http_access deny regexdomain
#http_access deny deny_domain
#http_access allow office

http_access allow localhost
http_access deny all
icp_access deny all
htcp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
icp_port 3130
coredump_dir /var/spool/squid3

Создаем файлы командой touch
adminusers, denyusers и другие, в них через интер вводим нужные ip

Создаем denydomain
и вносим домены, куда доступ запрещен
.fishki.net
.odnoklasniki.ru
.vkontakte.ru
.youtube.ru
.youtube.com
.depositfiles.com
.vip-file.com

Создаем restrictsait
.yandex.ru
.rambler.ru
.rbc.ru

Все остальные настройки делаем по аналогии.

Сервер готов к работе!

четверг, 18 марта 2010 г.

Удаленная перезагрузка windows из под linux

linux debian
windows server 2003
Необходимо, чтобы в linux был пакет samba-common.
Если нет, то устанавливаем:
sudo apt-get install samba-common
Выключение windows:
net rpc shutdown -I [ip адресс] -U login%password
Если перезагрузка, то параметр -r

Все параметры данной команды:

net rpc info show basic info about a domain
net rpc join to join a domain
net rpc oldjoin to join a domain created in server manager
net rpc testjoin tests that a join is valid
net rpc user to add, delete and list users
net rpc password [] -Uadmin_username%admin_pass
net rpc group to list groups
net rpc share to add, delete, list and migrate shares
net rpc printer to list and migrate printers
net rpc file to list open files
net rpc changetrustpw to change the trust account password
net rpc getsid fetch the domain sid into the local secrets.tdb
net rpc vampire syncronise an NT PDC’s users and groups into the local passdb
net rpc samdump diplay an NT PDC’s users, groups and other data
net rpc trustdom to create trusting domain’s account or establish trust
net rpc abortshutdown to abort the shutdown of a remote server
net rpc shutdown to shutdown a remote server
net rpc rights to manage privileges assigned to SIDs
net rpc registry to manage registry hives
net rpc service to start, stop and query services
net rpc audit to modify global auditing settings
net rpc shell to open an interactive shell for remote server/account management

‘net rpc shutdown’ also accepts the following miscellaneous options:
-r or –reboot request remote server reboot on shutdown
-f or –force request the remote server force its shutdown
-t or –timeout= number of seconds before shutdown
-C or –comment= text message to display on impending shutdown

понедельник, 28 сентября 2009 г.

Protocol filter(PF) от DDos атак на сервер под freeBSD

Защита от Doss-атак для web сервера
1) Фаервол
2) И грамотно настроенный веб сервер!

Пример:
1) Фаерволл PF.

Обозначаем фильтер протоколов в rc.conf
pf=YES
pf_rules=/etc/pf.conf

Код: /etc/pf.conf
set block-policy drop # Если кто то попал под правило block молча откидаем его пакеты
set fingerprints "/etc/pf.os" # Файл с всеми извесными ОС, PF может резать людей по версиям ОС
set loginterface $ext_if # С какого интерфейса статистику снимать будем.
set optimization normal # Нормализация хождения трафика
scrub in all # Нормализация входящего трафика
scrub out all # Нормализация исходящего трафика

table persist # Создаём таблицу DDOS
block quick from to any # Всех кто в таблице DDOS рубим и не смотрим на остальные правила

# Защита от ДДОС атак на WWW сервер
pass in on $ext_if proto tcp from any to $int_if port www flags S/SA keep state
( max-src-conn-rate 50/5, overload flush)
# Если кто то хочет создать больше чем 50 линков за 5 сек добавлять в таблицу DDOS

Посмотреть всех кто попался на удочку так pfctl -t ddos -T show а очистить таблицу так pfctl -t ddos -T flush

Мини мануал по командам PF
pfctl -f /etc/pf.conf - Загрузить правила из файла /etc/pf.conf
pfctl -nf /etc/pf.conf - Проверить валидность правил из файла /etc/pf.conf - НО НЕ ЗАГРУЖАТЬ
pfctl -Nf /etc/pf.conf - Загрузить только правила NAT
pfctl -Rf /etc/pf.conf - Загрузить только фильтрующие правила
pfctl -sn - Посмотреть активные правила NAT ТРАНСЛЯЦИИ
pfctl -sr - Посмотреть активные правила фильтра
pfctl -ss - Показать текущую таблицу состояний (state table)
pfctl -si - Показать статистику
pfctl -sa - Показать ВСЁ что можна

Другие примеры PF:

# added by defsite.ru

set loginterface em0
set optimization aggressive
set limit {states 120000, frags 10000}
set limit src-nodes 70000

set skip on { lo0 }

pass in quick on em0 inet proto tcp from any to 77.91.229.144 port 80 flags S/SA synproxy state (max 100000, source-track rule, max-src-states 60, max-src-conn 50, if-bound, adaptive.start 60000, adaptive.end 120000)

Дополнительная информация по PF

2. web server
Устанавливаем в паре 2 веб сервера Nginx and Apache
На порту 80 работает Nginx а на 8080 работает Apache
Дуступ к порту 8080 разрешен только из интерфейса lo0.

И того Nginx выступает в качестве кешырующего веб сервера а апач в качестве выполняймого.
И вот когда Вас ДОСЯТ или ДДОСЯТ, Nginx первый раз берет страничку у апачаИ того Nginx выступает в качестве кешырующего веб сервера а апач в качестве выполняймого.
И вот когда Вас ДОСЯТ или ДДОСЯТ Nginx первый раз берет страничку у апача а второй и все последующие отдайот из кеша и сразу рубает линк с ДДОСЕРОМ, а второй и все последующие отдаёт из кеша и сразу рубает линк с ДДОСЕРОМ.

среда, 2 сентября 2009 г.

Виртуализация сервера на KVM

Задача: установить debian5 и создать на нем виртуализацию windows srv 2003 с помощью KVM.
Установка KVM:
apt-get install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev libpci-dev

Установка qemu:
apt-get install qemu

Создание образа на HDD:
qemu-img create -f qcow2 /usr/local/vm/win2003.img 20G
Создается образ /usr/local/vm/win2003.img размером в 20Гб

Установка windows 2003:
qemu -cdrom /dev/hda -hda /usr/local/vm/win2003.img -m 1288 -boot d -kernel-kqemu -no-kqemu -vnc :0 -localtime -daemonize
Выделил ОЗУ 1288МЬ
-daemonize не держать процесс до завершения работы виртуальной машины.

Подключение к образу через VNC
При нажатие F8, меню сочетания клавишь.

Для подключение к установленному windows через rdp:
rdesktop 192.168.X.X:3389 -u admin -f -a 24
-f это fullscreen, a 24 - 24 бит цветности
crl+alt+enter - свернуть fullscreen

Чтобы виртуальная машина была в сети, необходимо создать для неё виртуальный интерфейс и сделать мост между им и реальном lan.

Для этого был написан скрипт /etc/script-ifup:

#!/bin/sh
ifconfig eth1 down
ifconfig eth1 0.0.0.0 up
brctl addbr mybridge
brctl addif mybridge eth1
ifconfig mybridge 192.168.7.22 netmask 255.255.255.0
route add default gw 192.168.7.1
ifconfig mybridge up
sleep 2
vde_tunctl -b
ifconfig tap0 0.0.0.0 promisc up
brctl addif mybridge tap0
sleep 2
echo "most rabotaet)"

В win2003 прописываем сетевые настройки.

Виртуальный сервер win2003 теперь в сети. Рекомендую сделать копию образа 2003.

P.S.
1. Запускаем сервер.
2. Запускаем скрипт для виртуального инетрфейста или моста(можно скрипт в автозапуск поставить).
3. Запускаем виртуальную машину с виртуальным интерфейсом:
qemu -hda /usr/local/vm/win2003.img -kernel-kqemu -net nic,model=rtl8139 -net tap,ifname=tap0 -vnc :0 -m 758 -daemonize

понедельник, 6 апреля 2009 г.

DNS клиент

nslookup -type=a domen.ru показывает А-зону для domen.ru
nslookup -type=mx domen.ru показывает MX-зону для domen.ru(ip mail server)
nslookup -type=soa domen.ru показывает SOA запись для domen.ru
whois domen.ru выводит всю информацию по domen.ru
dig domain.ru mx вывод развернутой информации по mx зоны
host domain.ru выводит инфо об узле domain.ru

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

Web сервер apache

Сервер установил внутри локальной сети с ip: 192.168.х.х. На маршрутизаторе сделал проброс по 80 порту до apache.

В httpd.conf Apache HTTP сервера устанавливается в /usr/local/etc/apache/httpd.conf
ServerAdmin you@your.address - Адрес, на который должны будут отправляться сообщения о проблемах с сервером.
DocumentRoot "/usr/local/www/data" - Каталог, внутри которого будут храниться документы.
ServerName domen.com - обозначение имени сервера
Поменять:
#Directory /#
AllowOverride all
Order deny,allow
Allow from all
#/Directory#

# Virtual hosts
Include conf/extra/httpd-vhosts.conf Конфигурация виртальных хостов

#
/usr/local/sbin/apachectl start(stop/restart) Запуска APACHE

# /usr/local/sbin/apachectl graceful Для перезапуска Apache без прерывания имеющихся соединений
Для запуска Apache при старте системы в /etc/rc.conf:
apache_enable="YES"


Виртуальные хостинги.
Физический сервер связан с одним IP адресом. Несколько доменных имен связываются с этим IP адресом. Все логические веб-сервера прослушивают один единственный порт. Сервер различает запросы, используя поле HOST, которое является обязательным в HTTP запросах в HTTP версии 1.1.
httpd-vhosts.conf:
#VirtualHost *:80#
ServerName www.holdwest.com
DocumentRoot /home/vital/sait/wwwholdwest
ErrorLog "/var/log/httpd_wwwholdwestcom.log"
#/VirtualHost#

#VirtualHost *:80#
ServerName talisman.holdwest.com
DocumentRoot /home/vital/sait/talisman
ErrorLog "/var/log/httpd_talismanholdwestcom.log"
#/VirtualHost#

#VirtualHost *:80#
ServerName www.talisman.holdwest.com
DocumentRoot /home/vital/sait/wwwtalisman
ErrorLog "/var/log/httpd_wwwtalismanholdwestcom.log"
#/VirtualHost#


Установка MySQL:
cd /usr/ports/databases/mysql50-server
make install clean
mysql_install_db установка базы

В
/etc/ rc.conf:
mysql_enable=”YES”

Запуск MySQL:
/usr/local/etc/rc.d/mysql-server start

При 1-м запуске ругался на то, что не существует /tmp/mysql.sock, после рестарта все ок
/usr/local/etc/rc.d/mysql-server restart

В MySQL 5.0 по умолчанию пользователь root, после первоначальной установки сервера, создается без пароля. Вернее с пустым паролем. Поэтому задаем его сами:
mysqladmin -u root password новый_пароль

/usr/local/bin/mysqladmin version показывает версию sql
после установки пароля на root в sql:
/usr/local/bin/mysqladmin version --u=root --password=Pass

После смены пароля root для sql входить:
mysql --user=root --password=Новый пароль
После каждой команды необходимо вводить ";:"
help;

Выводит базы sql:
mysqlshow --u=root --password=Pass

Установка PHP5:
cd /usr/ports/lang/php5
make install clean
cd /usr/ports/lang/php5-extensions
make install clean

В httpd.conf дописываем, что бы apache понимал файлы php и phps:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps



четверг, 27 ноября 2008 г.

Почтовый сервер на *NIX

Определения MX-записей:
host -t mx www.ru
Более подробно:
nslookup -type=mx www.ru
Чем выше число MX, тем ниже его приоритет.

среда, 26 ноября 2008 г.

Backup с помощью RSYNC

/usr/local/etc/rc.d/rsyncd reload Перезапуск на freeBSD
rsync -avz /etc /local/backup/etc/ Синхронизирует данные с /etc с /lacal/backup/etc
rsync -avz /etc -e "ssh -p 1984" vital@192.168.7.1:/home/vital/192.168.7.24 Синхронизирует данные на 192.168.7.1 по ssh на порту 1984, под пользователем vital
Для Backup системы 192.168.7.24(suse) на 192.168.7.1(freeBSD) необходимо:
1. Сделать ssh без пароля с 192.168.7.24 на 192.168.7.1
На машине 192.168.7.24 генерируем ключи(я сделал root):
ssh-keygen -t rsa Не вводя ни каких паролей по запросу.
2. Открытый ключ /rootl/.ssh/id_rsa.pub копируем на 192.168.7.1
3. На 192.168.7.1 выполняем:
cat /home/vital/files/id_rsa.pub >> /home/vital/.ssh/authorized_keys
Теперь будет безпаролевый вход.
4. Создаю скрипт для сжатия /etc каталога
tar'ом и синхронизация архива с backup на архивном сервере:
#!/bin/sh
CUR_DATE=`/bin/date +%m-%d`
RSYNC="/usr/bin/rsync"
TAR="/bin/tar"
$TAR -czf /local/backup/7.24_$CUR_DATE.tar.gz /etc/*
$RSYNC -avz "/local/backup/7.24_$CUR_DATE.tar.gz" -e "ssh -p 1984" vital@192.168.7.1:/home/vital/backup
Архивируется архив по дате дня и месяца
5. Вношу задание в cron:
45 19 1 * * /local/vital/sh/rsync.sh
Задание будет выполняться кажое первого числа месяца, в 19:45

Аналогично проделываю и на другом сервере, где установлен freeBSD.
Небольшие отличия в rsync.sh
#!/bin/sh
CUR_DATE=`/bin/date +%m-%d`
RSYNC="/usr/local/bin/rsync"
TAR="/usr/bin/tar"
$TAR -czf /home/vital/backup/7.1_$CUR_DATE.tar.gz /etc/* /usr/local/*
$RSYNC -avz "/home/vital/backup/7.1_$CUR_DATE.tar.gz" -e "ssh -p 1984" vital@192.168.7.24:/local/backup
ВСЁ БЛАГОПОЛУЧНО РАБОТАЕТ ))
Cсылки:
http://iar.spb.ru/rsync
http://www.nestor.minsk.by/sr/2003/02/30209.html

вторник, 25 ноября 2008 г.

Сброс пароля на root

С похмелья меняли пасс на рута, а потом нельзя под рутом зайти? Не беда...

Загрузитесь с диска, затем выполните команды:
Код:
# mkdir /media/myhard
# mount -t ext3 /dev/sda2 /media/myhard
# chroot /media/myhard
Здесь ext3 - файловая система на корневом разделе, а /dev/sda2 - раздел, куда монтируется /, узнать как он называется у Вас можно например командой fdisk -l /dev/sda.
Далее просто меняете пароль root-а (командой passwd).
Ссылки по теме
http://www.phn.nm.ru/articl_11.html
http://en.opensuse.org/Recover_Root_Password
http://ubuntueasy.com/administrirovanie/sbros-parolja-polzovatelja

понедельник, 24 ноября 2008 г.

DHCP на Linux с привязкой по MAC:
Установил dhcp v.3.0.6
Вначале прописал в /etc/sysconfig/dhcpd:
DHCPD _INTERFACE="eth0" # на каком интерфейсе будет сервис

Настройки /etc/dhcpd.conf:
authoritative; #main DHCP on Lan
ddns-update-style none;
option domain-name "west.lan";
option domain-name-servers 192.168.7.1, 195.14.50.1;
# Arenda IP 1 mount
default-lease-time 2592000;
max-lease-time 2592000;
log-facility local7;

subnet 192.168.7.0 netmask 255.255.255.0 {
#range 192.168.7.9 192.168.7.100; # не стал использовать
option routers 192.168.7.1;

host pc_02
{
hardware ethernet 00:04:61:A5:FD:09;
fixed-address 192.168.7.23;
}

host IN
{
hardware ethernet 00:1E:58:2C:32:94;
fixed-address 192.168.7.25;
}

host secretar
{
hardware ethernet 00:10:22:FF:59:C3;
fixed-address 192.168.7.10;
}

host sokolov
{
hardware ethernet 00:1E:58:45:6B:2C;
fixed-address 192.168.7.22;
}

host urist_artur
{
hardware ethernet 00:1E:8C:7E:AC:01;
fixed-address 192.168.7.90;
}
}

понедельник, 17 ноября 2008 г.

Установка и настройка squid

./configure --enable-delay-pools Конфигурация с поддержкой пулов
./configure --enable-arp-acl Конфигурация с поддержкой MAC адресов.
/usr/local/squid/sbin/squid -z При 1-м запуску создаем кеш для squid
/usr/local/squid/sbin/squid start Запускаем squid
ps -waux | grep squid Проверяем запущенный сквид
/usr/local/squid/sbin/squid -k reconfigure Перезагрузка конфигурации squid
Для прозрачного прокси:
ядро компилировать с опциями :
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_FORWARD_EXTENDED
options IPDIVERT

# отправляем всех на прозрачный squid
$cmd 050 fwd 127.0.0.1,3129 tcp from 192.168.7.0/24 to any 21,80,443,5190 out via re1
deny_info - выдает собственный текст

Задача:

Прокси сервер создан на базе squid+sarg
Общий ежемесячный выкупаемый трафик на интернет 3 Гб
10 сотрудников имеет доступ до интернета
Все сотрудники разбиты на 5 групп:
1. Полный доступ до интернета без ограничений и квот.
Леонид Александрович(192.168.7.88)
Ирина Николаевна(192.168.7.25)
2. Полный доступ до интернета с отключением развлекательных сайтов, без квот.
Менеджер(192.168.7.23)
Юрист 1 (192.168.7.90)
Юрист 2 (192.168.7.92)
Алексей Юрьевич(192.168.7.22)
3. Квотируемы полный доступ до интернета с отключением развлекательных сайтов.
Сист. администратор (192.168.7.24) квота-400 МБ
Секретарь(192.168.7.10) квота-400 МБ
4. Квотируемый доступ сотрудников с ограниченным кол-вом допустимых сайтов
Анна Евгеньевна(192.168.7.16) квота-400 МБ
Марина Николаевна(192.168.7.15) квота-400 МБ
5. Группа сотрудников, которым отключен интернет из-за перерасходования квоты.
Просмотр статистики происходит по адресу: http://192.168.7.1


Решение:
Мой /usr/local/squid/etc/squid.conf (внесены данные)

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

#Allow admin full inet (I grups)
acl admin_users src "/usr/local/squid/etc/adminusers"

#Allow Users Inet in Office with restrict sait, but no quota (II grups)
acl inet_users src "/usr/local/squid/etc/internetusers"

#Allow Users Inet with restrict sait, with quota 500Mb(III groups)
acl quota_users src "/usr/local/squid/etc/quotausers"

#deny url
acl deny_url url_regex "/usr/local/squid/etc/denyurl"

#deny domain name
acl deny_domain dstdomain "/usr/local/squid/etc/denydomain"

#Restrict Inet for Users with quota 400Mb (IV grups)
acl inet_restrict src "/usr/local/squid/etc/restrictusers"
acl sait_restrict dstdomain src "/usr/local/squid/etc/restrictsait"

# Deny Inet for user which in quots(V grups)
acl deny_inet src "/usr/local/squid/etc/denyusers"

#Files for deny: video and sound
acl media urlpath_regex -i \.mp3$\.acf$\.wma$\.avi$\.mpeg$\.mpeg4$

# Files download
acl files urlpath_regex -i \.exe$\.rar$\.zip$

# pools
delay_pools 2
delay_class 1 1
delay_parameters 1 1000/1000
#acl files urlpath_regex -i \.exe$\.rar$\.zip$

#http_access allow files
http_access allow inet_users files
delay_access 1 allow files
delay_access 2 deny all
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 25 # SMTP
acl Safe_ports port 110 # Pop3
acl Safe_ports port 143 # IMAP
acl CONNECT method CONNECT

#Default:
# http_access deny all

# blocking banners
#acl nobanners src 0/0
#acl banners url_regex "/usr/local/squid/etc/banners.acl"
#http_access deny nobanners banners

##########################################
### I grups
#Allow Inet for admin grups
http_access allow admin_users

### II grups
# deny url for office all users
http_access deny inet_users deny_url

# deny domain
http_access deny inet_users deny_domain

# deny media files for inet_users
http_access deny inet_users media

# allow inet office users
http_access allow inet_users

### V grups
#Deny inet users
http_access deny deny_inet

### III grups
http_access deny quota_users deny_domain
http_access allow quota_users

### IV
http_access allow inet_restrict sait_restrict
http_access deny inet_restrict

http_access deny all
#############################################

Примечание: запрет домена легко обходится с помощью порталов free proxy, например, http://hidemyass.com/
____________
SARG
sarg --help Помощь по sarg'у
sarg -d 16/11/2008-18/11/2008 Создает отчет с 16.11 по 18.11

/usr/local/etc/sarg/sarg.conf:

language English

access_log /var/log/squid/access.log

graphs yes
graph_days_bytes_bar_color orange

output_dir /var/log/squid-reports #Куда выгружать отчеты html

per_user_limit /usr/local/squid/etc/denyusers 400 #quota 400 MB
__________________________________
Скрипт для crona:
#!/bin/sh
/bin/rm /usr/local/squid/etc/denyusers #Удаляем файл
denyusers, т.к. sarg только добавлет ip
/bin/rm -R /var/log/squid-reports/* #Удаляем отчеты sarg
CUR_DATE=`/bin/date +%d/%m/%Y`
#echo $CUR_DATE
/usr/local/bin/sarg -d 01/12/2008-$CUR_DATE #Создаем отчет sarg до сегодняшнего дня
/usr/local/squid/sbin/squid -k reconfigure #Перезапускаем squid, что бы применить настройки
__________________________________

Cron
00 9,11,13,15,17 * * * /sarg.sh # каждые 9,11,..,17 часов выполнять sarg.sh
__________________________________
Apache
Apache HTTP сервера устанавливается в /usr/local/etc/apache/httpd.conf
ServerAdmin you@your.address - Адрес, на который должны будут отправляться сообщения о проблемах с сервером.
DocumentRoot "/usr/local/www/data" - Каталог, внутри которого будут храниться документы. Здесь лучше указать на файлы SARGA.
#
/usr/local/sbin/apachectl start(stop/restart) Запуска APACHE
#
/usr/local/sbin/apachectl graceful Для перезапуска Apache без прерывания имеющихся соединений
Для запуска Apache при старте системы в /etc/rc.conf:
apache_enable="YES"
Проверка работы сервера:
telnet webserver 80
И ввести: HEAD
/ НТТР/1.0

среда, 3 сентября 2008 г.

Софт под Linux

Zabbix - создан для мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
skype
Pidgin - использую, как клиент для icq, сервер icq - login.icq.com:443
okular - просмотр документов, поддерживает формат djvu
mozilla firefox - браузер, смачиваем архив с mozilla.ru, разархивируем и запускаем файл firefox, потом делаем ярлык на рабочий стол.
___________
nmap - хороший сканер портов
nmap -sS -O 192.168.7.1 Скрытое сканирование портов ПК 192.168.7.1
nmap -PN 81.200.246.82 Сканирование полное
___________
WinSCP v4.0.5 - это графический клиент SFTP для Windows с открытым исходным кодом. Он также поддерживает [устаревший] протокол SCP. Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы.
Webmin - программа для администрирование *nix, через web-интерфейс.
___________
clamav - бесплатный антивирусник для linux
Устанавливается: clamav, clamav-db, clamd, clamtk libclamav.
#service clamd start - запуск clamav
#service freshclam start - запуск обновления clamav
#freshclam - обновляет антивирус
#clamscan -ri - проверяет на вирусы(нужно сканить с /)
# clamscan --move=/home/a1ewka-gal4onok/infected - перемещает инфицированные файл

#clamscan --remove
- удаляет вирусы

______________
iptraf - не плохой сниффер (
iftop - для freeBSD)
rdesktop 85.235.185.90 -u admin-rmp -p 11111 -g 1024x768 -a 8 Удаленный
рабочий стол с введенным user и pass, расширением 1024 на 768 и 8 бит
цветности.

Links LINUX

http://www.linuxrsp.ru/win-lin-soft/table-rus.html - аналоги Windows-программ в Linux
https://www.dyndns.com - Создать доменное имя по своему ip
http://easyfwgen.morizot.net/gen/index.php - автоматическая генерация iptables
http://www.petri.co.il/forgot_administrator_password.htm - linux дискета по сбросу админского пароля в windows. Побочный эффект: перестает работать outlook ))))

вторник, 26 августа 2008 г.

suse 11 servers

Установка и настройка файлового сервера:
При установки ОС ставим галочку на "Установка файлового сервера"
Создаем папку для файл /home/files сервера с правами 755, в ней, например, all c 777 и vit c 755.
YaST-сетевые службы-samba - добавляем необходимую директорию(/home/files) для общих файлов(Только для чтения - ставим нет).
Выбираем свойства /home/files, на вкладку - "сделать общим" и выстанавливаем нужные параметры.
Готово! По сложности не тяжалей, чем в windows ОС.
Заход на файловый сервер с windows машин осуществляется обычно, например, \\192.168.7.5
___________________________
Установка и настройка ftp сервера:
Вместе с файловым сервером в suse устанавливается ftp сервер - vsftpd
Нужно учесть, что для анонимных пользователей на сервер создается пользователь ftp, поэтому если нужно поменять путь к папке для анонимусов, то необходимо в /etc/passwd и /etc/passwdYaST2save у пользователя ftp поменять путь на нужный(/home/ftp).
Перед изменением лучше сделать копии этих файлов.
В конфигурации ftp сервера выставляем необходимые параметры.
Не забываем открыть порт в брандмауэре.
В каталоге ftp, chmod'ом выставляем нужные права на вложенные папки.
Теперь ftp работает. Можно заходить капировать и скачать с него файлы, но при попытки удалить или переименовать, вылетает ошибка, что нет прав, т.к. после копирования файла, ему присваиваются права 700 для ftp пользователя.
Лезем в конфигурационный файл сервера, который находится в /etc/vsftpd.conf. и правим:
аnonymous_enable=YES #разрешаем вход анонимусам.
local_enable=YES #разрешаем вход локальным пользователям.
write_enable=YES #разрешаем выполнение команд STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES #даем анонимусам право записи и т.п.
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
Теперь анонимные пользователи могут копировать, переименовывать и удалять файлы!
При доступе на сервер не воспринимаются русская кодировка.
Проблема решается....
___________________________
Удаленный доступ
В YaST разрешается удаленный коннект к ПК и расшаривается порт на брендмауере.
С удаленного ПК можно коннектится через web-браузер:
http://xx.xx.xx.xx:5801
Либо через krdc: vnc://192.168.0.1:5901
Через bash:
vncviewer 192.168.7.16:5900
-viewonly
-fullscreen
-x11cursor

Для доступа по rmt на windows XP:
rdesktop 192.168.7.10 -u remote -p pass -g 1024x768 где пользователь remote, пароль pass и расширения экрана 1024 на 768

При доступе c windows(vncviewer) на linux, нужно в клиенте убрать галку в опциях с "auto select". Иначе, при подключения к vncserver на linux, будет выкидывать клиента.
___________________________
Мониторинг ОС
free - показывает использованной и свободной ОЗУ и SWAP
ps -auxf показывает все выполняемые процессы
top - загрузка процессора
[
shift+n — сортировка по PID;
shift+a — сортировать процессы по возрасту;
shift+p — сортировать процессы по использованию ЦПУ;
shift+m — сортировать процессы по использованию памяти;
shift+t — сортировка по времени выполнения.
]
tload - график загрузки
uptime - время работы ОС, кол-во вошедших в неё пользователей и загрузка ОС.
vmstat - статистика swap
Инфо по данной теме
Инфо по top
___________________
Дополнительные команды:
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo
– информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию
___________________
Сетевые команды:
ping -c 3 www.ru - Пинг 3-мя пакетами
traceroute www.ru трассеровка www.ru(запускается только под рутом)
mtr www.ru - My traceroute
host www.ru - покажет ip адрес доменного имени www.ru(host 194.87.0.50 - наоборот)
nslookup - Показывает ip по доменному имени и наобо
netstat -tupl - Список интернет сервисов в системе
netstat -tup - Список активных соединений к системе (от системы)
netstat -r - выводит маршрутизацию
ifup/ifdown re0 - подымает и опускает интерфейс re0
sockstat выводит все активные соединения к сетевому интерфейсу во freeBSD
tcpdump — утилита, позволяющая захватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа(tcpdump -i eth0 > /1.txt сохраняет трафик в /1.txt на интерфейсе eth0)
arp -a выводит все подключения к сетевым интерфейсу по MAC адресам
___________________
Работа с SAMBA клиентом:
nmblookup -M -- - {Выводит Master Browser, которая следит за остальными машинами в сети, контролирует их SMB имена и IP}
nmblookup -SA 192.168.1.1 Выводит дополнительную информацию по Master Browser.
nmblookup -T "*" Выводит компьютеры, совместно использующие файлы и принтеры.
smbclient -L 192.168.7.24 Выводит общие ресурсы на 192.168.7.24 для анонимного пользователя.
smbclient -L 192.168.7.24 -U vital Выводит общие ресурсы для vital.
smbclient //192.168.7.24/vital -U root Заходит в папку vital под пользователем root.
smbclient //192.168.7.10/c$ -U admin Заход на диск C windows

Команды smb и ftp:
get скопировать файл на локальную машину, например, smb: \kav\kis6.0\russian\> get setup.exe
help
lsd изменить текущий каталог на локальной машине
put скопировать указанные файла на сервер samba, например, put 11.txt - копирует 11.txt.
Удаленное копирование
scp опции пользователь@хост1:файл1... пользователь@хост2:файл2
Опции программы scp

  • -r -- Выполнить рекурсивное копирование каталогов
  • -p -- Сохранить по возможности атрибуты файлов (права доступа, время модификации, время доступа) при копировании
  • -C -- Выполнять сжатие файлов при передаче
  • -P порт -- Соединяться с удаленным компьютером по порту порт
  • -v -- Сообщать отладочную информацию о ходе SSH-соединения
  • -q -- Не выдавать индикатор прогресс

suse 11 desktop

Член домена:
Наверное, здесь нет равных suse. Вводится в домен очень просто -
YaST - сетевые службы - samba, настраиваем св-ва идентификации, потом переходим "Членство в домене windows", настраиваем принадлежность, установить галочку "создать домашний каталог при входе в ОС", иначе при входе пользователем из AD в suse, вылетает ошибка.
_________________________
Установка из исходников:
/.configure
make
make install
make cleaner

Если в каталоге нет makefile, то создается он командой qmake. А так же необходимо поставить qca, что бы можно было конфигурировать.
________________________
Пример установки psi 0.10(гибрид icq) на suse 11 и mandriva 2008
Скачал архив исходников psi-0.10.tar.bz2, разархивировал его.
При конфигруации исходников ./configure, выдал ошибку, что нужен пакет qmake. Через YaST нашел данный пакет с помощью запроса qca. После этого конфигурация прошла без проблем. Запустил make, потом make install.
Запускающий файл установился: /usr/local/bin/psi
Работает и через прокси(в kopete не нашел, где настраивать proxy)
Готово!!!
________________________
Установка с пакетов:
rpm -Uhv paket.rpm - устанавливает/обновляет пакет.
rpm -e paket - удаления пакета(указывается только имя пакета)

________________________
Установка принтера hp1020 на сервер CUPS suse 11 и подключению к нему по сети другой ПК на suse 11.
В установленной системе нет драйверов на hp laserjet1020, поэтому пришлось качать foo2zjs.tar.gz и устанавливать.
make uninstall
make
make install
make cleaner
Потом через YaST подключил его локально и настраиваем CUPS сервер для того, что бы через него могли печатать удаленные ПК. Добавляем адреса просмотра, например, 192.168.7.*, 192.168.7.255, 192.168.7.23, @LOCAL и изменяем права доступа.
Так же конфигурация cups производится через web-интерфейс: http://localhost:631
На удаленном ПК при добавления сетевого принтера, выбираем удаленная учередь IPP, указываем имя узла(я указал ip) и добавляем имя удаленного принтера. Потом добавляем нужные драйвера из списка.
Готово!!!
________________________
Установка с командной строки:
yast -i progs
________________________

Mandriva 2008 desktop

urpmi --auto-update Обновление установленных пакетов в системе.

FreeBSD

В разработке!!!

FreeBSD servers

___________________________
FTP server(ftpd):
Данный сервер передает данные по сети в не защищенном виде.
Проверил работоспособность демона inetd командой
ps -waux | grep inetd
Добавил в файл /etc/rc.conf
inetd_enable="YES"
А в файле разкомментирвал строчки ftp.
Перезапустил демон:
/etc/rc.d/inetd stop
/etc/rc.d/inetd start
Проверил работоспособность ftp
ftp localhost
/etc/ftpusers - в этом фале запрещенные пользователи или группы(@users)
При создания файла touch /var/run/nologin - сервер запрещает к нему подключение
Для добавление анонимных пользователей, нужно в
sysinstall->Configure->Networking поставить галочку на AnonFTP
Для отключения пользователя anonymuos можно удалить пользователя ftp или дерево /var/ftp
___________________________
Маршрутизатор:
Перенаправление пакетов с одного сетевого интерфейса на другой включается в /etc/rc.conf
gateway_enable="YES"
Необходимо включить firewll и nat в файле ядра
options IPFIREWALL
options IPFIREWALL_VERBOSE # journal
options IPFIREWALL_VERBOSE_LIMIT=100 # Limit journal
options IPFIREWALL_DEFAULT_TO_ACCEPT # default close all
options IPDIVERT # acces divert to nat
Потом включается демон natd, firewall в /etc/rc.conf
firewall_enable="YES"
#firewall_type="OPEN"
firewall_script="/etc/ipfw.conf"
natd_enable="YES"
natd_interface="re1" #Nat интерфейс на re1(на нем интернет)
nats_flags="-u -m"
smbd_enable="YES"
nmbd_enable="YES"
named_enable="YES" # Сервер DNS

Конфигурация IPFW
Создаем файл /usr/firewall.conf и для пропуска все пакеты, через него вписываем:
add divert natd all from any to any via ed0 add
allow all from any to any
Ставим права на файл: chmod 600 /usr/local/etc/firewall.conf
Также можно задать:
firewall_type="open" - разрешает все входящие и исходящие пакеты
firewall_type="client" - правила для защиты только данной машины
firewall_type=simple" - правила для защиты всей сети
Настройка скрипта ipfw:
#!/bin/sh

/sbin/ipfw -f flush
/sbin/ipfw add 00050 check-state
/sbin/ipfw add 00100 divert 8668 ip4 from any to any via re1
/sbin/ipfw add 00200 allow ip from any to any via lo0
/sbin/ipfw add 00300 deny ip from any to 127.0.0.0/8
/sbin/ipfw add 00400 deny ip from 127.0.0.0/8 to any
# deny local lan on re1(Inet)
/sbin/ipfw add 00550 deny ip from any to 10.0.0.0/8 in via re1
/sbin/ipfw add 00560 deny ip from any to 172.16.0.0/12 in via re1
/sbin/ipfw add 00580 deny ip from any to 0.0.0.0/8 in via re1
# deny autoconfigure local on re1
/sbin/ipfw add 00590 deny ip from any to 169.254.0.0/16 in via re1
# deny multicastovye rassylki
/sbin/ipfw add 00600 deny ip from any to 224.0.0.0/4 in via re1
# deny fragmenrirovanye icmp
/sbin/ipfw add 00610 deny icmp from any to any frag
# deny icmp/32 on re1
/sbin/ipfw add 00620 deny log icmp from any to 255.255.255.255 in via re1
/sbin/ipfw add 00630 deny log icmp from any to 255.255.255.255 out via re1
# allow ssh from Net on Lan
/sbin/ipfw add 00650 allow ip from any to any ssh via re1

# allow traffic with Inet to re1 wich established
/sbin/ipfw add 00670 allow tcp from any to 78.107.117.210/32 via re1 established
#
# allow vnc on 192.168.7.24
#/sbin/ipfw add 00660 allow ip from any to any 1988 via re1

# deny icmp all from Inet. Allow icmp ni Inet from local
/sbin/ipfw add 00680 allow icmp from any to any out icmptype 8
/sbin/ipfw add 00690 allow icmp from any to any in icmptype 0
/sbin/ipfw add 00700 deny icmp from any to any via re1
# deny tcp and udp on re0 for 192.168.7.44
/sbin/ipfw add 00750 deny tcp from 192.168.7.44 to any via re0
/sbin/ipfw add 00760 deny udp from 192.168.7.44 to any via re0
# deny tcp 139 and 445 ports deny fron Inet
/sbin/ipfw add 00800 deny tcp from any to any 445 via re1
/sbin/ipfw add 00810 deny tcp from any to any 139 via re1
#deny all on re1
/sbin/ipfw add 00820 deny tcp from any to 78.107.117.210 via re1
# allow dns
/sbin/ipfw add 00840 allow tcp from 78.107.117.210 to 195.14.50.1 53 via re1
/sbin/ipfw add 00850 allow udp from 78.107.117.210 to 195.14.50.1 53 via re1
# deny all 53
/sbin/ipfw add 00860 deny tcp from any to any 53 via re1
/sbin/ipfw add 00870 deny udp from any to any 53 via re1
# allow tcp packet po ustanovlennym soedineniyam
/sbin/ipfw add 00900 allow tcp from any to any established

/sbin/ipfw add 01000 allow ip from any to any
/sbin/ipfw add 65534 deny ip from any to any

Дополнитльная информация
________________________
Установка DNS
cd /usr/ports/dns/bind9
make install
Переходим в cd /etc/namedb/named.conf для конфигурации сервера:
listen-on { any; }; #для прослушки всех, можно: listen-on { 192.168.7.0/24; }
forwarders {
195.14.50.1;
195.14.50.21;
}; # указывая ip провайдера
_______________________
Установка SAMBA
cd /usr/ports/net/samba3
Для конфигурации переходим в /usr/local/etc (в linux: /etc/samba)
ee smb.conf
В файле вносим:
workgroup = west.lan
server string = westser
hosts allow = 192.168.7. # можно ограничить по ip hosts allow = 192.168.7.24, запрет hosts deny 192.168.7.21
interfaces = re0 # Используем samba только на внутреннем интерфейсе
bind interfaces only = Yes # Используем samba только на внутреннем интерфейсе
max log size = 100
security = share #Пользователи не должны вводить логин и пасс при подключенпие к серверу

#====== Share Definitions ======
[FILESERVER]
comment = FILESERVER
path = /home/vital/files
browseable = yes #Если поставить browseable = no, то до каталога можно будет достучаться набрав полный адрес. В общих ресурсах его не будет видно.
writable = yes
guest ok = yes
share mode = yes
Добавляем в rc.conf демон для samba:
smbd_enable="YES"
nmbd_enable="YES
Запускаем демон
/usr/local/etc/rc.d]# ./samba start

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd Переносит пользователей ОС в пользов-й smb
Или можно синхронизировать через webmin
После синхронизация, нужно вновь задать пароли.

Пример работы пользователей с папкой ftp:
_________________
[FTP]
writeable = yes запись в папку
read list = west,@west пользователь и группа только на чтение
valid users = vital,west корректные пользователи
admin users = vital, root пользователи администрирования папки
path = /local/ftp/ путь к паки
write list = vital,@wheel,@vital пользователь и группа на чтение/запись
_________________
Не видимая директория для работы пользователя vital:
_________________
[vital]
comment = files for vital
path = /local/vital/
writeable = yes
valid users = vital
admin users = vital
write list = vital, @wheel, @vital
browseable = No
_________________
Можно сопоставлять нескольких пользователей windows с одним пользователем Nix, что позволит дать группам win те же права, что и у конкретного пользователя nix'ов.
Создаётся: smbusers.map и внего прописываются данные.

За комментированный log file = ... , то логи будут указанны в одном файле: log.smb
max log size = 50 размер журнала в 50 кбайт

public = yes или guest ok = yes разрешения гостевого входа.

/usr/local/etc/rc.d/samba restart перезагрузка samba в freebsd
smbd -V версия самбы
winbindd -V версия winbind

winbind интеграция samba в домены windows. Сервис синхронизирует список пользователей и групп PDC с машиной Samba.
testparm - проверяет параметры файла smb.conf
______________________
Установка задания на выполнение через CRON:
Необходимо было синхронизировать время.
Создал скрипт /clock.sh:
#!/bin/sh
ntpdate 194.186.254.22 195.2.64.5
Сделал его выполняемым:
chmod +x clean
Зарегистрировался в системе под своим пользователем и создал задание, через:
crontab -e
Открылся vi редактор и в нем внес
#sync time
30 23 * * * /clock.sh
Желательно создать еще 3-ю пустую строку.
Сохранил, ESC+ZZ
Т.е. каждый день в 23:30 будет выполняться скрипт clock.sh
Данное задание находится: /var/cron/tab в файле по имени пользователя.
crontab -l вывод запланированных заданий.
В /var/log/cron лог выполнения задания cron'а
_____________________
Проброс порта из вне во внутреннюю сеть:

Самый простой способ и 100% рабочий, установить rinetd из портов:

Код:
# cd /usr/ports/net/rinetd && make install clean
# echo ‘rinetd_enable=”YES”‘ >> /etc/rc.conf
# ee /usr/local/etc/rinetd.conf

Код:
1.2.3.4 10001 192.168.1.1 10001

1.2.3.4 - Ваш внешний IP-адрес.
10001 - Ваш внешний порт.
192.168.1.1 - компьютер внутри локальной сети.
10001 - порт компьютера внутри локальной сети.

Код:
# /usr/local/etc/rc.d/rinetd start

Проверяем запущенный демон: sockstat | grep rinetd

______________________
Администрирование через WEBMIN

Webmin - это программный комплекс, который позволяет администрировать unix-подобную операционную систему, не работая с командной строке и не запоминая ни одной команды. Все управление сервером происходит через веб-интерфейс. Используя любой браузер, администратор сервера может заводить новые аккаунты, почтовые ящики, изменять настройки веб-сервера Apache, исправлять и дополнять записи DNS, настраивать сайты, почтовые ящики и т.д.

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

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

Работать с Webmin достаточно просто - нужно запустить браузер, набирать http://имя_домена.com:10000/ и попасть на страницу администрирования.

#whereis webmin
#cd /usr/ports/sysutils/webmin
#make install

#/usr/local/lib/webmin/setup.sh - скрипт запуск настройки

в /etc/rc.conf добавить webmin_enable="YES"
default port:10000

____________________

SAMS (SQUID Account Management System)

SAMS представляет собой программное средство для администрирования доступа пользователей к прокси-серверу SQUID.
SAMS это не биллиноговая система!

Возможности системы:

  • Администрирование системы через web интерфейс
  • Ограничение объема трафика пользователей на месяц
  • Автоматическое отключение пользователей, превысивших лимит
  • Блокировка доступа пользователей к запрещенным ресурсам интернет
  • Настройка доступа пользователей через механизм шаблонов
  • Разбиение пользователей на группы для удобства администрирования системы
  • Ведение статистики посещенных пользователями ресурсов интернет
  • Формирование отчетов по трафику пользователей за любой отрезок времени
  • Поддержка видов авторизации SQUID: ntlm, ncsa, ip
  • Поддержка использования редиректоров SQUID: rejik, squidGuard
  • Ограничение скорости закачки для групп пользователей
  • Посылку сообщений администратору при отключении пользователей при превышении трафика
  • Для хранения данных используется СУБД MySQL

четверг, 21 августа 2008 г.

Программы, которыми я пользуюсь

./misc/mc-4.6.1.6 - Midnight commander, файловый менеджер.
./www/lynx-2.8.7d7 - браузер из под командного интерпретатора.
./ports-mgmt/portsnap - программа по обновлению портов.
[ /etc/portsnap.conf - конфигурационный файл.
portsnap fetch - загружает обновление.
portsnap extract - устанавливает дерево портов
portsnap fetch update - обновление
]
./ports-mgmt/portupgrade - программа по обновлению портов в системе
[pkg_add -r portupgrade - находит на серверах и устанавливает автоматом
portupgrade -arR - обновит все устаревшие порты
]
Webmin - программа для администрирование *nix, через web-интерфейс.
iftop - сниффер
rdesktop 85.235.185.90 -u admin-rmp -p 11111 -g 1024x768 -a 8 Удаленный рабочий стол с введенным user и pass, расширением 1024 на 768 и 8 бит цветности.

понедельник, 18 августа 2008 г.

Сетевые настройки Nix'ов

ifconfig_lnc0="inet 192.168.7.77 netmask 255.255.255.0" - установка ip и маски для сетевой карты lnc0, после рестарта приходится заново установки вносить, поэтому необходимо настроить в etc/rc.conf , т.е. внести строчку ifconfig_lnc0="inet 192.168.7.77 netmask 255.255.255.0"
DNS client настраивается в - /etc/resolv.conf
Добавление роутер по умолчанию:
route add default 192.168.1.100 потом проверить путь по умолчанию с помощью команды netstat -rn (
route delete default - удаление)
hostname - показывает имя хоста
hostname pc.domen.lan - устанавливает доменное имя

Все эти параметры можно изменить в редактированием файла: /etc/rc.conf
Так же можно настроить через sysinstall
ifconfig lnc0 192.168.7.77 netmask 255.255.255.0 alias добавление 2-го ip адреса.
Все про ping
Настройка ssh соеденения или Openssh

Для соеденения по ssh c windows можно использовать: PuTTY
________________________________
SSH:
B /etc/rc.conf добавить sshd_enable="YES", для запуска демона sshd нужно зарестартить ПК или
/etc/rc.d/sshd start
Для ограничение пользователей для подключение по ssh в /etc/ssh/shhd_config
добавить
AllowUsers admin@192.168.1.2 vital - добавляет 2-х пользователей, а для admin с машины 192.168.1.2
Для изменения порта:
Port 1984 - устанавливает порт соединения 1984(не забыть его потом расшарить на файрволе:)
После внесения изменений нужно перезагрузить:
/etc/rc.d/sshd reload
(freebsd)
/etc/init.d/sshd reload (linux)

Для подключения к ssh серверу по др-у порту:
ssh admin@192.168.7.1 -p 9999 Подключение по порту 9999 .
Что бы узнать версию ssh, нужно:
ssh 192.168.7.1 22
Будет выведена информация и версия ssh
_________________________________
sockstat выводит все активные соединения к сетевому интерфейсу
tcpdump — утилита, позволяющая захватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.