Sistem yönetimi

Kasım 13, 2009

Güvenli Apache kurulumu (1)

Filed under: Solaris — mbuyukkarakas @ 2:08 pm
Tags: ,

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.

Apache SMF dönüşü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 = <none>

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

Filed under: Solaris — mbuyukkarakas @ 1:52 pm
Tags: ,

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=1014683

 

 

Kasım 5, 2009

Solaris 10 güvenli kurulum (1)

Filed under: Solaris — mbuyukkarakas @ 3:56 pm
Tags: ,

Güvenli bir Solaris 10 kurulumu hazırlamaya çalışıyorum. Olabildiğince az servis ve uygulama yüklü olması tercihim. Gereken her türlü ortamda minimum saldırı yüzeyine sahip, kullanışlı bir işletim sistemi. Üzerinde bayağı zamandır çalışıyorum ve bu konuda bir yordam hazırladığımı söyleyebilirim.

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.

 

patch

Theme: Rubric. WordPress.com'dan blog alın.

Takip Et

Get every new post delivered to your Inbox.

Join 31 other followers