кратко о sudo

пятница, 30 января 2009 г.
Программа для редактирования списка пользователей в sudo - visudo.
Ситаксис записи :
пользователь хост =(фактический пользователь) команда

Примеры:
peter host1.domain.tld=(bind) /usr/sbin/rndc,/usr/sbin/named

Для задания длинного списка команд или пользователей используется команда alias. Алиас может использоваться вместо
 соответствующей записи любой строки конфига:

User_Alias ADMINS=usr1,usr2
User_Alias WEBMASTERS=usr1,usr3

Runas_Alias DAEMONS=bind,www

Host_Alias WEBSERVERS=www.domain.tld,web.domain2.tld

Cmd_Alias PROCS=/bin/kill,/usr/sbin/skill,/usr/bin/top
Cmd_Alias APACHE=/usr/local/apache/bin/apachectl

WEBMASTERS WEBSERVERS=(www) APACHE
ADMINS ALL=(DAEMONS) ALL

Для системных групп разрешения даются так:
%wwwadmin WEBSERVERS=(www) APACHE

Для запуска команд без ввода пароля используется флаг NOPASSWD:
usr ALL=(ALL) NOPASSWD: PROCS

Синхронизация времени Cisco

среда, 28 января 2009 г.
Посмотр состояния
show clock [detail]
show ntp status
show ntp associations [detail]


Установка значений
clock set hh:mm:ss день месяц год

Настройка на синхронизацию с ntp сервером
ntp server ip-address [version номер] [key номер-ключа][source интерфейс] [prefer]

Максимальное число соседей NTP-протокола
ntp max-associations число

Аутентификация NTP:
ntp authenticate - включить
ntp authentication-key number md value - задать значение ключа
ntp trusted-key номер-ключа - знающий этот ключ может синхронизовать нас

Запретить NTP сервис на определенном интерфейсе
ntp disable

Если cisco имеет несколько IP-адресов то можно определить исходный IP-адрес в NTP-пакетах
ntp source интерфейс

Определить cisco как властный источник времени, даже если она не синхронизована с внешним миром
ntp master [слой]

Сливаем логи cisco на syslog-ng

1. Редактируем конфигурационный файл syslog-ng

vi /ets/syslog-ng/syslog-ng.conf

Добавляем в конец файла строки вида: 
# указываем источник откуда будем слушать сессии для приёма логов
# 0.0.0.0 означает слушаем от всех хостов во всех сетях. 

source net { udp(ip(0.0.0.0) port(514)); };
destination df_cisco { file("/var/log/cisco.log"); };


# какие сообщения пишем в логи

filter f_cisco_info { level(info); };
filter f_cisco_notice { level(notice); };
filter f_cisco_warn { level(warn); };
filter f_cisco_crit { level(crit); };
filter f_cisco_err { level(err); };


# формат записи имя хоста, уровень критичности сообщений, куда пишем

log { source(net); filter(f_cisco_info); destination(df_cisco); };
log { source(net); filter(f_cisco_notice); destination(df_cisco); };
log { source(net); filter(f_cisco_warn); destination(df_cisco); };
log { source(net); filter(f_cisco_crit); destination(df_cisco); };
log { source(net); filter(f_cisco_err); destination(df_cisco); };

2. Настройка logrotate

Создаём файл 
vim /etc/logrotate.d/cisco

следующего содержания: 
/var/log/cisco.log { # какой файл ротировать
rotate 7 # сколько резервных копий хранить
missingok
notifempty

weekly # по прошествии какого времени ротировать
compress # сжимать копии
}


3.  Если используем logcheck

echo "/var/log/cisco.log" >> /etc/logcheck/logcheck.logfiles

4. Перегружаем syslog: 

/etc/init.d/syslog-ng restart

5. Настройка Cisco

!
logging facility local1
logging source-interface Vlan2
logging 192.168.0.10
!

Тонкая настройка CISCO

Формат временной отметки задается командой:
service timestamps log datetime | uptime [localtime] [msec] [show-timezone] 

