Cuma, Kasım 20, 2009
NFS automount problemi Solaris 10
Link : Solaris 10 yama yönetiimi
Defunct process'leri öldürmek
Çarşamba, Kasım 18, 2009
Güvenli Apache kurulumu (1) : Not
Farklı zamanlarda yaptığım iki kurulumda aynı sorun ve dosyayı gördüm. Her ikisinde de httpd.pid dosyasının sahibi hala root:root idi. Dosyanın sahibini webservd olarak değiştirerek servisi yeniden başlatınca, Apache servisi olması gerektiği gibi "webservd" hesabı altında çalıştı.
Cuma, Kasım 13, 2009
Güvenli Apache kurulumu (1)
Solaris 10 sunucularımızda Apache 2.2.x sürümlerini çalıştırmak için hazırlık yapıyoruz. Elbette güvenli kurulumun üzerinde yine aynı şekilde güvenli modda çalışan uygulamalar istediğimiz için Apache web server'ın da güvenli kurulumuna dair araştırmalar yapmaya başladık.
Bu ilk kısımda Sun'ın bu konuda yayınlanmış belgelerini referans alarak Apache'nin kısıtlı yetkilerle kontrollü çalıştırılmasına dair bulduklarımı özetlemeye çalışacağım.
Apache'nin SMF servisi olarak nasıl çalıştırılacağını daha önceki bir yazımda açıklamıştım.
SMF servisi olarak başlattıktan sonra servisin deamon veya root gibi kullanıcı hesapları yerine, kısıtlı yetkilere sahip webservd hesabıyla çalıştırılabilmesi için aşağıdaki komutların takip edilmesi yeterlidir.
# svccfg -s apache2
svc:/network/http:apache2> setprop start/user = astring: webservd
svc:/network/http:apache2> setprop start/group = astring: webservd
Apache servisinin minimum yetki seviyesinde çalıştırılması için gereken ayarlamalar yapılıyor.
svc:/network/http:apache2> setprop start/privileges = astring: basic,!proc_session,!proc_info,!file_link_any,net_privaddr
svc:/network/http:apache2> setprop start/limit_privileges = astring: :default
svc:/network/http:apache2> setprop start/use_profile = boolean: false
svc:/network/http:apache2> setprop start/supp_groups = astring: :default
svc:/network/http:apache2> setprop start/working_directory = astring:
:default
svc:/network/http:apache2> setprop start/project = astring: :default
svc:/network/http:apache2> setprop start/resource_pool = astring: :default
svc:/network/http:apache2> end
Bu noktada servisi yeniden enable etmek gerekiyor.
# svcadm -v enable -s apache2
svc:/network/http:apache2 enabled.
Eğer servis daha önceden çalıştırılmışsa /usr/local/apache2 dizininin sahipliği bin:bin olarak düzenlenmiştir. Bu durumda webservd hesabı log dosyalarını okuyamayacağı için aşağıdaki hata mesajını alabilirsiniz.
# cat /var/svc/log/application-web-apache2:default.log
[ Nov 13 14:46:31 Executing start method ("/usr/local/apache2/bin/apachectl start") ]
(13)Permission denied: httpd: could not open error log file /usr/local/apache2/logs/error_log.
Bu durumda klasör sahipliğini webservd hesap ve grubuna devretmek gerekiyor.
# chown -R webservd:webservd /usr/local/apache2/
Daha sonra sunucuyu yeniden başlattığınızda httpd servisinin yalnızda bu kullanıcı hesabıyla çalıştığını kontrol etmelisiniz.
# ps -ef|grep http|grep -v grep
webservd 714 459 0 15:12:56 ? 0:00 /usr/local/apache2/bin/httpd -k start
# ppriv -S 714
714: /usr/local/apache2/bin/httpd -k start
flags =
E: net_privaddr,proc_exec,proc_fork
I: net_privaddr,proc_exec,proc_fork
P: net_privaddr,proc_exec,proc_fork
L: all
Vmware Tools 4.0 ve Solaris 10
Vsphere 4.0'a geçtiğimizden bu yana sanal Solaris 10 sunucularının vmware tools paketlerini değiştirmek için fırsat kolluyordum. Geçen hafta sonu bir kaç makinede bu işlemi yapıp yeni VM tools'u yükledikten sonra servisin kendiliğinden kapandığını farkettim. Makine açılışında servis açılıyor ancak daha sonra kapanıyordu. Bu konuyla ilgili küçük bir araştırmadan sonra UTF-8 locale ile ilgili aşağıdaki paketin yüklenmesi gerektiğini öğrendim. Paket yüklendikten sonra sunucular sorunsuz olarak VM tools'u çalıştırmaya başladılar.
VMware Tools does not start on a Solaris guest
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1014683Perşembe, Kasım 05, 2009
Solaris 10 güvenli kurulum (1)
Temel paket olarak Core Networking (SUNWcreq) paketini kullandım. Aşağıda gerekli olduğunu düşündüğüm ve ek olarak yüklediğim paketler bulunuyor.
- Automated Security Enhancment Tools (SUNWast)
- Audit Service Implementation (SUNWaudit)
- Basic Audit Reporting Tools (SUNWbart)
- Documentation Tools (SUNWdoc )
- Freeware other utilities (SUNWCfwutil)
- Freeware shells (SUNWCfwshl)
- On-line manual pages (SUNWman)
- Secure Shell (SUNWCssh)
Daha sonra sıra yamalamaya geldi. PCA (Patch check advanced) scriptini kullanarak sunucumun yamalarını yükledim. Bu yükleme için yalnızca Perl'e ve wget'e ihtiyaç duyuluyor. Perl mevcut kurulumda gelmekte. wget ise
- GNU wget (SUNWCwget)
- Bağımlılık - Common GNU package (gcmn)
paketlerinin yüklenmesiyle hazır hale geliyor. PCA'nın aktif hale gelmesi için sunucunuzu doğrudan HTTPS ile Internet'e çıkabilir hale getirmek gerekli. Çalıştığında 60'a yakın yama buluyor ancak bende bunlardan yalnızca 20'sini yükledi.
http://www.par.univie.ac.at/solaris/pca/intro.html
Bu işlemler bittikten sonra da sunucuya Solaris Security Toolkit (SUNWjass) ile bazı ilave düzenlemeler yaptım. SUNWjass'ı http://www.sun.com/software/security/jass/ sayfasından indirebilirsiniz. Araç hakkında detaylı bilgiye bu blogdan ulaşmak mümkün.
SUNWjass çalıştırıldığında /etc/hosts.deny dosyasına ALL kaydını ekliyor. Dolayısıyla başta ayarları özelleştirmezseniz bir sonraki açılışta sunucuya SSH bağlantısı yapamayacaksınız anlamına geliyor. Bu nedenle uygulamadan önce test sistemlerinde çalıştırmak ve özelleşmiş ayarlarla prod sistemlerine geçmek en doğrusu.