LINUX.ORG.RU

Сообщения xisip

 

Непонятки с firewall-cmd

Открыт порт 80 Пытаюсь заблокировать доступ на этот порт с определенного ip:

firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x/32" reject'
firewall-cmd --reload

В итоге вижу, что все «Success», но в логах вижу заходы с этого ip как будто правила и нет!

Как ограничить доступ с определенного IP для конкретного порта?

Спасибо!

 , ,

xisip
()

Nginx + Resolver объясните...

Никак не могу заставить работать корректно resolver!

Есть такой конфиг:

upstream a {
    server first.example.com;
}

server {
    resolver 8.8.8.8 valid=30s ipv6=off;
    set $backend http://a; # пробовал описывать это и в location
    
    location / {
        proxy_pass $backend;
    }
}

Например, я принудительно меняю ip адрес у first.example.com Но почему то nginx до сих пор пытается открыть сайт со старого ip. И по истечении 10 минут, и по истечении часа и даже сутки ждал.

TTL у домена 300 секунд.

nginx -s reload
такая команда сразу сбрасывает весь dns кеш.

Как заставить делать nginx это автоматом? Что я делаю не так?

P.S. В /etc/resolv.conf стоят восьмерки.

 , ,

xisip
()

Nginx + Upstream объясните...

Не могу до конца понять как работает upstream в nginx. Прошу помощи!

На данный момент имеет такой тестовый конфиг:

upstream a {
    server 1.1.1.1;
    server 2.2.2.2 backup;
}

server {
    location / {
     #...
     proxy_pass http://a;
     #...
    }
}

Все работает отлично пока сервер 1.1.1.1 доступен по сети. Если он «падает» (проблема с сетью) то приходится ждать очень и очень долго для того чтобы сайт открылся с сервера 2.2.2.2

Причем след. запрос работает ровно так же - очень долго ожидание.

Как сделать так, чтобы nginx сразу(или за максимально короткий срок) пытался открыть сайт с сервера 2.2.2.2 если сервер 1.1.1.1 перестал быть доступным?

Спасибо!

 ,

xisip
()

Apache + RewriteMap

Задача: Пропускать на сайт пользователей, если они пришли с определенных сайтов!

Затестил вариант:

RewriteCond %{HTTP_REFERER} "!google" [NC]
Если пришли не с гугла - выдаем 403. Все работает! Решил воспользоваться заманчивой директивой RewriteMap

Создал файл, указал там список сайтов в виде:

google.com -
example.com - 

Прописал в конфиге:

<IfModule mod_rewrite.c>
	RewriteEngine On
        RewriteMap allowreferer "txt:/home/allow_referer.txt"
	RewriteCond "%{HTTP_REFERER}" !=""
        RewriteCond "${allowreferer:%{HTTP_REFERER}|NOT-FOUND}" "=NOT-FOUND"
        RewriteRule ^ - [F,L]
    </IfModule>

И вижу, что нифига не работает! Если прописать в файл allow_referer.txt точные совпадения - то все работает как и ожидалось. А если просто домен - выдает 403! Как быть? Неужели про регулярки забыли в параметре MapName ?

Сча сделал так:

RewriteCond %{HTTP_REFERER} "(http|https):\/\/([a-z0-9\-\.]+)\.([a-z]{2,4}+)(|\/)(.*)"
RewriteCond "${allowreferer:%2.%3|NOT-FOUND}" "=NOT-FOUND"

Вроде работает, но не очень нравится такой вариант! Вернее сказать совсем не нравится!

На борту:

Server version: Apache/2.4.27 (Unix)
Server built:   Jul 25 2017 12:29:36

Прошу помощи!

P.S. Про nginx знаю. Пожалуйста, не ссылайтесь с репликой перехода туда!

 ,

xisip
()

Как грамотно проверить канал между Proxy и сервером

На одном сервере nginx, используется в качестве http proxy. На другом сервере apache(в роли бекенда).

Как грамотно протестировать есть ли какие-либо проблемы по каналу между этими серверами? Иногда бывает, что сайты открываются по долгу, хотя на apache никакой существенной нагрузки нет, да и сервер где nginx тоже не фиксирует оверлода какого-либо.

Гугл пейджспид показывает, что некоторые страницы по 5 секунд задержка открытия. Причем спустя час-два-три этой проблемы может не быть и все «летает»(кеш разумеется предварительно на nginx удаляю).

 ,

xisip
()

Странности с Apache

Имеется

Server version: Apache/2.4.27 (Unix)

Задача: Нужно выполнить редирект на корень во всех случаях, если это не касается служебных файлов WordPress и урла /products/test.html

