Бяспека

Як наладзіць бяспечныя правы на файлы WordPress? Чым важныя chmod і налады сервера

  • 10 хвілін на чытанне
  • Каманда Hostragons
Як наладзіць бяспечныя правы на файлы WordPress? Чым важныя chmod і налады сервера

Правы на файлы ў WordPress звычайна павінны быць усталяваны як 755 для каталогаў, 644 для файлаў, а для ключавога файла wp-config.php – лепш 600 або 640 у залежнасці ад структуры сервера. Такія налады забяспечваюць неабходны доступ для працы WordPress, але абмяжоўваюць магчымасці несанкцыянаваных карыстальнікаў змяняць тэмы, убудовы і асноўныя файлы CMS. Галоўнае правіла бяспекі: давайце толькі мінімальна патрэбныя правы для працы сайта, нічога лішняга.

Бяспека WordPress — гэта не толькі моцныя паролі, актуальныя убудовы ці SSL-сертыфікат. Калі правы на файлы наладжаны некарэктна, зламыснікі могуць загрузіць шкодныя PHP-файлы, змяніць файлы тэм, прачытаць дадзеныя базы з wp-config.php або пакінуць «чорную дзверку» для атакі. Таму chmod — фундаментальны аспект для ўсіх уладальнікаў сайтаў на shared-хостынгах, VPS, воблачных серверах або кіраваных WordPress-хостынгах. Калі вы хочаце надзейную і сучасную платформу, выбар хостынгу таксама важны: Пакеты WordPress хостынга

Што такое правы на файлы ў WordPress?

Правы на файлы ў WordPress — гэта правілы доступу, якія вызначаюць, хто і што можа рабіць з файламі і каталогамі на серверы. На Linux-серверах кіраванне адбываецца праз chmod. Значэнні chmod адлюстроўваюць тры асноўныя дазволы: чытанне, запіс і запуск. Дазволы вызначаюцца асобна для ўладальніка файла, групы і астатніх карыстальнікаў.

Для WordPress як PHP-сістэмы важны баланс: занадта строгія правы могуць перашкаджаць працы сайта (напрыклад, не загружаюцца медыя, не абнаўляюцца убудовы), а занадта «вольныя» — адкрываюць дзверы для атак. Асабліва права 777 (дазвол на чытанне, запіс і запуск для ўсіх) — гэта вялікая небяспека.

Як чытаць значэнні chmod?

Значэнне chmod — гэта тры лічбы, кожная з якіх абазначае дазволы для ўладальніка, групы і астатніх:

  • 4: Чытанне
  • 2: Запіс
  • 1: Запуск
  • 7: Чытанне + запіс + запуск
  • 6: Чытанне + запіс
  • 5: Чытанне + запуск

Напрыклад, 755 дае ўладальніку ўсе правы, а групе і астатнім — толькі чытанне і запуск. 644 дазваляе ўладальніку чытанне і запіс, астатнім — толькі чытанне. Для каталогаў запуск важны, бо дазваляе заходзіць у каталог і глядзець спіс файлаў.

Рэкамендаваныя значэнні chmod для WordPress

Мэта — каб вэб-сервер мог працаваць з сайтам, але не меў лішніх правоў для запісу. Табліца ніжэй — практычны спіс бяспечных правоў для WordPress:

Рэкамендаваныя значэнні chmod для WordPress
Файл або каталог Рэкамендаваныя правы Апісанне
Каталогі WordPress 755 Даступ, але без лішняга запісу для ўсіх.
Файлы WordPress 644 Файлы можна чытаць, змяняць — толькі ўладальнік.
wp-config.php 600 або 640 Містіць дадзеныя базы, патрабуе максімальнай абароны.
.htaccess 644 або 640 Серверныя правілы — не даваць лішні запіс.
wp-content 755 Каталог убудоў, тэм, загрузак — падкаталогі трэба кантраляваць.
wp-content/uploads 755 Для загрузкі медыя — 777 недапушчальны.
Файлы тэм 644 PHP і CSS-файлы не павінны быць даступныя для змянення ўсім.
Файлы убудоў 644 Абараняем ад несанкцыянаваных змяненняў.

Гэтыя значэнні добра падыходзяць для cPanel, LiteSpeed, Apache, Nginx. Але структура сервера і спосаб запуску PHP могуць уплываць на права — напрыклад, PHP-FPM, suPHP, mod_php, кантэйнеры і розныя карыстальнікі. Таму перад зменамі трэба зрабіць рэзервовую копію і праверыць функцыянал сайта. Падрабязна пра бэкапы: Кіраўніцтва па рэзервовым капіраванні сайта

