Pühendunud virtuaalse veebiserveri tutistamine

Sisukord:

Pühendunud virtuaalse veebiserveri tutistamine
Pühendunud virtuaalse veebiserveri tutistamine

Video: Pühendunud virtuaalse veebiserveri tutistamine

Video: Pühendunud virtuaalse veebiserveri tutistamine
Video: DON'T USE GMAIL unless you make these 5 Critical Security Changes - YouTube 2024, Aprill
Anonim

Kui veebisaidi käitamiseks saad spetsiaalse virtuaalse serveri, on tõenäoliselt hea, et see on kõigile seadistatud ja mitte kohandatud, et maksimeerida veebisaidi töökorras olekut.

Sisu

[peida]

  • 1 ülevaade
  • 2 Linuxi konfiguratsioon

    • 2.1 DNS-i keelamine
    • 2.2 Keela SpamAssassain
    • 2.3 Keela xinetd
    • 2.4 Pleski mälu kasutuspiirang
    • 2.5 Plesk välja lülitada või välja lülitada (valikuline)
  • 3 MySQLi seadistamine

    • 3.1. Query Cache'i lubamine
    • 3.2 Keela TCP / IP
  • 4 Apache seadistamine
  • 5 PHP seadistamine

    • 5.1 Eemalda soovimatud PHP moodulid
    • 5.2 PHP opcode vahemälu
  • 6 varukoopiaid

    • 6.1 Loo automaatne varundamisskript
    • 6.2 Sünkroonida varukoopiaid off-site koos Rsync
  • 7 Turvalisus

    • 7.1. Keelake root sisselogimine üle SSH
    • 7.2 Keela SSH versioon 1
    • 7.3 Taaskäivitage SSH server
    • 7.4 Avatud sadamate kontrollimine
    • 7.5 Seadista tulemüür
  • 8 Vaata ka
  • 9 viited

Ülevaade

Seal on mitmeid problemaatilisi valdkondi, kus me tahame maksimeerida jõudlust:

  • Linuxi konfiguratsioon Tavaliselt toimivad teenused, mis ei pruugi olla, raiskab mälu, mida saaks kasutada rohkemate ühenduste jaoks.
  • MySQLi konfiguratsioon Sageli põhinevad vaikeseaded väikesel serveril, saame lisada mõned võtmetegurid, et suurendada jõudlust.
  • Apache'i konfiguratsioon Vaikimisi installeerib enamik hosting pakkujatest apache peaaegu iga installitud mooduli juurde. Moduleid ei ole vaja laadida, kui te neid kunagi ei kasuta.
  • PHP konfiguratsioon Vaikimisi PHP-konfiguratsioon on sarnaselt paisunud, on tavaliselt paigaldatud ebavajalikke lisamooduleid.
  • PHP opcode vahemälu Selle asemel, et lubada PHP igal ajal skripte uuesti kompileerida, tühjendab opcode vahemälu mälus kompileeritud skripte suureks jõudluse suurendamiseks.
  • Varukoopiad Peaksite tõenäoliselt seadistama mõned automaatsed varukoopiad, kuna teie hostipakkuja ei kavatse seda teie jaoks teha.
  • Turvalisus Muidugi, Linux on vaikimisi turvaline, kuid seal on tavaliselt mõningaid selgeid turvaprobleeme, mida saate parandada mõne kiire seadistusega.

Linuxi konfiguratsioon

Võimalik on teha üsna palju tweaks, mis sõltuvad kasutatavast serverist veidi. Need modifikatsioonid on mõeldud serverile, kus töötab CentOS, kuid nad peaksid töötama enamuse DV-serverite jaoks.

Keela DNS

Kui teie hostipakkuja tegeleb teie domeeni DNS-iga (võib-olla), saate DNS-teenuse keelata.

disable dns /etc/init.d/named stop chmod 644 /etc/init.d/named

Chmod käsk eemaldab skriptist käsklitsentsi, peatades selle käivitumise käivitumisel.

Keela SpamAssassain

Kui te ei kasuta oma serveris oma e-posti kontosid, ei tohiks te vajate rämpsposti tööriistu. (Samuti peaksite kontrollima Google Appsi, palju paremat e-posti lahendust)

/etc/init.d/psa-spamassassin stop chmod 644 /etc/init.d/psa-spamassassin

Keela xinetd

Xinetdi protsessis on mitmeid teisi protsesse, millest ükski ei ole tüüpilise veebiserveri jaoks kasulik.

/etc/init.d/xinetd stop chmod 644 /etc/init.d/xinetd

Piirata Pleski mälukasutust

Kui kasutate pleski paneeli, võite sundida seda vähem mälu kasutama, lisades valikufaili.

vi /usr/local/psa/admin/conf/httpsd.custom.include

Lisage failile järgmised read:

MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

