Страница 1 из 1

security

Добавлено: 2007-01-14 15:01:17
sevalex77
Настроил по статье лиса скрипт http://www.lissyara.su/?id=1069 но он почему то не отрабатывает. Пишет /usr/local/script/block_host : Permission denied.

Добавлено: 2007-01-14 15:04:53
zorg
ну так наверное че нить с правами??? :wink:

Добавлено: 2007-01-14 15:08:31
sevalex77
Да это понятно что с правами но вот где? Скрипт запускается через crontab roota.

Добавлено: 2007-01-14 15:26:40
Alex Keda
chmod 700?

Добавлено: 2007-01-14 15:32:44
sevalex77
все спасибо работает.

Добавлено: 2007-01-14 17:43:23
Гость
Подскажите где ошибка ткните носом не могу найти пишет "17: unexpected operator"

Код: Выделить всё

#!/bin/sh
if [ `date +%H` -eg 02 ]
then
/sbin/ipfw delete 1 >/dev/null 2>&1
fi
day=`date +%d`
month=`date +%m`
year=`date +%Y`
log_dir="/var/old_log/${year}/${month}"
mkdir -p ${log_dir}
log_file="${log_dir}/${day}_auth_log"

cat /var/log/auth.log > /tmp/auth.log
cat /dev/null > /var/log/auth.log
cat /tmp/auth.log >> ${log_file}

cat /tmp/auth.log | grep illegal | awk '{print $10}' | sort | uniq -c | sort |
{
while read count_IP
do
count_deny=`echo ${count_IP} | awk '{print $1}'`
IP=`echo ${count_IP} | awk '{print $2}'`
if [ ${count_deny} -ge 10 ]
then

/sbin/ipfw add 1 deny ip from ${IP} to me > /dev/null 2>&1
fi
done
}
cat /tmp/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort |
{
while read count_IP
do
count_deny=`echo ${count_IP} | awk '{print $1}'`
IP=`echo ${count_IP} | awk '{print $2}'`
if [ ${count_deny} -ge 5 ]
then
/sbin/ipfw add 1 deny ip from ${IP} to me >/dev/null 2>&1
fi
done
}

Добавлено: 2007-01-14 19:05:53
Alex Keda
он ещё и в какой строке пишет...
сделай первцую строку

Код: Выделить всё

#!/bin/sh -xv
запусти руками и вывод - сюда

Добавлено: 2007-01-14 19:21:43
zorg
если сравнить со скриптом лиса, то бросилось в глаза тока (правда не знаю на скока это критично! :) ):
cat /tmp/auth.log | grep illegal | awk '{print $10}' | sort | uniq -c | sort |

в это строке у Лиса написано illegal c "I" :?

Добавлено: 2007-01-15 9:24:13
sevalex77
Вывод

Код: Выделить всё

block-host: Can't open block-host: No such file or directory
После запуска из крона каждые 10 минут выдает следуещее начиная с
[: 17:unexpected operator и дальше в порядке убывания [: 16:unexpected operator и так далее [: 15:unexpected operator

Добавлено: 2007-01-15 9:25:48
sevalex77
Вот вывод

Код: Выделить всё

#!/bin/sh -xv

if [ `date +%H` -eg 02 ]
then
/sbin/ipfw delete 1 >/dev/null 2>&1
fi
+ date +%H
+ [ 09 -eg 02 ]
[: 09: unexpected operator
day=`date +%d`
+ date +%d
+ day=15
month=`date +%m`
+ date +%m
+ month=01
year=`date +%Y`
+ date +%Y
+ year=2007
log_dir="/var/old_log/${year}/${month}"
+ log_dir=/var/old_log/2007/01
mkdir -p ${log_dir}
+ mkdir -p /var/old_log/2007/01
log_file="${log_dir}/${day}_auth_log"
+ log_file=/var/old_log/2007/01/15_auth_log

cat /var/log/auth.log > /tmp/auth.log
+ cat /var/log/auth.log
cat /dev/null > /var/log/auth.log
+ cat /dev/null
cat /tmp/auth.log >> ${log_file}
+ cat /tmp/auth.log

cat /tmp/auth.log | grep illegal | awk '{print $10}' | sort | uniq -c | sort |
{
while read count_IP
do
count_deny=`echo ${count_IP} | awk '{print $1}'`
IP=`echo ${count_IP} | awk '{print $2}'`
if [ ${count_deny} -ge 10 ]
then

/sbin/ipfw add 1 deny ip from ${IP} to me > /dev/null 2>&1
fi 
done
}
+ cat+ grep+ awk+ sort+ uniq+ sort /tmp/auth.log illegal {print $10}
 -c




+ read count_IP
cat /tmp/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort |
{
while read count_IP
do
count_deny=`echo ${count_IP} | awk '{print $1}'`
IP=`echo ${count_IP} | awk '{print $2}'`
if [ ${count_deny} -ge 5 ]
then
/sbin/ipfw add 1 deny ip from ${IP} to me >/dev/null 2>&1
fi
done
}+ cat+ grep+ awk+ sort+ uniq+ sort+ read /tmp/auth.log Failed password {print $11}
 -c
 count_IP


Добавлено: 2007-01-15 9:32:36
Alex Keda

Код: Выделить всё

+ [ 09 -eg 02 ] 
курим над этой строкой, ищем отличия от оригинала...

Добавлено: 2007-01-15 9:45:19
sevalex77
место q написал g. :) . Спасибо, Лис

Добавлено: 2007-01-15 9:59:17
sevalex77
попробовал залогинится под несуществующим именем по ssh с локального адреса, но почему правило запрещающее в firewall не добавилось :( .

Добавлено: 2007-01-15 16:07:38
Alex Keda
там не один раз. несколько.
и вообще, почитай, подумай, логику скрипта пойми...
=========
У тебя sshd может иначе ругаться. Зависит от версии...

Добавлено: 2007-01-15 18:31:14
sevalex77
ок. Спасибо, попробую.