Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
ipfw add deny ip from 172.29.1.19 to 172.29.1.1
Password: ********
pixfirewall# configure terminal
Так как если в список доступа просто добавить запись, то она будет поставлена в конец, а в нашем случае это запрещающая запись, то соответственно ее добавление будет бессмысленно и не приведет к желаемому результату. Поэтому нам необходимо сначала убрать старый список доступа, а потом уже прописать новый. Естественно, что кроме наших записей, запрещающих трафик с определенных узлов там должны быть еще другие записи, обеспечивающие нормальный доступ к ресурсам сети.
В нашем случае необходимо лишь заблокировать трафик с конкретного хоста (2.2.2.2). Запись, которая осуществляет данные действия, мы разместим в начале нашего нового ACL. Реализовать все эти действия можно следующим образом:
pixfirewall(config)# no access-list 110
pixfirewall(config)# access-list 110 deny ip host 2.2.2.2 host 1.1.1.254
pixfirewall(config)# access-list 110 permit ip 172.16.0.0 0.0.255.255 1.1.1.0 0.0.0.255
…
pixfirewall(config)# end
Не забудьте, что по умолчанию действует неявный запрет, то есть все то, что не разрешено, будет запрещено.
Изменения в конфигурацию внесены, остается только сохранить их и отключиться.
pixfirewall# write mem
pixfirewall# logout
Такие действия нужны для того, чтобы закрыть атакующему доступ к ресурсам нашей сети.
Теперь можно приступать к написанию сценария, реализующего эти действия на практике. Так как исходный текст сценария подвергается существенным изменениям, приведем его полностью.
use Net::Telnet ();
use Mail::Sendmail;
#!/usr/bin/perl -w
use Mail::Sendmail;
# максимально разрешенное число попыток
$max=10;
# файл журнала, с которым мы и работаем
$watchfile= '/var/log/messages';
# открываем лог на чтение
open(LFILE, "<$watchfile");
# количество попыток для IP
%tries=();