Конфигурация apt
Кроме основного файла sources.list создаём:
vi /etc/apt/sources.list.d/security.list:
deb http://security.debian.org/debian-security/ etch/updates main contrib non-free
vi /etc/apt/sources.list.d/volatile.list:
deb http://volatile.debian.org/debian-volatile/ etch main contrib non-free
Автоматические обновления с помощью cron-apt
устанавливаем пакет:
apt-get -y install cron-apt
создаём файлы конфигурации
vi /etc/cron-apt/action.d/4-security:
upgrade -y -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list
vi /etc/cron-apt/action.d/5-volatile:
upgrade -y -o Dir::Etc::SourceList=/etc/apt/sources.list.d/volatile.list
volatile — это репозитарий, который позволяет обновлять те пакеты из текущей стабильной версии, которые требуют регулярного обновления. Нужен он для того, чтобы не вносить в стабильный репозитарий пакеты, не прошедшие стандартный путь через ветку testing.
Экономим трафик с apt-proxy
apt-proxy — це демон написаний на python, кеширует и сохраняет на локальной машине загруженные пакеты
установка пакета:
apt-get install apt-proxy
на 9999 порту висит демон apt-proxy, готовый раздавать обновления
по умолчанию загруженные пакеты лежат в папке /var/cache/apt-proxy
конфигурационный файл - /etc/apt-proxy/apt-proxy-v2.conf
на машинах, обновляющихся с прокси в файле /etc/apt/sources.list добавляем следующую строку
http://$APT_PROXY_MACHINE:9999/debian
Очистка Debian
Пакет deborphan удаляет всевозможные библиотеки, которые система не использует или которые остались как зависимости от удалённых пакетов.
Установка
apt-get install deborphan
Посмотреть список пакетов, которые утилита считает лишними
deborphan --guess-all
Выбрать из них те, что действительно не нужны и удалить их с помощью команды apt-get remove <имя_пакета>.
После этого повторно вызвать deborphan и посмотреть не появилось ли новых ненужных пакетов. Если появились - в случае действительно "ненужности" - удалить их.
Можно удалить всё одним махом:
apt-get remove `deborphan --guess-all`
Очистка от пакетов .deb которые больше не используются.
sudo apt-get autoclean
Удаляет неудалённые зависимости от уже удалённых пакетов
sudo apt-get autoremove
Man-страницы на других языках можно удалить следующим образом:
cd /usr/share/man
ls ./ | egrep -v ^man | egrep -v ^ru | xargs rm -Rvf
Установка
apt-get install deborphan
Посмотреть список пакетов, которые утилита считает лишними
deborphan --guess-all
Выбрать из них те, что действительно не нужны и удалить их с помощью команды apt-get remove <имя_пакета>.
После этого повторно вызвать deborphan и посмотреть не появилось ли новых ненужных пакетов. Если появились - в случае действительно "ненужности" - удалить их.
Можно удалить всё одним махом:
apt-get remove `deborphan --guess-all`
Очистка от пакетов .deb которые больше не используются.
sudo apt-get autoclean
Удаляет неудалённые зависимости от уже удалённых пакетов
sudo apt-get autoremove
Man-страницы на других языках можно удалить следующим образом:
cd /usr/share/man
ls ./ | egrep -v ^man | egrep -v ^ru | xargs rm -Rvf
Брутфорс архивов в Linux
вторник, 3 февраля 2009 г.
Автор:
farmazon
на
23:20
Ярлыки:
archive,
brute-force,
crack,
Linux,
password,
security
Устанавливаем необходимые пакеты для работы RarCrack.
apt-get install libxml2-dev build-essential
Последнюю версию RarCrack загружаем здесь.
wget http://surfnet.dl.sourceforge.net/sourceforge/rarcrack/rarcrack-0.2.tar.bz2
Распаковываем пакет и готовим его для дальнейшей установке.
tar -xjf rarcrack-0.2.tar.bz2
cd rarcrack-0.2
make
make install
На этом процесс установки завершён и вы можете приступить к использованию RarCrack. Это будет выглядеть следующим образом:
rarcrack ваш_архив.rar
Параметр --threads позволяет определить количество потоков перебора (максимум - 12, по умолчанию - 2).
Время работы программы напрямую зависит от длины и сложности пароля.
Параметры работы находятся в xml-файле ваш_архив.rar.xml
Ещё одна программка для взлома архивов fcrackzip.
Устанавливаем программу:
apt-get install fcrackzip
В каталоге с архивом запускаем
fcrackzip file_name.zip --brute-force
apt-get install libxml2-dev build-essential
Последнюю версию RarCrack загружаем здесь.
wget http://surfnet.dl.sourceforge.net/sourceforge/rarcrack/rarcrack-0.2.tar.bz2
Распаковываем пакет и готовим его для дальнейшей установке.
tar -xjf rarcrack-0.2.tar.bz2
cd rarcrack-0.2
make
make install
На этом процесс установки завершён и вы можете приступить к использованию RarCrack. Это будет выглядеть следующим образом:
rarcrack ваш_архив.rar
Параметр --threads позволяет определить количество потоков перебора (максимум - 12, по умолчанию - 2).
Время работы программы напрямую зависит от длины и сложности пароля.
Параметры работы находятся в xml-файле ваш_архив.rar.xml
Ещё одна программка для взлома архивов fcrackzip.
Устанавливаем программу:
apt-get install fcrackzip
В каталоге с архивом запускаем
fcrackzip file_name.zip --brute-force
cron & crontab
Пример cron-файла
#minute hour mday month wday who command
*/5 * * * * root /usr/bin/who >> /var/log/who.log
Поле Допустимое значение
Минуты (minute) 0-59
Час (hour) 0-23
День месяца (dayofmonth) 1-31
Месяц (month) 1-12 или первые три буквы английского
названия месяца (регистр не учитывается)
День недели (dayofweek) 0-7 (где 0 и 7 это воскресенье) или первые
три буквы английского названия дня в неделе (регистр не учитывается)
Строка Что это значит
@reboot Запускать при начальной загрузке
@yearly Заменяет "0 0 1 1 *" т.е. «ежегодно в 00:00 1 января»
@annually Тоже что и yearly
@monthly Заменяет "0 0 1 * *" т.е. «ежемесячно в 00:00 1 числа»
@weekly Заменяет "0 0 * * 0" т.е. «еженедельно в 00:00 воскресенье»
@daily Заменяет "0 0 * * *" т.е. «ежедневно в 00:00»
@midnight Тоже что и daily
@hourly Заменяет "0 * * * *" т.е. «ежечасно в 00 минут»
crontab - создание пользовательских списков запланированных заданий
crontab -e редактирование пользовательского cron-файла
crontab -l просмотр пользовательского cron-файла
crontab -r удаление пользовательского cron-файла
root может управлять файлами пользователей
crontab -u user {-e | -l | -r }
#minute hour mday month wday who command
*/5 * * * * root /usr/bin/who >> /var/log/who.log
Поле Допустимое значение
Минуты (minute) 0-59
Час (hour) 0-23
День месяца (dayofmonth) 1-31
Месяц (month) 1-12 или первые три буквы английского
названия месяца (регистр не учитывается)
День недели (dayofweek) 0-7 (где 0 и 7 это воскресенье) или первые
три буквы английского названия дня в неделе (регистр не учитывается)
Строка Что это значит
@reboot Запускать при начальной загрузке
@yearly Заменяет "0 0 1 1 *" т.е. «ежегодно в 00:00 1 января»
@annually Тоже что и yearly
@monthly Заменяет "0 0 1 * *" т.е. «ежемесячно в 00:00 1 числа»
@weekly Заменяет "0 0 * * 0" т.е. «еженедельно в 00:00 воскресенье»
@daily Заменяет "0 0 * * *" т.е. «ежедневно в 00:00»
@midnight Тоже что и daily
@hourly Заменяет "0 * * * *" т.е. «ежечасно в 00 минут»
crontab - создание пользовательских списков запланированных заданий
crontab -e редактирование пользовательского cron-файла
crontab -l просмотр пользовательского cron-файла
crontab -r удаление пользовательского cron-файла
root может управлять файлами пользователей
crontab -u user {-e | -l | -r }
Отслеживание изменений файлов в Linux
#install package
apt-get -y install tripwire
#generate keys
twadmin --generate-keys --local-keyfile /etc/tripwire/$(HOSTNAME)-local.key
twadmin --generate-keys --site-keyfile /etc/tripwire/site.key
#create config and policy file
twadmin --create-cfgfile -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
twadmin --create-polfile -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
# init database
tripwire --init
#check
tripwire --check --quiet --email-report >/var/log/tripware.log
tripwire --check --quiet --email-report --email-report-level 1 >/var/log/tripware.log
# backup and remove *.txt config file !!!
# edit cron file for email report
vi /etc/cron.d/tripware
>30 3 * * 1-6 root test -x /usr/sbin/tripwire && /usr/sbin/tripwire --check --quiet --email-report --email-report-level 1 >/var/log/tripware.log
>30 3 * * 0 root test -x /usr/sbin/tripwire && /usr/sbin/tripwire --check --quiet --email-report --email-report-level 4 >/var/log/tripware.log
#
rm -f /etc/cron.daily/tripwire
# update policy
tripware --update-policy --secure-mode low /etc/tripwire/twpol.txt
apt-get -y install tripwire
#generate keys
twadmin --generate-keys --local-keyfile /etc/tripwire/$(HOSTNAME)-local.key
twadmin --generate-keys --site-keyfile /etc/tripwire/site.key
#create config and policy file
twadmin --create-cfgfile -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
twadmin --create-polfile -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
# init database
tripwire --init
#check
tripwire --check --quiet --email-report >/var/log/tripware.log
tripwire --check --quiet --email-report --email-report-level 1 >/var/log/tripware.log
# backup and remove *.txt config file !!!
# edit cron file for email report
vi /etc/cron.d/tripware
>30 3 * * 1-6 root test -x /usr/sbin/tripwire && /usr/sbin/tripwire --check --quiet --email-report --email-report-level 1 >/var/log/tripware.log
>30 3 * * 0 root test -x /usr/sbin/tripwire && /usr/sbin/tripwire --check --quiet --email-report --email-report-level 4 >/var/log/tripware.log
#
rm -f /etc/cron.daily/tripwire
# update policy
tripware --update-policy --secure-mode low /etc/tripwire/twpol.txt
ротация логов Linux
пример файла настроек (etc/logrotate.conf).
"/www/logs/access.log"
{
rotate 10 # кол-во хранимых сжатых фрагментов
size=16M # максимальный размер несжатого файла; пока размер текущего
# файла журнала не превысит данный порог, файл не будет "ротирован"
missingok # отсутствие файла не является ошибкой
nocopytruncate # не сбрасывать файл журнала после копирования
nocreate # не создавать пустой журнал
nodelaycompress # не откладывать сжатие файла на следующий цикл
nomail # не отправлять содержимое удаляемых (старых) журналов по почте
notifempty # не обрабатывать пустые файлы
noolddir # держать все файлы в одном и том же каталоге
compress # сжимать
postrotate
/usr/bin/killall -HUP httpd
endscript # Между postrotate и endscript расположены команды
# интерпретатора sh(1), исполняемые непосредственно после ротации.
# В данном примере сюда помещена команда kill, перезапускающая
# httpd-сервер. Это необходимо для нормальной процедуры
}
"/www/logs/errors.log"
{
rotate 4 # кол-во хранимых сжатых фрагментов
weekly # игнорировать размер файла; производить ротацию регулярно, раз в неделю
missingok
nocopytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Как можно увидеть из примеров, существует два подхода: обычная
(регулярная) ротация и ротация по достижению предельного размера
файла.
access.log
Для журнала access.log в примере выбран второй подход, по
достижению файлом размера 16 мегабайт. Если утилита
обнаруживает данный факт, ротация происходит. Всего система
хранит 10 архивных фрагментов. Самый старый удаляется.
errors.log
Журнал диагностики errors.log ротируется регулярно, раз в
неделю. Система хранит 4 архивных фрагмента (за месяц), самый
старый удаляется.
Расчет объема файлов
Для оптимальной ротации журналов нужно правильно рассчитать
параметры: какой предел выставить и сколько архивных файлов
хранить. Эта задача решается следующим образом.
Для начала следует принять коэффициент сжатия K = 10 (журналы
сжимаются хорошо). Также нужно определить максимальный объем
пространства, занимаемый журналом S. Примем число фрагментов равным
N = 10. Нужно найти предельный размер (порог) ротации L.
Рассчитаем суммарный объем, занимаемый журналом и частями его
архива:
N * L / K + L = 10 * L / 10 + L = 2 * L = S;
L = S/2
Мы заключили, что суммарный занимаемый объем равен двойному порогу
ротации. Если мы хотим отвести на журнал четверть дисковой квоты Q,
то L = Q/8.
Замечания
1. В устойчивом состоянии общий размер файлов будет колебаться между
величинами L и 2*L. Нижний предел соответствует состоянию после
ротации, верхний - непосредственно перед ротацией.
2. Расчет произведен условно. Предполагается, что ротация происходит
примерно в том же время, что и достижение размера текущего файла
порогового значения.
3. Желательно иметь запас дискового пространства для хранения
временных файлов.
"/www/logs/access.log"
{
rotate 10 # кол-во хранимых сжатых фрагментов
size=16M # максимальный размер несжатого файла; пока размер текущего
# файла журнала не превысит данный порог, файл не будет "ротирован"
missingok # отсутствие файла не является ошибкой
nocopytruncate # не сбрасывать файл журнала после копирования
nocreate # не создавать пустой журнал
nodelaycompress # не откладывать сжатие файла на следующий цикл
nomail # не отправлять содержимое удаляемых (старых) журналов по почте
notifempty # не обрабатывать пустые файлы
noolddir # держать все файлы в одном и том же каталоге
compress # сжимать
postrotate
/usr/bin/killall -HUP httpd
endscript # Между postrotate и endscript расположены команды
# интерпретатора sh(1), исполняемые непосредственно после ротации.
# В данном примере сюда помещена команда kill, перезапускающая
# httpd-сервер. Это необходимо для нормальной процедуры
}
"/www/logs/errors.log"
{
rotate 4 # кол-во хранимых сжатых фрагментов
weekly # игнорировать размер файла; производить ротацию регулярно, раз в неделю
missingok
nocopytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Как можно увидеть из примеров, существует два подхода: обычная
(регулярная) ротация и ротация по достижению предельного размера
файла.
access.log
Для журнала access.log в примере выбран второй подход, по
достижению файлом размера 16 мегабайт. Если утилита
обнаруживает данный факт, ротация происходит. Всего система
хранит 10 архивных фрагментов. Самый старый удаляется.
errors.log
Журнал диагностики errors.log ротируется регулярно, раз в
неделю. Система хранит 4 архивных фрагмента (за месяц), самый
старый удаляется.
Расчет объема файлов
Для оптимальной ротации журналов нужно правильно рассчитать
параметры: какой предел выставить и сколько архивных файлов
хранить. Эта задача решается следующим образом.
Для начала следует принять коэффициент сжатия K = 10 (журналы
сжимаются хорошо). Также нужно определить максимальный объем
пространства, занимаемый журналом S. Примем число фрагментов равным
N = 10. Нужно найти предельный размер (порог) ротации L.
Рассчитаем суммарный объем, занимаемый журналом и частями его
архива:
N * L / K + L = 10 * L / 10 + L = 2 * L = S;
L = S/2
Мы заключили, что суммарный занимаемый объем равен двойному порогу
ротации. Если мы хотим отвести на журнал четверть дисковой квоты Q,
то L = Q/8.
Замечания
1. В устойчивом состоянии общий размер файлов будет колебаться между
величинами L и 2*L. Нижний предел соответствует состоянию после
ротации, верхний - непосредственно перед ротацией.
2. Расчет произведен условно. Предполагается, что ротация происходит
примерно в том же время, что и достижение размера текущего файла
порогового значения.
3. Желательно иметь запас дискового пространства для хранения
временных файлов.
Синхронизация времени в Linux
# setup ntp client
apt-get -y install ntp ntpdate
# setup ntp-server
apt-get -y install ntp-server
# config high ntp server
vi /etc/ntp.conf
>server ntp.server prefer # prefered server
>server ntp1.server
# only my client can connect to server but not change
>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# my ntp-server ignore all computer
>restrict default ignore
#stop server
/etc/init.d/ntp stop
# check server time
ntpdate ntp.server
# set seerver time to local
ntpdate -bs ntp.server
#start server
/etc/init.d/ntp start
# list current ntp server
ntpq -p
ntpdc -p
# set local time to hardware clock
hwclock --systohc
apt-get -y install ntp ntpdate
# setup ntp-server
apt-get -y install ntp-server
# config high ntp server
vi /etc/ntp.conf
>server ntp.server prefer # prefered server
>server ntp1.server
# only my client can connect to server but not change
>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# my ntp-server ignore all computer
>restrict default ignore
#stop server
/etc/init.d/ntp stop
# check server time
ntpdate ntp.server
# set seerver time to local
ntpdate -bs ntp.server
#start server
/etc/init.d/ntp start
# list current ntp server
ntpq -p
ntpdc -p
# set local time to hardware clock
hwclock --systohc
Подписаться на:
Сообщения (Atom)