Чаму права 777 — небяспека?

777 — гэта поўны доступ для ўсіх: чытанне, запіс, запуск. Часам у старых форумах або інструкцыях прапануюць яго як «хуткае рашэнне», але для WordPress гэта крытычная памылка. У каталогу з 777 можна лёгка размясціць шкодны скрыпт, загрузіць PHP-файл ці змяніць існуючыя файлы.

Асабліва небяспечна даваць 777 для wp-content/uploads: тут павінны быць толькі медыя-файлы (малюнкі, PDF, відэа). Калі зламыснік атрымае доступ праз уязвімы убудова і загрузіць PHP-файл, а каталог яшчэ і запускаецца — гэта адкрытая дзверка на сервер. Чым «вольней» права, тым прасцей атака.

Якое права замест 777?

У большасці выпадкаў 755 для каталогаў дастаткова. Калі медыя не загружаюцца ці не абнаўляюцца убудовы, не спяшайцеся даваць 777. Спачатку праверце, хто ўладальнік файлаў. Магчыма, файлы належаць не таму карыстальніку, якому патрэбна. Тут трэба не змякчаць права, а змяніць уладальніка (chown) або скарыстацца інструментам у панэлі хостынгу.

Правы ўладальніка і chmod: як яны звязаны?

Chmod — не адзіны крытэрый. Важна, хто ўладальнік файла/каталога і яго група. Калі права 644, але ўладальнік не той — WordPress не зможа абнаўляцца. Таксама uploads можа не працаваць, калі ўладальнік некарэктны.

Найлепшая практыка: файлы WordPress павінны належаць карыстальніку вашага хостынгу. На shared-хостынгах гэта аўтаматычна. На VPS ці асобных серверах — трэба каб PHP, вэб-сервер і карыстальнік сайта былі «сінхранізаваны». Для ізаляцыі рэкамендуецца кожны сайт размяшчаць ад асобнага карыстальніка Linux — гэта зменшыць рызыку, што ўязвімасць на адным сайце закране іншыя.

Як праверыць і наладзіць права на файлы WordPress: па кроках

Праверыць права можна праз cPanel File Manager, FTP-кліент або SSH. Вось практычны алгарытм:

1. Зрабіце рэзервовую копію

Перад масавымі зменамі абавязкова зрабіце поўны бэкап: файлы WordPress, каталог wp-content і базу дадзеных. Няправільны chmod можа зрабіць сайт недаступным або выклікаць памылкі ў панэлі. Калі ў хостынгу ёсць аўтаматычны бэкап, праверце яго актуальнасць; калі няма — ручная выгрузка праз FTP і экспарт базы.

2. Ацэніце актуальныя права

Калі ёсць SSH, у галоўным каталогу WordPress паглядзіце права на файлы і каталогі. Звярніце ўвагу на адхіленні ад 755 (каталогі) і 644 (файлы), асабліва на 777, 775, 666. У cPanel можна паглядзець і змяніць права ў File Manager.

3. Каталогі — 755

Галоўны каталог WordPress і ўсе ўнутраныя лепш мець 755. Гэта дазваляе праглядаць каталог, але не дае лішніх правоў на запіс. Калі працуеце праз SSH, выкарыстоўвайце find для масавай змены толькі каталогам (каб не даць 755 файлам).

4. Файлы — 644

Асноўныя файлы, файлы тэм і убудоў — 644. Гэта дазваляе вэб-серверу чытаць файл, але група і іншыя не могуць яго змяняць. Калі трэба рэдагаваць файлы праз панэль WordPress, лепш адключыць такую магчымасць на «жывым» сайце.

5. wp-config.php — максімальна строгія права

wp-config.php — ключавы файл з дадзенымі базы, паролямі, ключамі бяспекі. Для яго лепш права 600 або 640 (у залежнасці ад хостынгу). На некаторых shared-хостынгах 600 выклікае памылку — тады 640. Пасля змены праверыць працу сайта і панэлі. Калі атрымліваеце 500 Error, звярніцеся да падтрымкі хостынгу або падбярыце найбольш строгі, але працуючы варыянт. SSL таксама важны: Купіць сертыфікат SSL

6. .htaccess — абараніць ад лішняга запісу

