Угостите више ВХостова са различитим корисницима у Нгинк-у

Најнормалнија ствар на свету када имате сервер је да размишљате о сигурности и већој сигурности, никада не можете бити довољно параноични 😉

Нешто уобичајена пракса и НИШТА СЕ НЕ препоручује, је коришћење истог корисника за све базе података, још горе ако се користи роот, што колико год невероватно изгледало, има оних који (због скитнице или незнања) уради ово, већ сам говорио о томе зашто се НЕ би требао понашати овако други постСада је време да објаснимо како и зашто је боље раздвојити обраду веб сервера од различитих корисника, овај пут ће то користити Нгинк.

ДедицатедСервер_СубИмаге

Шта је то са корисницима и веб сервером?

Да би то објаснио на кратак и једноставан начин, веб сервер (апацхе, нгинк, било шта) треба да отвори процесе у систему, процесе који ће бити ти који ће узимати датотеке са ХДД-а (слике итд.) И правити их доступно клијентовом прегледачу. Веб сервер не може једноставно узимати датотеке и њима манипулисати док је нико, односно потребан му је корисник који ће на крају све то учинити, а тај корисник је тај о коме говорим, да ли се то разуме ?

Шта је то раздвајање код неколико корисника?

Претпоставимо да на нашем серверу имамо 2 веб странице, нашу која је лични пројекат, и још једну (замислимо да је то наша девојка или брат). Чак и када користимо засебне базе података и различите кориснике да бисмо им приступили, на крају датотекама обе веб странице манипулише исти корисник, ПХП обрадом управља исти корисник за све веб локације (то су обично ввв-подаци). Ово је пракса која се не препоручује, боље је да све буде добро одвојено, како каже стара изрека, боље је бити сигуран него жалити.

Ок, разумем, како то да радим са Нгинк-ом

2000пк-Нгинк_лого.свг

Прва ствар коју треба приметити је да Нгинк нема свој модул који се бави ПХП-овом обрадом као Апацхе, за Нгинк морамо да користимо ПХП-ЦГИ или ПХП-ФПМ, који ради једнако добро (или боље) од Апацхе-а. Дакле, да бисмо раздвојили ПХП обраду између различитих корисника, мораћемо да променимо редове у ПХП конфигурационим датотекама (ЦГИ или ФПМ), а не сам Нгинк.

Претпоставимо да користите ПХП-ФПМ, креираћемо датотеку за конфигурацију од базен За одређену локацију, то јест, базен је начин да се ПХП обрада одвоји од ПХП-ФПМ-а, али идемо у деловима.

1. Прво морамо знати ког корисника система ћемо користити, претпоставићу да још увек немамо ниједног створеног и добро, хајде да га креирамо:

Све наредне наредбе МОРАЈУ се извршавати са административним привилегијама, било са директним роот-ом или користећи судо

adduser blog

Започећемо нормалан процес стварања корисника, унесите лозинку итд.

Блогам корисника само да бих следио пример, да ће прва веб локација коју ћемо угостити бити блог, па то ... да знам сваког корисника са којим је веб локација повезана

1. Прво идемо на /етц/пхп5/фпм/поол.д/:

cd /etc/php5/fpm/pool.d/

2. Сада ћемо створити датотеку под називом блог.цонф:

touch blog.conf

3. Сада ћемо ставити конфигурацију спремишта коју ћемо користити за ВХост блог:

Уредите датотеку блог.цонф помоћу нано ... на пример: судо нано блог.цонф
[блог] корисник = блог
група = блог
листен = / вар / рун / пхп5-фпм-блог.соцк листен.овнер = блог
слушај.група = блог
пм = ондеманд пм.мак_цхилдрен = 96 цхдир = /

Напомена: Оно што их обележавам црвеном бојом је оно што морају изменити у зависности од корисника којег су претходно креирали. На пример, ако креирају други ВХост са другим корисником (форума на пример) онда уместо блога једноставно ставите форум у сваки ред, да ли се разуме?

4. Једном када се конфигурише нови базен (датотеку блог.цонф коју смо управо креирали и уредили), ред је да кажете Нгинк ВХост-у да користи другу чарапу за тај ВХост, за ову веб локацију. Чарапа која ће се користити биће она коју смо претходно прогласили (/вар/рун/пхп5-фпм-блог.соцк). Уредимо Нгинк ВХост и у делу за обраду ПХП-а назначујемо да користимо те чарапе. На пример:

локација ~ \ .пхп $ {иф (! -ф $ рекуест_филенаме) {ретурн 404; }
фастцги_пасс уник: / вар / рун / пхп5-фпм-блог.соцк;
укључују фастцги_парамс; фастцги_парам СЦРИПТ_ФИЛЕНАМЕ $ доцумент_роот $ фастцги_сцрипт_наме; фастцги_реад_тимеоут 300; }

Као што видите, назначујем да је ПХП обрада тог ВХост-а (те линије су на пример унутар / етц / нгинк / ситес-енаблед / вхост-блог) урадите то са чарапама које се налазе у /вар/рун/пхп5-фпм-блог.соцк ... које смо претходно креирали приликом уређивања /етц/пхп5/фпм/поол.д/блог.цонф ... је не разуме?

5. Када се то уради, поново покрећемо и услуге (пхп5-фпм и нгинк) и воила, видећемо да обраду те странице (вхост) НЕ врши ввв-дата или роот или неко сличан, већ корисник којег ми претходно дефинисана.

Овде ћу вам показати излаз а пс аук | греп фпм на једном од сервера мог чвора:

