Внешний доступ (паранойя)

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Внешний доступ (паранойя)

Сообщение Galakart » Пн ноя 04, 2013 1:32 pm

Решил набросать скрипт, следящий за логами веб-сервера apache2, и выводящий IP-адреса внешних подключений (и, по возможности, их хост) в боковое меню. В результате за 2 дня набралась вот такая картина:
IPs.JPG
IPs.JPG (58.76 КБ) 10204 просмотра
От чего у меня началась паранойя. Я не особо силён в web-технологиях, но что это за левые подключения? И вообще, насколько надёжен доступ по паролю из config.php? Внешний доступ мне нужен, чтобы заходить в систему с работы, или со смартфона, но как-то не особо хочется светить свой умный дом кому попало
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
IBort
Сообщения: 1
Зарегистрирован: Пн ноя 04, 2013 11:34 am
Благодарил (а): 0
Поблагодарили: 0

Re: Внешний доступ (паранойя)

Сообщение IBort » Пн ноя 04, 2013 2:28 pm

Все это хосты скорочее это просто сканеры, которые просто перебирают все подряд IP для определения живучести хоста, а возможно и для последующего взлом.
У меня было что в день с сотен разных адресов подключались и перебирали все распространённые ссылки /admin.php /administrator.php и прочее,у меня сервер один раз упал от такова трафика ( пока я был в командировки ). После настроек iptablesb и apache и чудной программки для блокировки ( название уже забыл ) , за сутки более 200 IP адресов были заблокированы и всё стало хорошо.Так что не переживайте особо :) это нормально
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Внешний доступ (паранойя)

Сообщение kostya77 » Пн дек 09, 2013 12:55 pm

Добрый день .
посмотрел ваш скрипт
//проверка входящих 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 нет у меня в ней .
Вопрос лог этот пишет прога ? как ее название ?
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Re: Внешний доступ (паранойя)

Сообщение Galakart » Пн дек 09, 2013 2:06 pm

Надо настроить логи апаче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
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Внешний доступ (паранойя)

Сообщение kostya77 » Пн дек 09, 2013 5:10 pm

Спасибо лог писать начало .
Если у меня айпи Сервера 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);
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Re: Внешний доступ (паранойя)

Сообщение Galakart » Пн дек 09, 2013 5:20 pm

Строки:

} else if (preg_match("/192.168.1.10/i",$host)) {
$ipanhost.= " <font color=\"lightgreen\">(домашняя сеть)</font><br>";

нужны просто чтобы подчеркнуть зелёным цветом адреса из домашней сети. В этом скрипте менять ничего не нужно, работать будет и так. Только заменить "192.168.1.10" на "192.168.2.1" в вашем случае
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Внешний доступ (паранойя)

Сообщение kostya77 » Пн дек 09, 2013 6:02 pm

$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 просматриваю а там пусто
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк
Благодарил (а): 0
Поблагодарили: 7 раз

Re: Внешний доступ (паранойя)

Сообщение Galakart » Пн дек 09, 2013 6:04 pm

sudo service apache2 reload
и потом подождать немного, пока наберётся статистика посещений
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Внешний доступ (паранойя)

Сообщение kostya77 » Пн дек 09, 2013 6:50 pm

reboot сервера делал
В логе есть айпишки.
Ок поглядим .
Спасибо за помощь
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Внешний доступ (паранойя)

Сообщение kostya77 » Вт дек 10, 2013 10:42 am

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 страниц вот такого .
Формат такой должен быть ?.
Ответить