.htaccess — файл для permalink, рэдырэктаў, правіл бяспекі, кэшавання і доступу. Звычайна 644 дастаткова; для большай бяспекі — 640. Некаторыя убудовы могуць аўтаматычна змяняць .htaccess, таму лепш уносіць правілы ўручную і зноў усталёўваць строгія права.

Лепшыя практыкі для wp-content, uploads, themes і plugins

wp-content — найбольш «рухомы» каталог WordPress: тут размяшчаюцца убудовы, тэмы, медыя, мовныя файлы. Тут жа адбываецца большасць атак — праз старыя убудовы, неактуальныя тэмы або некарэктныя загрузкі.

Забараніце запуск PHP у uploads

uploads — каталог для загружаных карыстальнікам файлаў. Для большасці сайтаў запуск PHP тут не патрэбны. Таму варта стварыць файл .htaccess або правіла Nginx, якое блакуе запуск PHP у uploads. Так нават калі атака прывядзе да загрузкі PHP-файла, ён не запусціцца. Гэта дадатковы пласт бяспекі разам з chmod.

Адключыце рэдактар тэм і убудоў у панэлі

У панэлі WordPress ёсць магчымасць рэдагаваць файлы тэм і убудоў. Калі зламыснік атрымае доступ да адміністратара, ён можа ўнесці шкодны код. Каб абараніцца, у wp-config.php дадайце DISALLOW_FILE_EDIT — так рэдактар будзе недаступны.

Выдаляйце непатрэбныя тэмы і убудовы

Старыя або неактыўныя тэмы/убудовы — рызыка для сайта. Недастаткова проста іх адключыць; лепш цалкам выдаліць. Пакідайце толькі актыўную тэму, запасную стандартную і рэальна карысныя убудовы. Чым менш файлаў — тым менш магчымасцяў для атакі.

Як падтрымліваць бяспеку сервера разам з chmod?

Як падтрымліваць бяспеку сервера разам з chmod?

Правільныя права — гэта аснова, але не гарантыя поўнай абароны. Серверныя меры ўзмацняюць бяспеку:

Выкарыстоўвайце актуальную версію PHP

Старыя версіі PHP — рызыка для прадукцыйнасці і бяспекі. Для WordPress лепш заўсёды выкарыстоўваць падтрымліваемую версію. Новы PHP — хутчэй і больш стойкі да вядомых уязвімасцяў. Праверце версію ў панэлі хостынгу і абнаўляйце пасля тэставання сумяшчальнасці тэм і убудоў.

Web Application Firewall (WAF)

WAF фільтруе шкодныя запыты да таго, як яны дасягнуць сайта. Абараняе ад SQL-injection, XSS, загрузкі файлаў, brute force і інш. Для WordPress з вялікай наведвальнасцю WAF — важная частка бяспекі ў дадатак да chmod. Падрабязна пра надзейны хостынг: Рашэнні для бяспечнага вэб-хостынгу

Адключыце спіс каталогаў

Калі спіс каталогаў адкрыты, у каталогах без index-файла можна паглядзець усе файлы праз браўзер. Гэта палягчае атаку і выяўленне файлаў. Для Apache — Options -Indexes, для Nginx — autoindex off.

Не захоўвайце бэкапы ў web root

Крытычная памылка — пакідаць бэкапы як backup.zip, database.sql і падобнае ў public_html. Такія файлы можна лёгка знайсці і спампаваць. Захоўвайце бэкапы ў закрытым каталогу або на знешнім серверы. Для кіравання даменам і DNS — Рэгістрацыя дамена і кіраванне DNS

Адрозненні на shared-хостынгу, VPS і dedicated-серверах

Правы WordPress падобныя, але нюансы ёсць у залежнасці ад тыпу хостынгу. На shared-хостынгу права і ўладальнікі, як правіла, наладжаны аўтаматычна. На VPS і асобных серверах — вы адказваеце за ізаляцыю карыстальнікаў, настройкі PHP, firewall, маніторынг і аўтаматычныя абнаўленні.

На shared-хостынгу 644 і 755 працуюць без праблем. На VPS лепш кожны PHP-пул запускаць ад асобнага карыстальніка. На dedicated — дадаткова: маніторынг журналаў, сканаванне на шкоднае ПЗ, кантроль цэласнасці файлаў, аўтаматычныя патчы. Для агенцтваў з некалькімі сайтамі: кожны сайт — асобны карыстальнік, каб атака на адзін не закранула астатнія.

Частыя памылкі пры наладзе chmod

