Linux sistemlerde son zamanlarda ortaya çıkan bir otomatik güncelleme furyası var Centos/RHEL ailesi bunu uzun zamandır yapıyordu zaten. Kurumsal çözümler için oldukça güzel bir durum her paketin anında güncellenmesi yerine sadece güvenlik güncelleştirmelerinin geçilmesi yeter
Kritik çalışan ve sorun olması istenmeyen durumlar için çoğu zaman güvenlik güncelleştirmeleri bile göz ardı edilir. Çalışıyorsa dokunma mantığı bu gibi durumlar için risk oluşturur.
Gelin hep beraber Centos/RHEL ailesinde bu durumu nasıl çözebileceğiz bir bakalım
İlk önce yum-cron
adlı paketi sistemimize dahil etmemiz gerekiyor. Bu paket bize gerektiği zaman güncellemeyi otomatik olarak yüklemesini sağlayacak
yum -y install yum-cron
Bu komut, yum-cron paketini kısa bir sürede yükleyecektir, şimdi yapılandırma zamanı geldi, varsayılan yapılandırma dosyası /etc/yum/yum-cron.conf
dır.
# What kind of update to use:
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix upgrade-minimal
# minimal-security = yum --security upgrade-minimal
# minimal-security-severity:Critical = --sec-severity=Critical upgrade-minimal
update_cmd = default
# Whether a message should be emitted when updates are available,
# were downloaded, or applied.
update_messages = yes
# Whether updates should be downloaded when they are available.
download_updates = yes
# Whether updates should be applied when they are available. Note
# that download_updates must also be yes for the update to be applied.
apply_updates = no
# Maximum amout of time to randomly sleep, in minutes. The program
# will sleep for a random amount of time between 0 and random_sleep
# minutes before running. This is useful for e.g. staggering the
# times that multiple systems will access update servers. If
# random_sleep is 0 or negative, the program will run immediately.
# 6*60 = 360
random_sleep = 360
Şimdi bu default yapılandırma dosyamız içerisinde yapılacak olanları belirleyebiliyoruz. Biz sadece güvenlik güncelleştirmelerini yapmak istiyoruz. Bunun aynı zamanda otomatik olmasınıda istiyoruz.
İlk olarak bence en can alıcı noktamız, CENTOS/RHEL 6 serisinde hangi tür güncellemenin otomatik olarak yapılabileceğini seçemiyorduk, CENTOS/RHEL 7’de bu konu çözülmüş ve bir çok seçenekte yukardaki gibi getirilmiş.
Şimdi geldik yapılandırmayı yapmaya güvenlik güncelleştirmeleri için aşağıdaki değişikliği default yapılandırma dosyası üzerinde uygulayınız.
update_cmd = security-severity:Critical
Bu size sistem üzerinde tüm güvenlik güncelleştirmelerini değil sadece kritik olanları getireceği anlamına gelir. Böylelikle sistemde istenmeyen durumların önüne geçebilirsiniz.
Ne demiştik kritik servislerin çalışmasına engel olmayacak şekilde güvenlik yamalarını yapmamız önemli demiştik. Yeniden başlaması uzun sürecek servislerin yeniden başlatılması önerilmez. Bu yüzden aşağıdaki parametreyi kullanmanız zorunludur.
exclude=kernel* mysql*
Bu uygulamalara gelecek olası güvenlik güncelleştirmelerini yapmak için ise yoğunluğun az olduğu, kesintinin sisteminizi etkilemeyeceği bir zamanı seçip güncellemeleri yapabilirsiniz. (Örneğin gece 03:00 gibi)
Aynı zamanda bu güncellemelerin otomatik olarak yapılmasınıda sağlayabilirsiniz.
apply_updates = yes
Tabi ben gözümle göreceğim illaki derseniz bu seçeneği no
olarak ayarlayın sadece size mail yada sunucuya bağlandığınızda bir mesaj olarak kritik güncelleştirmeler var bak yap yoksa sıkıntı çıkar diye uyaracak
Tabi mail ile size ulaşabilmesi için aşağıdaki ayarlarında aynı yapılandırma dosyasının en altına eklenmesi gerekiyor.
[email]
email_from = [email protected]
email_to = [email protected]
email_host = smtp.mertcangokgoz.com
Kayıt edip çıkış yapıyorsunuz bundan sonra güncelleme geldiğinde ve güncellemelerin durumları hakkında hem size bildiriyor hemde yaptıklarına dair bir bildirimde atmayı ihmal etmiyor.
Servisin çalıştığını ise systemctl status yum-cron.service
komutu aracılığı ile öğrenebilirsiniz. Daha yeni kurduysanız ve ayarlamarı yeni yaptıysanız. stopped
olarak görmeniz gayet normal bu durumda systemctl start yum-cron.service
komutu ile servisi başlatabilirsiniz.
Hocam öncelikle tesekkürler, cok güzen anlatmissiniz.
Benim Centos hakkina farkli bir sorum olucak. Simdi ben, sunucuya port ekliyorum ( udp ), ardindan save yapip reload diyorum. Fakat port ekleme basarili vs. demesine ragmen port eklenmiyor. Yani sorguladigimda, o port kapali görünüyor. Tekrar eklemek istedigimde ise, port zaten var hatasi aliyorum. Bunu nasil cözebilirim?
Merhaba
Port eklemelerini yaparken `–permanent` parametresi ekliyormusunuz. Kalıcı olabilmesi için bu komutun geçirilmesi gerekiyor. Ayrıca seçtiğiniz zone public olarak geçmeli yoksa yaptığınız değişiklikler genele yansımaz. Aktif alanlar için `firewall-cmd –get-active-zones` komutunu verip kontrol sağlayabilirsiniz.
Merhaba,
Öncelikle yazı için teşekkürler. Sanırım bu özellik aslında Centos Panel Pro içinde mevcut. Centos Panel Pro almadan da bu belirttiğiniz otomatik update işlemi geçerli olabiliyor.
Burada bir kaç şey soracağım ;
1 – “update_cmd = security-severity:Critical” yerine “security” parametresi ile kurmak ne kadar mantıklıdır. Yani sadece kritik olanları değil, tüm security ile ilgili şeyleri güncellemesi daha doğru olmaz mı ?
2 – Geceleri 3’de bu işlemi yapın demişsiniz, bunun komutu nedir ?
3 – Random_Sleep parametresinden de biraz bahsedebilir misiniz ? Sanırım default hali 6 saat de bir kontrol ediyor ? Mesela sadece gece 3 de kontrol edip, var ise download edip uygulaması için ne yazmak gerekir ?
Bu özellik işletim sisteminin bir özelliğidir. İşletim sistemine yazılmış bir uygulamaya has değildir.
1. Tüm güvenlik güncelleştirmelerini gerçekleştirmek kritik sistemler için önerilmez. Kapatılmaması gereken bir servisin olumsuz etkilenmesini kimse istemez. Kişisel bir alan ise fark etmez ayarları kendinize göre özelleştirebilmekte özgürsünüz.
Diğer 2 sorunuzun çözümünü olarakda direk cron işlemleri ayarlayarak çözebilirsiniz. Eş zamanlı çalışabiliyorlar.
Teşekkürler cevabınız için.