Чтобы в журнал заносилось время события в нормальном формате надо предварительно выполнить команду:
service timestamps log datetime localtime show-timezone 

Накопление журнала в буфере:
logging buffered 

Посмотреть журнал, накопленный в буфере и состояние подсистемы журнализации:
show logging

Уровень серьезности, начиная с которого информация выводится на консоль:
logging console уровень 

Уровень серьезности, начиная с которого информация выводится на монитор (терминальная линия, на которой выдана команда: term monitor):
logging monitor уровень 

Уровень серьезности, начиная с которого информация выводится на внешний syslog-сервер:
logging trap уровень 

Задание метки источника сообщения (facility), которым будут помечены сообщения, посылаемые на внешний syslog-сервер:
logging facility local0 

Задание адреса внешнего сервера syslog (сообщения могут передаваться на несколько внешних серверов):
logging ip-address 

Задание исходного IP-адреса сообщений журнализации (по умолчанию - адрес интерфейса, через который сообщение выходит из маршрутизатора):
logging source-interface type number

Распределение сообщений по уровням серьезности согласно документации: 
* сбои в работе IOS или оборудования - err
* отладочный вывод - warning
* подъем и падение интерфейсов - notice
* нарушения ACL - уровень info
* перезагрузка -info

Распределение сообщений по уровням серьезности на практике: 
* сбои - critical 
* подъем и падение интерфейсов (LINK-3_UPDOWN) - err 
* замечания по конфигурации - warn 
* линейный протокол (LINEPROTO-5-UPDOWN, LINK-5-CHANGED) - notice 
* сообщения о конфигурации (SYS-5-CONFIG_I) - notice 
* нарушения ACL (SEC-6-IPACCESSLOG) - уровень info

отключение ipv6

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

Открываем в редакторе файл /etc/modprobe.d/aliases
mcedit /etc/modprobe.d/aliases
находим строку
alias net-pf-10 ipv6

и заменяем на
# alias net-pf-10 ipv6
alias net-pf-10 off

На всякий случай дописываем в blacklist
echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist

И пересобираем образ initrd, для того, чтобы обновить в нём информацию blacklist модулях для udev.
update-initramfs -u

Проверка условий в скриптах

понедельник, 26 января 2009 г.
права доступа к файлу
test условие "файл"
[ условие "файл"]


-d Каталог
-f Обычный файл
-L Символическая ссылка
-r Файл для чтения
-s Файл существует и имеет ненулевой размер
-w Файл для записей
-e Файл существует
-u Файл имеет установленный бит suid
-x Исполняемый файл



Проверка строк
test "строка"
test оператор "строка"
test "строка" оператор "строка"
[оператор "строка"]
["строка" оператор "строка"]


= Две строки равны
! = Две строки не равны
-z Строка нулевая
-n Строка не нулевая

Проверка чисел
"число" оператор "число"
["число" оператор "число"]


-eq Два числа равны
-ne Два числа не равны
-gt Первое число больше второго
-lt Первое число меньше второго
-le Первое число меньше или равно второму
-ge Первое число больше либо равно второго

Установка mysql

Установка пакетов

#apt-get -y install mysql-server mysql-client

установка пароля пользователя root

#mysqladmin -u root password пароль

подключение к базе

>mysql -u root -p

>use mysql;

>show tables;

>quit;

по умолчанию mysql обрабатывает только локальные подключения

#cat /etc/mysql/my.cnf | grep bind-address

проверяем, прослушивается ли 3306/tcp 

#netstat -ant | grep 3306

Из соображений безопасности можно отключить использовать локальный сокет mysql.sock -добавляем директиву "skip-networking" в секцию [mysqld] и перезапускаем сервер

#/etc/init.d/mysql restart

Вместо вступления

пятница, 23 января 2009 г.
Рано или поздно все приходят к необходимости систематизировать свои знания. Вот и мое время настало. В меру сил и возможностей буду вести журнал рабочих заметок. Возможно кому-то что-то пригодится. Спасибо за внимание :-) и до скорых встреч.