Большасць памылак — вынік спроб «хутка вырашыць праблему». Найбольш распаўсюджаныя:

  • Даць 777 на ўвесь сайт: медыя загружаюцца, але адкрываецца крытычная ўязвімасць.
  • wp-config.php пакінуць з 644: працуе, але можна забяспечыць больш строгія права.
  • Не правяраць уладальніка: калі праблема ў chown, а не chmod, памылкова мяняюць права.
  • Масавая змена без бэкапа: няправільная каманда можа «зламаць» сайт.
  • Дазвол на запуск PHP у uploads: павялічвае рызыку пры атаках на загрузку файлаў.
  • Не выдаляць старыя убудовы: нават неактыўныя могуць быць мэтай атак.

Чэк-ліст бяспечных права для WordPress

Скарыстайцеся гэтым спісам перад запускам сайта, пасля абслугоўвання або ачысткі пасля атак:

  • Каталогі — права 755.
  • Файлы — права 644.
  • wp-config.php — 600 або 640.
  • .htaccess — 644 або 640.
  • Ні адзін файл/каталог не мае права 777.
  • PHP у uploads — запуск забаронены.
  • Рэдактар тэм і убудоў адключаны.
  • Старыя тэмы/убудовы выдалены.
  • Выкарыстоўваецца актуальная версія PHP.
  • Аўтаматычны бэкап і план аднаўлення гатовы.

Гэты спіс актуальны для новых сайтаў, пасля тэхнічнай падтрымкі і пасля ачысткі ад атак. Бяспека — гэта не аднаразовая задача, а пастаянны працэс.

Якія тэсты трэба правесці пасля змены chmod?

Пасля змены правоў не абмяжоўвайцеся адкрыццём галоўнай старонкі. Зайдзіце ў панэль кіравання, загрузіце новы медыя-файл, праверце абнаўленне убудоў, захавайце permalink, пратэстуйце формы з запісам дадзеных. Калі ёсць кэшаванне — праверце, ці ствараюцца файлы cache. Для WooCommerce — праверце аплату, заказ, генерацыю рахункаў і загрузку файлаў.

Калі бачыце 403 — права занадта строгія. 500 — праблема з .htaccess, PHP або ўладальнікам файлаў. Калі медыя не загружаюцца — праверце ўладальніка і права uploads. Замест «даць 777» — глядзіце журналы памылак.

Вынік: бяспека WordPress — гэта мінімальныя неабходныя права

Надзейная схема: каталогі — 755, файлы — 644, wp-config.php — 600/640. Але сапраўдная бяспека — гэта не толькі лічбы, а камбінацыя: правільны ўладальнік, актуальны PHP, WAF, бэкапы, забарона запуску PHP у uploads, выдаленне лішніх убудоў. Калі прытрымлівацца прынцыпу мінімальных права — сайт працуе, але зламыснікам складана нанесці шкоду.

Калі жадаеце размясціць WordPress на бяспечнай, хуткай і кіраванай платформе, азнаёмцеся з хостынгамі, SSL і даменнымі рашэннямі ў Hostragons — падбярыце ўласную канфігурацыю з дапамогай спецыялістаў. Hostragons пакеты хостынгу

Частыя пытанні

Якія права на файлы для WordPress?

Звычайна: каталогі — 755, файлы — 644, wp-config.php — 600/640. Гэта дае баланс бяспекі і працаздольнасці для большасці хостынгаў.

Ці бяспечна даваць 777 для uploads?

Не. uploads з 777 — гэта поўны запіс для ўсіх і вялікая рызыка загрузкі шкодных файлаў. 755 звычайна дастаткова; калі ёсць праблема — правярайце ўладальніка.

Ці можа сайт не працаваць з wp-config.php 600?

На некаторых серверах 600 працуе, на іншых можа выклікаць 500 Error. Калі праблема — скарыстайцеся 640. Галоўнае — самы строгі працуючы варыянт для чытання серверу.

Ці ўплывае chmod на SEO?

У прамую — не; але памылкі сайта, уязвімасці і праблемы доступу могуць негатыўна паўплываць на SEO.

Ці можна змяняць права праз cPanel?

Так. У File Manager cPanel можна даваць права праз меню. Масавыя змены — рабіце толькі з бэкапам.

Падзяліцеся гэтым артыкулам:

Каманда Hostragons

Актуальныя кіраўніцтва ад нашай каманды экспертаў па хостынгу, серверах і даменных імёнах. Давайце разам знойдзем правільнае рашэнне для вашага праекта.

Звяжыцеся з намі