მას შემდეგ, რაც google დაიწყო მიყვარს https საიტები, უფრო საჭირო განლაგების SSL და სადაც თქვენ. საერთო ჯამში უფრო მეტია, ვიდრე ძალადობის სერვერებისათვის და დეგრადაციის სიჩქარით. კარგი ამბავი ის არის, რომ HTTP2 სტანდარტული მეტი წელი და ნახევარი ინტეგრირებულია ყველა ძირითადი http სერვერები და ბრაუზერები და შენარჩუნების სტაბილური საკმარისი. სამწუხაროდ debian სტაბილური არ პაკეტების შენარჩუნება HTTP2 მთავარ http სერვერები. ვერსიები, რომ ჩვენ უნდა ვიმუშაოთ HTTP2 არიან:

  • Apache > 2.4.17
  • nginx > 1.9.5
  • სხვა პირადად არ excite me (lighttpd შესაძლოა დაგეგმილი…..)

ჩემთვის აბსოლუტურად აღრეულია დიდია და შესაბამისად დამოკიდებულია სარგებლობს apache და nginx. მე ჯერ არ ითამაშა მათი პერსპექტივაში apache http2 of debian 8 იმიტომ, რომ არ გვქონდა, არამედ backports რეპო აქვს ისე, ეს არ იქნება დიდი პრობლემა. იყიდება nginx ჩვენ უკვე ითამაშა რამდენჯერმე. ზოგადად ნაბიჯები ცოტაა და შედარებით მარტივი:

  1. სანიშნეს nginx ოფიციალური რეპო – აგრეთვე Debian გამოცემა, გთხოვთ 1.6.h არის 🙄
  2. დააყენეთ თქვენი openssl ეხლა backports ამჟამად 1.0.2k – რომ ჩვენ უნდა ALPN ტექნიკური მიზნით, რომ ყველაფერი მუშაობს და barzichko
  3. დააყენოთ თქვენი devscripts – ახლა არის დრო, რომ გაუზიაროს რომელიც bildnem ჩვენი პაკეტი რადგან ოფიციალური იყო შედგენილი openssl 1.0.1t, რომ არ მუშაობს ALPN და ბრაუზერები არ უპასუხა და მუშაობა http2 მხოლოდ იმ შემთხვევაში, თუ იგი იძულებული გახდა
  4. ნაწილობრივი ვერსიას არ გამართავს ბოშების ერთად პაკეტები და, როგორც ახალი ვერსია მხოლოდ წყარო sinkenm

მოდით დავიწყოთ ეტაპობრივად

სანიშნეს nginx რეპო

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

სანიშნეს openssl 1.0.2k და dev ბიბლიოთეკა წინააღმდეგ შემთხვევაში, ჩვენ bildnem კვლავ 1.0.1t ჩვენს მიზანს არ წარმოადგენს

echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee /etc/apt/sources.list.d/backports.list

apt update && apt install libssl-dev -t jessie-backports

 

ახლა დარჩა დაამატოთ ბიბლიოთეკების საჭირო შედგენა nginx

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

თუ თქვენ მუშაობის სწორად თქვენ უნდა იყოს სტრუქტურა, როგორიცაა

~/nginx-build # ll
total 1004
drwxr-xr-x 10 root root   4096 Feb 21 18:37 nginx-1.10.3
-rw-r--r--  1 root root 103508 Jan 31 17:59 nginx_1.10.3-1~jessie.debian.tar.xz
-rw-r--r--  1 root root   1495 Jan 31 17:59 nginx_1.10.3-1~jessie.dsc
-rw-r--r--  1 root root 911509 Jan 31 17:59 nginx_1.10.3.orig.tar.gz

შემოდის papta რომელშიც unzipped წყარო nginx ჩემი საქმე და nginx-1.10.3 შეასრულოს ბრძანებები, რომელიც ნამატი ვერსია, პირადად მე მირჩევნია, რომ დაამატოთ 1 ავაშენოთ ეს

debchange --newversion 1.10.3-1

მას შემდეგ, რაც თქვენ დაამატოთ ცვლილებების და სურვილისამებრ გაგრძელება ფაქტობრივი კოლექცია

