Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Закрытие доступа в ЛК из "мира" ====== ===== Настройка httpd ===== В файле /etc/httpd/vhosts.d/stat_vhost.conf\\ Найдите блок:\\ <code> <Directory "/var/www/mikbill/stat"> AllowOverride All Options FollowSymlinks Includes Allow from all </Directory> </code> И замените на:\\ <code> <Directory "/var/www/mikbill/stat"> AllowOverride All Options FollowSymlinks Includes Order Deny,Allow Deny from all # localhost Allow from 127.0.0.1 # local net Allow from 192.168.0.0/16 Allow from 172.16.0.0/12 Allow from 10.0.0.0/8 # trusted hosts </Directory> </code> Добавив под **# trusted hosts** свои доверенные адреса, сохраняя синтаксис **Allow from**. После чего перезапустите httpd выполнив:\\ <code>/etc/init.d/httpd restart</code> ===== Настройка nginx ===== Создадим файл для регулирования доступа:\\ <code>nano /etc/nginx/access.list</code> Вставим туда подготовленный шаблон:\\ <code> # localhost (для внутренних запросов) allow 127.0.0.1; # local net (локальные клиенты) allow 192.168.0.0/16; allow 172.16.0.0/12; allow 10.0.0.0/8; # trusted hosts # deny others deny all; </code> Под **trusted hosts** можете добавить свои IP адреса или сети которым нужно оставить доступ сохраняя синтаксис ( в начале **allow** а в конце **;** ).\\ \\ Редактируем виртуальный хост личного кабинета:\\ <code>nano /etc/nginx/conf.d/stat_vhost.conf</code> находим блок:\\ <code> location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-worker-socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/mikbill/stat/$fastcgi_script_name; } </code> и добавляем в него **include access.list;**, что бы получилось:\\ <code> location ~ \.php$ { include access.list; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-worker-socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/mikbill/stat/$fastcgi_script_name; } </code> Перезагружаем nginx:\\ <code>/etc/init.d/nginx restart</code> ===== Замена файлов ЛК ===== Перейдем в нужную директорию: <code>cd /var/www/mikbill</code> Скачаем архив с обновленными файлами ЛК: <code>wget https://wiki.mikbill.ru/_media/billing/stat.tar.gz</code> Удалим старые файлы: <code> rm -f stat/main.php rm -f stat/pay.php rm -f stat/data/lib/gettext.inc rm -f stat/data/lib/gettext.php rm -f stat/data/lib/streams.php rm -rf stat/res/paysystems/* </code> Распакуем {{:billing:stat.tar.gz|новые файлы}}: <code>tar xzf stat.tar.gz</code> Обновим права: <code> chown apache:apache -R stat/* chmod 755 stat/pay.php chmod 755 -R stat/res/paysystems/*.php </code> Выполним:\\ <code>find /var/www/mikbill/stat/ -type f \( ! -name "*.php" -and ! -name "*.tpl" -and ! -name "*.txt" \) -exec grep -H '<?php' {} \;</code> Все найденные файлы нужно удалить.\\ \\ Готово. ===== iptables ===== Так же, **настоятельно** рекомендуем закрыть сервер через iptables.\\ <code> # localhost iptables -A INPUT -i lo -j ACCEPT # related iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # local net / trusted hosts iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -s 172.16.0.0/12 -j ACCEPT iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT # accept dhcp iptables -A INPUT -p udp --dport 67 -j ACCEPT # accept web iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 81 -j ACCEPT iptables -A INPUT -p tcp --dport 82 -j ACCEPT iptables -A INPUT -p tcp --dport 83 -j ACCEPT iptables -A INPUT -p tcp --dport 84 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT # accept radius iptables -A INPUT -p udp --dport 1812 -j ACCEPT iptables -A INPUT -p udp --dport 1813 -j ACCEPT # drop others iptables -A INPUT -j DROP </code> billing/secure_01062018.txt Последнее изменение: 3 лет назад — alexd