Внешний доступ (паранойя)
Модератор: immortal
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Внешний доступ (паранойя)
Решил набросать скрипт, следящий за логами веб-сервера apache2, и выводящий IP-адреса внешних подключений (и, по возможности, их хост) в боковое меню. В результате за 2 дня набралась вот такая картина:
От чего у меня началась паранойя. Я не особо силён в web-технологиях, но что это за левые подключения? И вообще, насколько надёжен доступ по паролю из config.php? Внешний доступ мне нужен, чтобы заходить в систему с работы, или со смартфона, но как-то не особо хочется светить свой умный дом кому попалоRe: Внешний доступ (паранойя)
Все это хосты скорочее это просто сканеры, которые просто перебирают все подряд IP для определения живучести хоста, а возможно и для последующего взлом.
У меня было что в день с сотен разных адресов подключались и перебирали все распространённые ссылки /admin.php /administrator.php и прочее,у меня сервер один раз упал от такова трафика ( пока я был в командировки ). После настроек iptablesb и apache и чудной программки для блокировки ( название уже забыл ) , за сутки более 200 IP адресов были заблокированы и всё стало хорошо.Так что не переживайте особо
это нормально
У меня было что в день с сотен разных адресов подключались и перебирали все распространённые ссылки /admin.php /administrator.php и прочее,у меня сервер один раз упал от такова трафика ( пока я был в командировки ). После настроек iptablesb и apache и чудной программки для блокировки ( название уже забыл ) , за сутки более 200 IP адресов были заблокированы и всё стало хорошо.Так что не переживайте особо

-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: Внешний доступ (паранойя)
Добрый день .
посмотрел ваш скрипт
//проверка входящих ip-адресов
$ipaddr = shell_exec("awk '{ print $1 } ' /var/log/apache2/iponly.log | sort | uniq | grep -v 127.0.0.1");
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.1.10/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
Глянул /var/log/apache2/ у себя на серваке и iponly.log нет у меня в ней .
Вопрос лог этот пишет прога ? как ее название ?
посмотрел ваш скрипт
//проверка входящих ip-адресов
$ipaddr = shell_exec("awk '{ print $1 } ' /var/log/apache2/iponly.log | sort | uniq | grep -v 127.0.0.1");
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.1.10/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
Глянул /var/log/apache2/ у себя на серваке и iponly.log нет у меня в ней .
Вопрос лог этот пишет прога ? как ее название ?
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Внешний доступ (паранойя)
Надо настроить логи апаче2, чтобы входящие IP-адреса складывались в отдельный лог-файл.
sudo nano /etc/apache2/apache2.conf
Ищем там где прописаны несколько строчек, начинающихся на LogFormat....
Добавляем ниже ещё одну:
LogFormat "%h %t" iponly
сохранить, закрыть. Потом открываем
sudo nano /etc/apache2/sites-available/default
Проматываем в самый конец, и ПЕРЕД последней строчкой (которая </VirtualHost>) пишем:
CustomLog ${APACHE_LOG_DIR}/iponly.log iponly
сохранить, закрыть, перезапустить apache2
sudo nano /etc/apache2/apache2.conf
Ищем там где прописаны несколько строчек, начинающихся на LogFormat....
Добавляем ниже ещё одну:
LogFormat "%h %t" iponly
сохранить, закрыть. Потом открываем
sudo nano /etc/apache2/sites-available/default
Проматываем в самый конец, и ПЕРЕД последней строчкой (которая </VirtualHost>) пишем:
CustomLog ${APACHE_LOG_DIR}/iponly.log iponly
сохранить, закрыть, перезапустить apache2
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: Внешний доступ (паранойя)
Спасибо лог писать начало .
Если у меня айпи Сервера 192.168.2.164 то скрипт так должен выглядеть ?
//проверка входящих ip-адресов
$ipaddr = shell_exec("awk '{ print $1 } ' /var/log/apache2/iponly.log | sort | uniq | grep -v 127.0.0.1");
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.2.164/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(192.168.2.0.24)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
Если у меня айпи Сервера 192.168.2.164 то скрипт так должен выглядеть ?
//проверка входящих ip-адресов
$ipaddr = shell_exec("awk '{ print $1 } ' /var/log/apache2/iponly.log | sort | uniq | grep -v 127.0.0.1");
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.2.164/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(192.168.2.0.24)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Внешний доступ (паранойя)
Строки:
} else if (preg_match("/192.168.1.10/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
нужны просто чтобы подчеркнуть зелёным цветом адреса из домашней сети. В этом скрипте менять ничего не нужно, работать будет и так. Только заменить "192.168.1.10" на "192.168.2.1" в вашем случае
} else if (preg_match("/192.168.1.10/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
нужны просто чтобы подчеркнуть зелёным цветом адреса из домашней сети. В этом скрипте менять ничего не нужно, работать будет и так. Только заменить "192.168.1.10" на "192.168.2.1" в вашем случае
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: Внешний доступ (паранойя)
$ipaddr = shell_exec("awk '{ print $1 } ' /var/log/apache2/iponly.log | sort | uniq | grep -v 127.0.0.1");
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.2.1/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
так вот изменил .
запустил скрипт .
и ThisComputer.IPaddresses просматриваю а там пусто
$ipanhost="";
$host="";
$pieces = explode("\n", $ipaddr);
foreach ($pieces as $pieceaddr) {
if ($pieceaddr!="") {
$ipanhost.=$pieceaddr;
$host=gethostbyaddr($pieceaddr);
if (!preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $host)) {
$ipanhost.= " <font color=\"yellow\">(" . $host . ")</font><br>";
} else if (preg_match("/192.168.2.1/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";
} else
$ipanhost.="<br>";
}
}
sg('ThisComputer.IPaddresses',$ipanhost);
так вот изменил .
запустил скрипт .
и ThisComputer.IPaddresses просматриваю а там пусто
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Внешний доступ (паранойя)
sudo service apache2 reload
и потом подождать немного, пока наберётся статистика посещений
и потом подождать немного, пока наберётся статистика посещений
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: Внешний доступ (паранойя)
reboot сервера делал
В логе есть айпишки.
Ок поглядим .
Спасибо за помощь
В логе есть айпишки.
Ок поглядим .
Спасибо за помощь
-
- Сообщения: 136
- Зарегистрирован: Вт ноя 12, 2013 8:29 pm
- Благодарил (а): 2 раза
- Поблагодарили: 8 раз
Re: Внешний доступ (паранойя)
192.168.2.29 [10/Dec/2013:09:33:03 +0200]
192.168.2.29 [10/Dec/2013:09:33:07 +0200]
192.168.2.29 [10/Dec/2013:09:33:08 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:13 +0200]
192.168.2.29 [10/Dec/2013:09:33:13 +0200]
20 страниц вот такого .
Формат такой должен быть ?.
192.168.2.29 [10/Dec/2013:09:33:07 +0200]
192.168.2.29 [10/Dec/2013:09:33:08 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:12 +0200]
192.168.2.29 [10/Dec/2013:09:33:13 +0200]
192.168.2.29 [10/Dec/2013:09:33:13 +0200]
20 страниц вот такого .
Формат такой должен быть ?.