debuild -us -uc -i -I -b -j6

პატარა განმარტება კონფიგურირება ბრძანება:

-ჩვენს -uc ამბობენ, რომ დამწერლობის არ “ხელმოწერილი” .dsc და ცვლილებები ფაილი. -მე და -მე გამოიწვიოს script იგნორირება ფაილი ვერსია კონტროლი. -B წარმოქმნის მხოლოდ პაკეტიდან. -j როგორც, თუ როგორ უნდა პარალელური პროცესი შეადგინონ 🙂

 

მას შემდეგ, რაც აღნიშნული პროცესი დააყენოთ ჩვენი ახალი პაკეტი. თუ თქვენ უკვე დაყენებული nginx უმჯობესია წაშალოთ

apt remove nginx nginx-*

ასევე არ არის ცუდი იდეა, რათა სარეზერვო nginx საქაღალდეში / etc. ზოგადად, განახლება 1.6.5 to 1.10.3 არ მქონდა დრამები მაგრამ თქვენ არასოდეს ვიცი. New paktei მდებარეობს საქაღალდეში ზედა დონის და უნდა იყოს დაყენებული ბრძანება მოსწონს:

dpkg -i ../*.deb

თუ ყველა წავიდა შეუფერხებლად თქვენ მხოლოდ რჩება აწარმოებს nginx პროცესი და შეიძლება კონფიგურაცია http2 აღარ მიზანი ამ მუხლის.

Лесно можем да избием всички mysql заявки на определн потребител с елегантното:

select concat('KILL ',id,';') from information_schema.processlist where user='user123';

Заместваме user123 с желаният от нас потребител и изпълняваме в mysql и всичко е ОК 🙂

ახალი Debian Stable ფაქტია, დაახლოებით ერთი კვირის და ხელში itched განახლება virtualkata მას, მაგრამ მე არ მქონდა დრო დღეს. დღიდან დავიწყე დასაწყისში, გადავწყვიტე დაუთმოს ჩემი დრო განახლება. Промених сорс листа ми като промених wheezy на jessie

sed -i "s/wheezy/jessie/g" /etc/apt/sources.list && apt-get update

აქ ტაშს 2 სარკეები:

  • MariaDB – სარკის აღარ უნდა Jessie მოიცავს მობილური 10.0.6 თავს მე არ იჯდეს კარგად ბევრი. მაშინ 5.5 michetodb და mysql არ არიან საკმაოდ თანმიმდევრული, რადგან იმ დროს იგი შემობრუნდა უკან mysql 5.5.42 – ეს არის ძირითადად jessie
  • DotDeb – მე ეს ადრე for php55 აქ არის ასევე საჭირო, რადგან Jessie გააჩნია 5.6.7-1

მას შემდეგ, რაც მან ზედმეტი სარკეები და ამოტრიალებული მიერ MariaDB to MySQL apt-get dist განახლება აფეთქდა სუფთა, გადატვირთვა და მე უნდა Debian 8.0. გავხსენი ვებ სერვერზე და ჩემი მოულოდნელი მუშაობდა აქ გრძელი ამბავი – რამდენიმე სიტყვა nginx და მე შედგენილი წყარო შემდგომი დამატებითი დავალებები. dpkg-l nginx სრული 1.2 Yep ვინმეს დაავიწყდა unhold არა პაკეტები. Unhold და განახლება ყველაფერი გრაფიკი და nginx-breaking 😆 . Nginx და სამუშაო პროცესების შეკითხვებს და php-FPM პროცესი და runnign მაგრამ php კოდი არ არის შესრულებული და არა შამფურზე შეცდომები 🙄 ჩემი სანიშნეები.

ჩხრეკის შემდეგ, ცვლილების შესახებ ინფორმაციის აღმოვაჩინე შემდეგი გავლის

FastCGI კონფიგურაციის საკითხები ============================

nginx გაიგზავნება შეცვლილია fastcgi_params, რომელმაც გამოაცხადა SCRIPT_FILENAME fastcgi_param. ეს ხაზი უკვე ამოღებულია. ამიერიდან ჩვენ ასევე გადაზიდვა fastcgi.conf ეხლა ზედა საცავი, რომელიც მოიცავს ჯანსაღ SCRIPT_FILENAME პარამეტრის მნიშვნელობა.

ისე, თუ თქვენ იყენებთ fastcgi_params, თქვენ შეგიძლიათ ვცდილობთ გადასვლის fastcgi.conf ან ხელით მითითებული შესაბამისი params.

bingo. მე შეიცვალა ვირტუალური მასპინძლებს გამოიყენოთ fastcgi.conf ნაცვლად უხეში intrusions და ყველაფერი განათებულ. მაშინ მოხვდა სწრაფი diff დაინახოს, თუ რა არის განსხვავება 2 config

diff /etc/nginx/fastcgi_params /etc/nginx/fastcgi.conf
1a2
> fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

რომელიც მაგონებს, რომ ასხამს დიდი კონფიგურაციის ვირტუალური მასპინძლებს მაგარი იდეა. იგი რჩება recompiled ერთხელ nginx და ons, ვისაც სურს mod_sec + PageSpeed ​​მაგრამ რომ მოიცდის. გაცილებით უფრო მნიშვნელოვანია, че правилото ми се повтори ако нямаш огледа от 3-ти източници и кастъм изпълнения Debian не се чупи при dist-upgrade!

https://www.youtube.com/watch?v=gEQCny6zNF0

ყველას, ვინც ჩართული ვებ ჰოსტინგი იცის, რა საფრთხე ინფიცირებული მომხმარებლების malware, ვებ ჭურვი და ა.შ.. იმ შემთხვევაში, ეს ზოგადი h არ არის ცუდი script. იგი აღჭურვილია 3 რამ

  1. საშინლად ნელი
  2. ეს საშინლად ნელი და თუ მას ნება მონიტორინგის რეჟიმი izgavri სერვერზე
  3. ინარჩუნებს თავის მონაცემთა ბაზაში md5 / hex განმარტება ცუდი კოდი.

უბრალოდ ბოლო დამახასიათებელი ხდის სასარგებლოა, იმიტომ, რომ გარდა არაფერი შეგიძლიათ sabmitvash ფაილი, რომელიც არ იქნა ჯერჯერობით, და შემდგომ ეტაპზე მოვა მონაცემთა ბაზები. როგორც მე გაუზიარეს წერტილი 1 და 2 სიჩქარე shockingly დაბალი – დაბალი დატვირთვის მანქანა 70K ფაილი დასკანირებული დაახლოებით ერთი საათი და ნახევარი. ამ მიზეზის გამო დავიწყე, რათა დაეხმაროს ჩემი კარგი მეგობარი ერთად ShadowX Malmo – ალტერნატიული maldet დაწერილი Python პატარა მოქნილობა. სამწუხაროდ, დროის სიმცირის გამო, (ძირითადად, მაგრამ არა მხოლოდ) ჩვენ არ დასრულდება პროექტის, რომელიც იმ მომენტში არ არის ძალიან გამოსადეგი – არსებობს ბევრი შეცდომები, რომ უნდა იყოს გაწმენდილი. ბოლო დღეებში მქონდა პრობლემები კლიენტებს ინფიცირებული CryptoPHP რომელსაც ჰქონდა დიდი ფაილი public_html ~ 60k + inod და მომხმარებელი. მას შემდეგ, რაც სულ უნდა იყოს დასკანირებული მეტი 200k ფაილი, რომელიც დაახლოებით დასჭირდება 5+ საათი გადავწყვიტე სრულყოფილი კონფიგურაციის maldet, შეამციროს ფაილი რომ სკანირებული იქნება უფრო გონივრული რაოდენობა და დრო. მიუხედავად იმისა, რომ კრეფა confit შენიშნა შემდეგი ხაზები

# Attempt to detect the presence of ClamAV clamscan binary
# and use as default scanner engine; up to four times faster
# scan performance and superior hex analysis. This option
# only uses ClamAV as the scanner engine, LMD signatures
# are still the basis for detecting threats.
# [ 0 = disabled, 1 = enabled; enabled by default ]
clamav_scan=1

საინტერესოა… როგორც ჩანს, არსებობს შესაძლებლობა, გამოიყენოს ClamAV – რომელიც ასევე წარმოდგენილია დიდი სიჩქარე მაგრამ რატომ არ ცდილობენ. სწრაფად დაყენებული

/scripts/update_local_rpm_versions --edit target_settings.clamav installed

/scripts/check_cpanel_rpms --fix --targets=clamav

Maldet პერსპექტივაში და პატარა დირექტორია – მე ვერ ვხედავ განსხვავებას სიჩქარე და ქცევა – ის თავისი თავის perl-სათხილამურო სკანერი ნაცვლად, რომ ClamAV. ხანმოკლე დაფქვის გზით წყარო maldet გამოჩენას შემდეგი ხაზები

 clamscan=`which clamscan 2> /dev/null`
 if [ -f "$clamscan" ] && [ "$clamav_scan" == "1" ]; then
        eout "{scan} found ClamAV clamscan binary, using as scanner engine..." 1
    for hit in `$clamscan -d $inspath/sigs/rfxn.ndb -d $inspath/sigs/rfxn.hdb $clamav_db -r --infected --no-summary -f $find_results 2> /dev/null | tr -d ':' | sed 's/.UNOFFICIAL//' | awk '{print$2":"$1}'`; do

Yep გააკეთა რომელიც clamscan და ჩემდა გასაკვირად აღმოვაჩინე, რომ ClamAV არ არის PATH მაგრამ dumb cPanel დატოვა იგი მხოლოდ / usr / local / cPanel / 3rdparty / bin /, სადაც იგი binarkite. სწრაფი ln პრობლემის მოგვარება:

ln -s /usr/local/cpanel/3rdparty/bin/clamscan /usr/bin/clamscan

In თავიდან სკანირება maldet უკვე ცნობით დაბრუნება

{scan} found ClamAV clamscan binary, using as scanner engine...

მას შემდეგ, რაც გამოიყენება ClamAV maldet სრულდება სკანირების თქვენი 3-4-5 ჯერ უფრო სწრაფად, ვიდრე ადრე. ანალიზმა აჩვენა, – 70k-inod და რუბლს გარშემო 25 min რომელიც დაახლოებით 3 და ნახევარი ჯერ უფრო სწრაფად, ვიდრე ადრე.

სანამ ის დაიწყო მეორე შემთხვევითი სიძულვილის to 50 s'tinki OS ვგულისხმობ, რომ ყოველ დღე მაქვს ადმინისტრირება მისი ვიცით, პირველი პირის სინგულარული საკმაოდ კარგად. დღეს გავატარე დრო iztestvam ახალი ჯადოსნური არნახულ და უხილავი ფუნქცია distrubitiven განახლება (ფსევდო) 😀 . პირველი, რაც გამაკვირვა არის, რომ RedHat მისი სიბრძნის არ გადაწყვიტა, შეეწყვიტა მხარდაჭერა x86 არქიტექტურა 🙄 . მე სრულად მაქვს გაცნობიერებული, რომ ჩვენ 2014 წლის და სერვერული პროცესორები 32 ცოტა ხნის დავალებით აკლია. კი, მაგრამ რა მომხმარებლები ნუ პატარა VPS და – x64 paw მეტი RAM, როგორც შეხედავთ თუ თქვენ გაქვთ წვრილი ვირტუალური მანქანა ერთად 512-1GB of RAM იბრძოლებს ყოველ megabay გაკეთება და არ დაგვრჩა 20-30% უბრალოდ გამოიყენოთ დიდი კომპლექტი ინსტრუქციები. Prepsuvah იმიტომ, რომ მე instalil CentOS x86 და x64 გამოყვანილია ერთი. მაშინვე ვნახე განსხვავება ISO-ე – ~ 100 მბ მინიმალური при 6.5. Prepsuvah კიდევ ერთი დრო. მე დაყენებული ერთხელ virtualkata გადავწყვიტე, თუ რამდენად კარგად RedHat თავისი საქმე – მივეცი / var და / usr ცალკე დაყოფა დანაყოფები 😈 . ინსტალაციის შემდეგ განახლებულ პაკეტები და apache, php, mysql და სავალდებულოა – საინტერესო იყო, რომ დაჭერა სახანძრო. გაიხსნა როგორც კარგი სტუდენტი ხელმძღვანელობა CentOS განახლება და დაიწყო გატაცებით დაიცვას ეტაპობრივად. როდესაც მე მიაღწია მომენტში დაიწყება ფაქტობრივი განახლება ამ მთის ლომები მოჩუქურთმებული me, მე მაქვს სერიოზული პრობლემა 🙄 . დაწვრილებით გამომავალი – mdaaaa / usr მას არ შეუძლია ცალკე დანაყოფი 😆 ვიცოდი, მე არ იქნება იმედგაცრუებული Jim Whitehurst და კომპანიის. გადარჩენა “ექსტრემალური” პრობლემა საკმაოდ შეტყობინებები ხელმოუწერელი პაკეტები, konfizi ფაილი, რომელიც არ ემთხვევა, და ა.შ.. WTF კი არ გამოიყენოთ მესამე საცავებში ყველაფერს თავისი სარკეები გამოყვანილია ჩემი მე არ კეთდება ნებისმიერი პარამეტრების უბრალოდ yum install. ახლა ყველაფერი ნათელი იყო, ასე რომ საკმაოდ უცერემონიოდ იძულებული განახლება. თავიდან ისევ გატაცებით, როგორც მე საბოლოოდ შეგახსენებთ, სცენარის და ეს იყო მთელი for / usr დანაყოფი. მე ძალიან ზარმაცი, რომ ცდილობენ ფიქსის, მაინც ეს იყო მხოლოდ სამეცნიერო მიზნებით არსებობს გზა სერვერზე პროდუქტის განახლება დროს. მე დაჭერილი გადააყენეთ თქვენს virtualkata ამ დროს ყველაფერი shove ეს 1 წილი. გარდა ამისა, მე მივიღე გაკვეთილი, განახლებები რაიმე დამატებითი sarvasi, შემდეგ ინსტალაცია პირდაპირი განახლება. საბოლოო ნაბიჯი ერთხელ გამოვიდა DOSA დიალოგი, რომელმაც მითხრა,, მაქვს ბევრი უბედურება High – არასწორი პაკეტები, konfizi და ა.შ., მაგრამ ვერ გაგრძელდება. ვიცოდი, რომ დასაწყისში არ აიძულებს არასწორი რამ. მე გადატვირთეთ ერთხელ და დაელოდა – oh რა სასწაული განახლება წარმატებით დასრულდა. და იგი მუშაობდა, ან თუნდაც boot და არ ცდილობდა დამატებითი პაკეტების დასაყენებლად, მაგრამ შეჩერდა ბრძანება დამოკიდებულია – sys მაინც უნდა იყოს bug 💡 . მას შემდეგ, რაც მთელი ამ Tarapoto გადავწყვიტეთ, რომ დააყენოთ სუფთა Centos 7 თუ ჩვენ მბრდღვინავი / boot დანაყოფი დაყოფა – 6.5 არ დაუშვებს ასეთი ქედმაღლობა. ISO-მე დაიწყოს და მე, რბილად რომ შოკირებულია ინსტალერი – ეს არ იყო ძალიან კომფორტული “tidy”, სრულიად ალოგიკური ლამაზი. მას შემდეგ, რაც რამდენიმე ბრძოლა მოახერხა სანუკვარ მიზანს, და ჰო, ინსტალაცია და clap, თქვენ უნდა დააყენოს /boot გარეთ LVM- 👿 ეს ძალიან სერიოზული და შემაშფოთებელი, თუ რატომღაც დაავიწყდა, გაზრდის ზომა boot დანაყოფი საწყისი 200MB და paratroopas ძველი ბირთვი, რა მოხდება,.

ზოგადად, არაფერი არ არის მოსალოდნელი, და მიუხედავად იმისა, რომ მე ვარ იმედგაცრუებული CentOS.