Pidage meeles, et see valik töötab MediaTemple DV-serverites, kuid seda ei ole kontrollitud ükski teine. (Vt viited)

Plesk välja lülitada või välja lülitada (valikuline)

Kui kasutate Pleski ainult kord aastas, siis on sellel väga vähe põhjust. Pange tähele, et see samm on täiesti valikuline ja veidi arenenud.

Pleski välja lülitamiseks käivitage järgmine käsk:

/etc/init.d/psa stop

Võite selle käivitamisel käivitamisel keelata, käivitades järgmise käsu:

chmod 644 /etc/init.d/psa

Pidage meeles, et kui see keelatakse, siis ei saa te seda käsitsi käivitada ilma failiõigusi tagasi muutmata (chmod u + x).

MySQLi konfiguratsioon

Luba päringu vahemälu

Ava oma fail /etc/my.cnf ja lisage oma [mysqld] jaotises järgmised read nii:

[mysqld] query-cache-type = 1 query-cache-size = 8M

Päringu vahemällu saate lisada, kui soovite, rohkem mälu, kuid ära kasuta liiga palju.

Keela TCP / IP

Üllatav hulk peremeesorganisatsioone lubab vaikimisi juurdepääsu TCP / IP-le MySQL-ile, mis ei ole veebilehe jaoks mõttekas. Võite aru saada, kas mysql kuulab TCP / IP-d, käivitades järgmise käsu:

netstat -an | grep 3306

Selle keelamiseks lisage oma failile /etc/my.cnf järgmine rida:

skip-networking

Apache seadistamine

Ava httpd.conf-fail, mida tihti leiab /etc/httpd/conf/httpd.conf

Leidke rida, mis näeb välja selline:

Timeout 120

Ja muudad seda:

Timeout 20

Nüüd leiate sektsiooni, mis sisaldab neid jooni ja kohandab midagi sarnast:

StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000

PHP konfiguratsioon

Üks asi, mida PHP platvormi serveri tutistamisel silmas pidades silmas pidada, on see, et iga apacheliit laadib PHP-i mällu eraldi asukohas. See tähendab, et kui kasutamata moodul lisab PHP-le 256-kordset mälu, siis on 40 vahemälu vahemikus 40 MB mälu raiskad.

Eemalda soovimatud PHP moodulid