пс аук | греп фпм ебоок 586 0.0 0.0 349360 1204? С 30. марта 0:00 пхп-фпм: базен е-књига 589 0.0 0.0 349360 1204? С 30. марта 0:00 пхп-фпм: е-књига базена ввв 608 0.0 0.2 350084 5008? С 30. марта 0:00 пхп-фпм: поол ввв ввв 609 0.0 0.2 350600 5048 30? С 0. марта 00:3 пхп-фпм: поол ввв тв611 0.0 0.0 349360 1204 30? С март 0 00:3 пхп-фпм: поол тв3 тв615 0.0 0.0 349360 1204 30? С март 0 00:3 пхп-фпм: поол тв1818 магазине 1.7 1.7 437576 36396 09? С 55:0 46:2264 пхп-фпм: магазине магазине магазине 1.9 1.7 437332 35884 10? С 15:0 26:2338 пхп-фпм: ученик часописа о базену 4.3 1.0 428992 22196 10? С 18:0 53:2413 пхп-фпм: магазин зеница базена 1.8 1.7 437764 36152 10? С 22:0 18:2754 пхп-фпм: поол гутл магазине 3.5 1.3 356724 27164 10? С 38:0 00:5624 пхп-фпм: поол гутл цгр 0.0 1.0 365168 22696 28? С апр. 0 16:7900 пхп-фпм: базен цгр ученик 0.3 2.5 457052 52444 25? С апр. 20 23:11021 пхп-фпм: зеница базена зеница 0.4 2.5 458316 52864 28? С 5. април 57:11254 пхп-фпм: ученик базенагргр 0.0 1.0 363152 21708 28? С апр. 0 12:13184 пхп-фпм: поол цгр цгр 0.0 1.0 362872 21360 28? С 0. априла 08:XNUMX пхп-фпм: поол цгр

Као што видите ... раздвајање ПХП обраде од корисника који користе Нгинк + ПХП-ФПМ је заиста једноставно, тамо видите да постоји неколико спремишта, јер постоји неколико корисника.

Закључци

Што се тиче сервера, никад нисте довољно параноични ... са сигурношћу се не треба играти, што се више трудимо да побољшамо сигурност наших сервера и њихових услуга, то је мања вероватноћа да ћемо се уплашити (успешног) покушај хаковања или било шта слично 😉


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   дхунтер дијо

    Гаара, у данашње време ове ствари треба аутоматизовати што је више могуће, препоручујем ти да пробаш Ансибле. Без агента, потребан вам је само питхон на удаљеном хосту, врло једноставан за конфигурисање, иамл датотеке, Јиња предлошци.

    https://github.com/ansible/ansible-examples/tree/master/wordpress-nginx

    1.    КЗКГ ^ Гаара дијо

      Да видимо, то није увек само за ВордПресс странице, и ... хаха, можда Ансибле кликне волао, али више волим да знам тачно како све функционише на серверу, чак и ако морам да проведем 1 минут стварајући нове чарапе и нови ВХост 😀

      1.    дхунтер дијо

        Са Ансибле аутоматизујете све, радите практично све што желите, предност ове методе је у томе што инкапсулирате праксу, а затим извршавате по својој вољи, замислите да имате јако оптерећену страницу и желите да извршите балансирање оптерећења између апликационих сервера, ових морају бити конфигурисани потпуно исто, не можете прескочити корак или учинити било шта другачије у једном од њих, можете ли замислити да поступак радите корак по корак 4 пута? Са Ансибле је једноставно као додавање имена хоста у датотеку инвентара и Воила !!

        http://www.ansible.com/how-ansible-works

      2.    дхунтер дијо

        Извините на култу Ансибле, али то је једна од ових технологија коју откривате и желите да је сви сада користе, јер је тако кул и практична, то је као кад откријете НГИНКС и желите да сви ваши пријатељи одмах напусте Апацхе.

        https://speakerdeck.com/slok/ansible-all-the-things

  2.   Мстааравин дијо

    Сигуран сам да мој пост допуњује ово ...
    http://blog.ngen.com.ar/configuracion-segura-de-un-webserver-con-nginx-php-fpm/

  3.   Ротс87 дијо

    Ја сам (или желим да будем) програмер и са НГИКС сам имао пуно проблема приликом конфигурисања нгинк + пхп-фпм. Знам да Арцхлинук дистро није најбоље направити га као сервер, али сваки пут кад сам ажурирао верзију нгик-а или пхп-а, све се увек срушило па сам одустао од покушаја лол ... За данас остајем код класичног Апацхе + ПХП, али видећу да ли поново заобиђем НГИКС ... можда у виртуелној машини

    1.    дхунтер дијо

      Менталитет се мало мења, нгинк служи статичном садржају и служи као обрнути проки за пхп-фпм који је тај који покреће прави ПХП, морате започети у деловима и постићи постављање корак по корак, потражите водич за примену оквир са којим радите, сваки има своје детаље по именима јавности, статичким, ресурсима итд ...

  4.   анониман дијо

    Учини ли заједници велику наклоност напуштању речи „хостеар“, која не постоји. Богами, зар је тако тешко рећи „домаћин“?

  5.   Вантс То дијо

    Поздрав, следећи ваш пример, желео бих да знам да ли би базен могао да се направи само за вордпресс бацкен, односно за вп-админ који прави нову сокету за долазне везе са позадином

    локација / вп-админ {
    роот /вар/ввв/иоурсите.цом/вп-админ;
    индек индек.пхп индек.хтмл индек.хтм;
    локација ~ ^ / вп-админ /(.+. пхп) $ {
    три_филес $ ури = 404;
    роот /вар/ввв/иоурсите.цом/вп-админ;
    укључују / етц / нгинк / фастцги_парамс;

    fastcgi_pass server unix:/run/php5-fpm2.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 256 4k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_read_timeout 1240;
    }
    location ~* ^/wp-admin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    root /var/www/tusitio.com/wp-admin/;
    }
    }