Прописал в .htaccess(знаю знаю, не кричите, что это плохо) следующее:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/products/test.html [NC]
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/wp- [NC]
RewriteCond %{REQUEST_FILENAME} !wp-login.php [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST} [QSD,R=301,L]

RewriteCond %{REQUEST_FILENAME} favicon.ico [NC]
RewriteRule ^(.*)$ $1 [L]

RewriteCond %{REQUEST_FILENAME} xmlrpc.php [NC]
RewriteRule ^(.*)xmlrpc.php$ /xmlrpc.php [L]
</IfModule>

Пытаюсь обратиться: http://site.com/products/test.html

И вижу в ответ:

HTTP/1.1 301 Moved Permanently
Date: Wed, 30 Aug 2017 05:42:04 GMT
Server: Apache/2
Location: http://site.com
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 200 OK
Date: Wed, 30 Aug 2017 05:42:05 GMT
Server: Apache/2
Vary: User-Agent
Content-Type: text/html; charset=UTF-8

Ребят, где проблема? Для проверки сделал так(чтобы увидеть, что вообще в переменной), вместо:

RewriteRule ^(.*)$ http://%{HTTP_HOST} [QSD,R=301,L]
подставил
RewriteRule ^(.*)$ %{REQUEST_URI} [QSD,R=301,L]

И как оказалось %{REQUEST_URI} здесь равно /index.php Это как?

 , ,

xisip
()

Наспамьте аналогов cloudflare.com

Собсно сабж! Платные/Бесплатные - не принципиально! Спасибо!

 , ,

xisip
()

Как узнать что за скрипт...

Пришла абуза, что идет спам с сервера. Заблокировал 25 порт(исходящие конекты). Абузу сняли. Как найти какое приложение или скрипт такую бяку делает?

Как только перезапустил файрвол сразу такое:

Chain OUTPUT (policy ACCEPT 389 packets, 39111 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       85  5499 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25 reject-with icmp-port-unreachable

rkhunter ничего не показал! На eval и прочее php-скрипты проверял - результат отрицательный.

 ,

xisip
()

Apache 2.4 + SSL

Веб-сервер:

Server version: Apache/2.4.25 (Unix)

Модуль http2:

http2_module (static)

OS:

CentOS Linux release 7.3.1611 (Core)

Ошибка: Время от времени браузер не может установить безопасное соединение с сайтом и оно прерывается(хотя зеленый замочек горит). Сертификат валиден(проверено кучей сервисов) и не проэкспайрен. В логах ошибок нет!

Перезапуск апача помагает и все опять работает без сбоев 5-7 дней!!!

С чем связано такое поведение и как его исправить?

Причем с части ip-адресов если заходить на сайт - все в порядке, а с части пишет, что обрыв!

Сервер точно доступен, пинги и прочее - все без сбоев.

P.S. Знаем про nginx, но в данном случае нужен именно apache!

 , , ,

xisip
()

PHP session & Memcache

На сервере крутится 5 сайтов. Перенес хранение сессий в memcache.

  1. Будет ли реальный прирост производительности, или это наносекунды?
  2. Не будет ли каких-либо конфликтов при таком подходе или для каждого сайта нужен свой memcache?

 , ,

xisip
()

Существует ли что то похожее для решения...

Есть ли в природе какой-либо софт(пока только puppet нагуглился) для того чтобы обновлять/удалять/устанавливать пакеты и обновлять ОС на удаленных машинах?

Например, есть какой то главный сервер, с какой-нибудь админкой. Я ввожу логин/пароль от удаленного сервера(в админку), он как то «цепляется» к удаленному серверу и ставит нужный софт(должна быть возможность указать, что именно ставить) и добавляет ssh ключ. И впоследствии я могу на этом сервере что то обновлять(например nginx) либо удалять(например apache за ненадобностью) из единой админки, в которой добавлены все сервера.

Ребят, просветите, а то совсем «темень» с этом вопросе! Спасибо.

 ,

xisip
()

Не работает su

Пытаюсь выполнить команду:

[root@server ~]# su winder
[root@server ~]# whoami
root
[root@server ~]# sudo su -s /bin/bash winder
[winder@server root]$ whoami
winder

Но результат почему то не такой как ожидался(при первом варианте) Пользователь winder существует и добавлен в группу winder.

Что «подкрутить» чтобы войти в терминал пользователя? На борту CentOS 6.8

 , ,

xisip
()

Помогите с X

Пытаюсь заскринить сайт, установил xvfb и cutycapt Ввожу команду:

xvfb-run --server-args="-screen 0, 1024x768x24" /usr/local/bin/cutycapt --url=http://www.baidu.com --out=baidu.png

Сервер думает секунд 10 и выдает следующее:

loaded the Generic plugin
can't make «generic.orientation» because no QAccelerometer sensors exist /usr/bin/xvfb-run: line 181: 13887 Ошибка
сегментирования DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE «$@» 2>&1
/usr/bin/xvfb-run: line 186: kill: (13884) - Нет такого процесса

На борту:

CentOS release 6.7 (Final)
Kernel \r on an \m

Ребят, в администрировании и тем более линухах не силен! Куда копать и что ему не хватает?

 

xisip
()

Выключение компа по кнопке

Собсно стоит:

CentOS Linux release 7.2.1511 (Core)

Хочу, чтоб при нажатии на кнопку, которая на системнике - комп сам выключался.

В /etc/systemd/logind.conf прописал:

PowerKeyIgnoreInhibited=no
HandlePowerKey=poweroff

Нажимаю на кнопку - все выключается! НО если обратно комментировать эти строчки - происходит точно такое же действие. Такое ощущение, что они ни на что не влияют!

Как проверить, что комп выключается корректно по кнопке? Именно, правильно завершаются все процессы. Может там просто чего принудительно прерывается. Боюсь потерять данные!

p.s. Файловая система закриптована, при загрузке ввожу пароль.

 , ,

xisip
()

Как исправить ошибку в Nginx

При обращении к php-файлам в логах возникает следующая ошибка:

2016/01/13 10:25:42 [error] 3372#0: *53 testing "/etc/nginx/html" existence failed (2: No such file or directory) while logging request, client: 192.168.1.49, server: *.site.loc, request: "GET /index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "test.site.loc", referrer: "http://test.site.loc/"

Нагуглил вроде бы ответ но что то не понимаю что нужно и где править? Как уже стало понятно - я новичек и только вчера «открыл» nginx для себя! Строго не пинайте. Натолкните на путь истинный.

 ,

xisip
()

Как настроить Apache чтобы...

Есть домен site.com Добавили папку на сервере(DOCUMENT_ROOT/subdomain), положили в нее файл index.html

Нужно чтобы этот файл был доступен как subdomain.site.com/index.html

Папки будут создаваться/удаляться динамически, точно знаю что у апача есть такая возможность настройки(при создании папки, имя папки становится именем сабдомена и сразу доступен для внешнего мира).

Подскажите какая настройка отвечает за это?

p.s. Прописывать каждый саб домен в httpd.conf ессно не вариант!

 , ,

xisip
()

Установка CentoOS с шифрованием всего диска

Как при установке центоса, сделать чтобы весь диск был шифрован. Подчеркиваю - весь!

Нажали кнопку включения, появилась форма ввода пароля. Ввели и система начала загружаться(не путать с формой для ввода пароля пользователя).

Очень важно, чтобы весь диск был зашифрован.

Погуглив, нашел похожий ман, но правда для убунты.

Подскажите, возможно ли такое сделать в центосе? Гуру, подсветите куда копать и как лучше решить такую задачу!

 , ,

xisip
()

Ошибка работы с SSL

Ребят, натолкните куда копать? При постинге на сайт(который на https) стала возникать такая ошибка:

«error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol»

 , ,

xisip
()

Как сделать сайт отказоустойчивым?

Сразу скажу - я не админ! Прошу строго не пинать.

Вопщем суть в чем. Есть сайт А, он находится на сервере SERVER (далее master). В один прекрасный момент сервер упал(проблемы с сетью в дата-центре, взрыв под землей, луна не совпала с солнцем и т.д.).

Сайт А соответственно не открывается. Понимаю, что наиболее простым решением является смена DNS(ну это я так думаю).

Т.е. размещаю сайт А на SERVER2(далее slave, точную копию что и на master).

Как мне заставить работать сайт А со slave когда master недоступен? Натолкнулся на сервис Amazon 53, судя по описанию он решит мою проблему.

Подскажите, насколько эффективен данный подход и сервис? Можете наспамить аналогов с более простой настройкой?

p.s. сайт А статичен! Никаких синхронизаций делать не нужно. На сервере установлен DirectAdmin, но для него никаких «примочек» не смог найти по решению данной проблемы. Если что то есть - пожалуйста ткните, что где почитать!

Спасибо!

 ,

xisip
()

Защита сервера от ботов

Собственно хотим как то обезопасить и защитить все машины от ботов.

По факту получается, что на сайтах есть куча ботов, которые парсят контент и прочее. В итоге получается колоссальная «пустая» нагрузка и порой бендвич стремится к своему лимиту.

Поделитесь опытом, кто как, и самое главное какие ставит защиты? Хотелось бы на уровне iptables решить этот вопрос.

На данный момент часть ip заблокирована, добавлена защита на проверку User-Agent. Нагрузка снизилась, но не очень намного.

Спасибо!

p.s. все машины на CentOS (где-то 5, где-то 6).

 ,

xisip
()

RSS подписка на новые темы