Peate leidma oma php.ini-faili, mis on tavaliselt leitav aadressil /etc/php.ini (Pange tähele, et mõnel levitamisel on kataloogi /etc/php.d/ mitmete.ini failide kataloog üks iga mooduli kohta.

Kommenteerige välja kõik moodulite koormooduli read:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioonikube laadur
  • json
  • imap
  • ldap
  • ncurses

Todo: lisage lisateavet siit.

PHP opcode vahemälu

Seal on mitmeid opcode vahemällu, mida saate kasutada, sealhulgas APC, eAccelerator ja Xcache, millest viimane on minu isiklikud eelistused stabiilsuse tõttu.

Laadige xcache alla ja ekstraktige see kataloogi ja käivitage järgnevad käsklused xcache lähtekataloogist:

phpize./configure --enable-xcache make make install

Avage oma php.ini fail ja lisage uus osa xcache jaoks. Peate kohandama radu, kui teie php-moodulid laaditakse kuskilt mujale.

vi /etc/php.ini

Lisage failile järgmine jaotis:

[xcache-common] zend_extension = /usr/lib/php/modules/xcache.so [xcache.admin] xcache.admin.user = 'myusername' xcache.admin.pass = 'putanmd5hashhere' [xcache]; Change xcache.size to tune the size of the opcode cache xcache.size = 16M xcache.shm_scheme = 'mmap' xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0; Change xcache.var_size to adjust the size of variable cache xcache.var_size = 1M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Off xcache.readonly_protection = On xcache.mmap_path = '/tmp/xcache' xcache.coredump_directory = '' xcache.cacher = On xcache.stat = On xcache.optimizer = Off

Todo: Vajadus seda veidi laiendada ja linke xcache-le lisada.

Varukoopiad

Veebisaidi automatiseeritud varukoopiate tegemine on väga vähe tähtsam. Võimalik, et saate oma virtuaalserverite pakkujalt saada hetktõmmis varukoopiaid, mis on samuti väga kasulikud, kuid eelistan ka automaatset varundamist.

Loo automaatne varundamisskript

Ma alustan tavaliselt kataloogi / varukoopiate loomisega, mille all on / varukoopiad / failide kataloog. Kui soovite, saate neid radu kohandada.

mkdir -p /backups/files

Nüüd looge varukoopia kataloogi varukoopia.sh skript:

vi /backups/backup.sh

Lisage failile järgmine asukoht, kohandades tee ja mysqldump parooli vajadusel:

#!/bin/sh THEDATE=`date +%d%m%y%H%M` mysqldump -uadmin -pPASSWORD DATABASENAME > /backups/files/dbbackup$THEDATE.bak tar -cf /backups/files/sitebackup$THEDATE.tar /var/www/vhosts/my-website-path/httpdocs gzip /backups/files/sitebackup$THEDATE.tar find /backups/files/site* -mtime +5 -exec rm {}; find /backups/files/db* -mtime +5 -exec rm {};

Skript loob esmakordselt kuupäeva muutuja, nii et kõik failid nimetatakse ühe varundamise jaoks samaks, seejärel laaditakse andmebaas välja, tühistatakse veebifailid ja neid gzipsitakse. Leidmiskäske kasutatakse vanemate kui 5 päeva vanuste failide eemaldamiseks, kuna te ei soovi, et teie kettaruum tühjaks jääks.

Käivitage skripti käivitatav käsk järgmiselt:

chmod u+x /backups/backup.sh

Järgmisena peate määrama selle automaatseks käitamiseks cron. Veenduge, et kasutate kontot, millel on juurdepääs varundamiste kataloogile.

crontab -e

Lisage crontabile järgmine rida:

1 1 * * * /backups/backup.sh

Saate proovida skripti õigel ajal, käivitades selle kasutajakonto sisselogimisel. (Ma käitan tavaliselt varukoopiaid rootina)

Sünkroonige varukoopiaid offsiteeris koos Rsynciga

Kui teil on serveri automaatne varundamine, saate seda sünkroonida kusagil mujal rsynci utiliidi abil. Soovite lugeda seda artiklit, kuidas seada ssh võtmed automaatseks sisselogimiseks: lisage serveri SSH-kopeerimine ühtsesse käsku

Seda saab testida, käivitades seda käsku linux või Mac-seadmes teises asukohas (mul on kodus linuxerver, kus ma seda käivitan)

rsync -a [email protected]:/backups/files/* /offsitebackups/

Selleks kulub mõni aeg esmakordselt käivitamiseks, kuid lõpuks peab teie kohalikul arvutil olema kataloogide / offsitebackups / kataloogi failide kataloogi koopia. (Veenduge, et loodud kataloog enne skripti käivitamist)

Selle saab planeerida, lisades sellele crontabi rida:

crontab -e

Lisage järgmine rida, mis käivitab rsync iga tunniga 45-minutilise märgi juures. Märkad, et me kasutame siin rsync täieliku tee.

45 * * * * /usr/bin/rsync -a [email protected]:/backups/files/* /offsitebackups/

Võiksite selle ajakava käivitada mõnel muul ajal või ainult üks kord päevas. See on sulle tõesti nii.

Pange tähele, et on palju rakendusi, mis võimaldavad teil sünkroonida ssh või ftp-ga. Te ei pea rsynci kasutama.

Turvalisus

Esimene asi, mida soovite teha, on veenduda, et teil on tavaline kasutajakonto, mida kasutada ssh-i kaudu, ja veenduge, et root suvalisse administraatorisse sisse lülitamiseks kasutaks su. See on väga halb mõte lubada otsest sisselogimist ssh juurutamiseks.

Keela Root Login üle SSH

Muutke / etc / ssh / sshd_config faili ja otsige järgmist rida:

#PermitRootLogin yes

Muuda seda rida järgmiselt:

PermitRootLogin no

Veenduge, et teil on tavapärane kasutajakonto ja su root võib olla enne selle muudatuse tegemist, vastasel juhul võite end lukustada.

Keela SSH versioon 1

Seal pole tõesti mingit põhjust kasutada muud kui SSH versiooni 2, sest see on turvalisem kui eelmised versioonid. Muuda faili / etc / ssh / sshd_config ja otsige järgmist sektsiooni:

#Protocol 2,1 Protocol 2

Veenduge, et kasutate ainult protokolli 2, nagu näidatud.

Taaskäivitage SSH server

Nüüd peate SSH serveri taaskäivitama, et see jõustuks.

/etc/init.d/sshd restart

Kontrollige avatud sadamate kasutamist

Saate kasutada järgmist käsku, et näha, millised porti server kuulab:

netstat -an | grep LISTEN

Teil ei tohiks midagi kuulata peale pleski portide 22, 80 ja 8443.

Tulemüüri häälestus

Peamine artikkel:Iptablesi kasutamine Linuxis

Saate valikuliselt seadistada iptablesi tulemüüri, et blokeerida rohkem ühendusi. Näiteks blokeerin tavaliselt juurdepääsu muule muule porti kui mu töövõrgust. Kui teil on dünaamiline IP-aadress, soovite seda võimalust vältida.

Kui olete siiani järginud kõiki selle juhendi samme, pole tõenäoliselt vaja segavale tulemüüri lisada, kuid mõistagi on teie võimalusi mõistlik.

Vaata ka

Iptablesi kasutamine Linuxis

Viited

  • Teie DV-serveri (mediatemple.net) optimeerimine
  • XCache

Soovitan: