2 Eylül 2013 Pazartesi

snmp community name change


snmp community name change

Merhabalar,

Sistemciler olarak sıklıkla karşılaşacağımız sorunlardan biride public olarak gelen snmp community namelerin güvenlik açığı olarak bize bildirilmeleridir.

İşletim sistemine göre snmpd.conf dosya yolu:

  • Centos/Redhat ---------------/etc/snmp/snmpd.conf
  • Solaris 10 --------------------/etc/sma/snmp/snmpd.conf
  • Solaris 11 --------------------/etc/net-snmp/snmp/snmpd.conf


İşletim sistemine göre snmp servisi restart :


  • Centos/Redhat ---------------service snmpd restart
  • Solaris 10
  1. svcs -a | grep sma   # sma servisin aşağıdaki gibi mi yoluna bakılır
  2. svcadm restart svc:/application/management/sma:default
  • Solaris 11
  1.  svcs -a | grep snmp   # snmp servisin aşağıdaki gibi mi yoluna bakılır
  2. svcadm restart svc:/...






















27 Ağustos 2013 Salı

Centos/Redhat TCPdump

Centos/Redhat TCPdump

Merhabalar,

Centos/Redhat sunucular üzerinde ilave bir program yüklemeden istediğiniz network kartından geçen tüm trafiği kaydedip sonra bunu wireshark uygulamasında açabiliriz. Hatta bazı kurallar koyup işimize yaracak paketleri seçebiliriz. Bir fikir vermek adına webserver olarak hizmet vermekte olan centos sunucuda aşağıdaki komut ile eth1 portundan ve sadece 80 portuna yapılan paketleri output.pcap dosyasına kaydediyor.



tcpdump -n -i eth1 -s 0 -w output.pcap src or dst port 80


Dosyayı wiresharkda inceleyiniz

24 Ağustos 2013 Cumartesi

Android tcp dump wireshark

Merhaba Arkadaşlar,


Bugün ihtiyacım olan ve aramalarım sonucunda tesadüfen bulduğum bir uygulamayı tanıtacağım.

Android cihazlarda internet trafiğini incelemek istiyordum. Wifi üzerinden akan trafiği fiddler üzerinden proxy yapınca inceleyebiliyordum. Peki GSM üzerinden akan trafiği nasıl inceleyeceğiz?

Sorunun cevabı tPacketCapture ... Uygulamayı yazanlara çok teşekkür.
Ben 4.2.2 Xperia Z telefonumda denedim. Hemde root yetkisi istemiyor..



Kaydedilen dosyayı PCde Wireshark ile açıp detaylı inceliyoruz...

20 Ağustos 2013 Salı

Centos/redhat FW kuralları iptables





Merhabalar,

Centos üzerinde bir uygulama ile fw da bir porta izin vereceğiz. Ve bu kuralımızı kalıcı hale getireceğiz.


[root@syslog ~]# iptables -I INPUT -p tcp --dport 514 -j ACCEPT
[root@syslog ~]# iptables -I INPUT -p udp --dport 514 -j ACCEPT
[root@syslog ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@syslog ~]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:514
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:514

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

 

24 Temmuz 2013 Çarşamba

Sunucu adını değiştirme





Merhabalar,

Centos üzerinde sunucunun ismini (hostname) değiştirmek bilmeyenler için zordur. Aslında çok basit.Aşaığdaki dosyada localhost yazan yeri istediğimiz(türkçe karakter olmadan) isimle değiştiriyoruz. Ve sunucu yerniden başlatıyoruz.


vi /etc/sysconfig/network  #eski ismini değiştiriyoruz.

Ayrıca

vi /etc/hosts     #dosyasında eski adıyla ilgili alanları değiştiriyoruz.
127.0.0.1 <HOSTNAME.example.org> <HOSTNAME> localhost
::1 <HOSTNAME.example.org> <HOSTNAME> localhost
172.20.31.155 <HOSTNAME.example.org> <HOSTNAME> localhost

init 6  #shutdown -r now  ile aynı
:) 

 Peki Solaris de durum nedir?


Aşağıdaki dosyalarda tüm eski hostname adını değiştiriyoruz.


/etc/nodename
/etc/hostname.*interface
/etc/inet/hosts
/etc/inet/ipnodes



Ve son olarakda /var/carsh isimli klasörün adını değiştiriyoruz.
 

and rename directory under /var/crash

# cd /var/crash
# mv oldname newname

then reboot the server.





23 Temmuz 2013 Salı

snmp istek logunu kapatmak


snmp istek logunu kapatmak


Merhabalar,
Bazı sunucularda sunucu üzerine gelen her snmp isteklerini logladığınızı görürsünüz. Buda /var/log/messages dosyasının dolamasına hatta syslog kullanıyorsanız gereğinden fazla log attığını görürsünüz. Peki bu info mesajları nasıl kapatabiliriz sorunusu aradım. Çözüm basit. Bulduğum sayfanın orjinalinide ekliyorum.

vi /etc/sysconfig/snmpd.options   

 #aşağıda yazana benzer bir ifade bulacaksınız.sadece başındaki -LS0-4d kısmını benzetin. burda 0 ile 4 arasındakileri logla diyor.

 ... OPTIONS="-LS0-4d -Lf /var/log/snmpd.log -p /var/run/snmpd.pid -a" ...
Son olarak
service snmpd restart

 

 

(RHEL) HOWTO stop snmpd spamming /var/log/messages

Jump to: navigation, search

Contents

Introduction

The default installation of net-snmp package comes with a default configuration which cause snmpd to log at debug level within /var/log/messages. When using monitoring systems which make snmp requests every 5 minutes, it spams totally /var/log/messages with messages like:
Command: content of /var/log/messages
# tail /var/log/messages
...
Jan 23 11:10:30 sv0143 snmpd[3968]: Received SNMP packet(s) from UDP: [192.168.0.2]:54579
Jan 23 11:10:30 sv0143 snmpd[3968]: Connection from UDP: [192.168.0.3]:50596
Jan 23 11:10:30 sv0143 snmpd[3968]: Received SNMP packet(s) from UDP: [192.168.0.3]:50596
Jan 23 11:10:30 sv0143 snmpd[3968]: Connection from UDP: [192.168.0.3]:50596
Jan 23 11:10:30 sv0143 snmpd[3968]: last message repeated 8 times
This annoying behavior can be corrected by reconfiguring the snmpd daemon to log within its own files and to log on only errors to /var/log/messages.

Reconfigure snmpd

To change the way snmpd is logging, it needs to be reconfigured as follow. As root, open the file /etc/sysconfig/snmpd.options using vi:
Command: editing /etc/sysconfig/snmpd.options
# vi /etc/sysconfig/snmpd.options
Add the following line:
Config File: /etc/sysconfig/snmpd.options
...
OPTIONS="-LS0-4d -Lf /var/log/snmpd.log -p /var/run/snmpd.pid -a" 
...
Which means:
  • -LS0-4d : logging only log levels from 0 to 4 to syslog. Those levels are described below:
    • 0 or ! for LOG_EMERG,
    • 1 or a for LOG_ALERT,
    • 2 or c for LOG_CRIT,
    • 3 or e for LOG_ERR,
    • 4 or w for LOG_WARNING,
    • 5 or n for LOG_NOTICE,
    • 6 or i for LOG_INFO,
    • 7 or d for LOG_DEBUG.
  • -Lf /var/log/snmpd.log: logging everything to /var/log/snmpd.log
Then restart the snmpd service using:
Command: restarting snmpd
# service snmpd restart

Enhance log rotation

To be sure that the new log file is rotated as wanted, check the file "/etc/logrotate.d/snmpd":
Command: editing /etc/sysconfig/snmpd.options
# vi /etc/logrotate.d/snmpd
In this case, the rotate 52 and compress will be added in the default configuration file to save an history of 52 weeks of compressed logs.
Config File: /etc/logrotate.d/snmpd
  /var/log/snmpd.log {
    rotate 52
    compress
    notifempty
    missingok
    postrotate
      /bin/kill -HUP `cat /var/run/snmpd.pid 2> /dev/null` 2> /dev/null || true
    endscript
  }
Note Note: Adding rotate 52 and compress to /etc/logrotate.d/snmpd is needed only if it was not defined globally in /etc/logrotate.conf

External Links

9 Temmuz 2013 Salı

Redhat OS yum icin centos deposu ekleme ve proxy üzerinden internete çıkarma

Centos deposu oluşturuyoruz:

vi /etc/yum.repos.d/centos.repo

[centos]
name=CentOS $releasever - $basearch
baseurl=http://ftp.heanet.ie/pub/centos/5/os/$basearch/
enabled=1
gpgcheck=0


cat /etc/redhat-release

6 ise

[centos]
name=CentOS $releasever - $basearch
baseurl=http://ftp.heanet.ie/pub/centos/6/os/$basearch/
enabled=1
gpgcheck=0



--------------------------------------------------------------------------------------------------------------------------

Yum için Proxy Ayarı:


vi /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
proxy=http://192.168.15.196:8080

#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d












5 Temmuz 2013 Cuma

SSH ile şifresiz login olma RSA Public key (2)


Merhabalar,

bir önceki yazımda SecureCRT ile oluşturduğum keylerin çalışmamasının sebebini öğrendim.

Yazının orgilan yeri :
http://www.ipsure.com/blog-tr/2010/ssh-public-key-rsa-ile-kimlik-denetimi-ve-ssh-tunneling-bolum-1/



İlk önce public-private anahtar çifti oluşturmalıyız. Bunun için aynı zamanda SSH sunucusuna bağlantı gerçekleştirirken yararlanacağımız SecureCRT terminal emulation yazılımını kullanacağız. Dilerseniz PuTTY gibi ücretsiz bir yazılımı da tercih edebilirsiniz.
Aşağıdaki gösterildiği şekilde anahtar oluşturma sihirbazını çalıştırarak public anahtar tipini RSA olarak seçiyoruz.



Private anahtarın sadece istemci tarafında bulundurulacak olması dolayısıyla her ne kadar bu anahtara ilişkin şifre belirleme işlemi opsiyonel olsada, özellikle private anahtarın kendisine izinsiz fiziksel erişim ve dolayısıyla da bu anahtarın erişim yetkisi bulunan sistemlere uzaktan erişim ihtimaline karşı güvenilirliğini sağlamak anlamında mutlaka bir şifre verilmesi ve bu şifre olmaksızın kullanılmasının önlenmesi son derece önemlidir. Bunun ötesinde özellikle ciddi uygulamalarda, verilecek olan şifrenin güvenilir şifre belirlemek için bilinen genel kriterler doğrultusunda; kullanıcı ismi, isim – soyad, doğum günü, adres /coğrafi lokasyon gibi kişisel bilgiler, sözlük kelimeleri, tekrarlama ve ardaşık karakterler içermeyen, rakam + sembol + büyük ve küçük harf kombinasyonu ile ve mümkün olduğunca yüksek entropy değerine sahip olacak uzunlukta (~ min. 12 karakter) seçilmesi önerilir.

Anahtar uzunluğumuzu 2048 bit olarak belirliyoruz.

Anahtarın oluşturulabilmesi için gereken rastlantısal girişi sağlayabilmek üzere ilk bar dolana dek mouse’umuzu pencere içerisinde rastgele hareket ettiriyor ve daha sonra anahtarın oluşturulması işleminin tamamlanmasını bekliyoruz.

SSH bağlantısı gerçekleştirmek istediğimiz sunucuda OpenSSH uygulaması çalışmakta ise anahtar formatını “OpenSSH Key format” olarak seçiyoruz ve anahtar çiftine verilecek isim ile birlikte kaydedileceği klasörü belirtiyoruz. Eğer format seçeneğinin bulunmadığı SecureCRT’nin eski bir versiyonunu (Ör: version 5.2) kullanmaktaysanız ya da bu uygulamayı gerçekleştirdiğiniz emulation yazılımı, oluşturulan anahtarları OpenSSH formatına çevirme özelliği içermiyorsa standart formatta anahtar oluşturarak dönüştürme işlemini SSH sunucusu üzerinde kendimiz manüel olarak gerçekleştirebiliriz. Bu ayrıntıya bir sonraki adımda, sunucu tarafındaki yapılandırmadan bahsederken değineceğim.

Sihirbaz yönergelerini tamamladığımızda anahtar çiftimiz belirtmiş olduğumuz lokasyona kaydedilmiş olacaktır. Şimdi sunucu tarafında gerçekleştirilmesi gereken yapılandırmaya geçebiliriz. Bunun için ilk önce public anahtarımız olan Identity.pub’ı güvenilir herhangi bir yöntemle sunucumuzdaki home klasörümüze transfer etmeliyiz. Alternatif olarak lokalde notepad ile açtığımız anahtar dosyası içeriğini sunucuda aynı isimle yaratacağımız dosya içerisine aşağıda gösterildiği şekilde manüel yapıştırabiliriz;

STANDART ANAHTAR FORMATINDA SADECE VURGULANAN ANAHTAR VERİSİ KISMINI:
---- BEGIN SSH2 PUBLIC KEY ----
Subject: Sezgin Bayrak
Comment: "sbayrak@SBMobile"
ModBitSize: 2048
AEQAB3NzsC1yc2EcA8ADAQABAA5BAQDJrOQ7BkfG9NuWqU4nAK6W5/UsDu6bLy8Y
g9IxfbE/lc7QjA9p9T8aGAG03JSLJWSr4rCflm8VUsqSkh24XxyWx5829OD3OVOO
1tbDQLaF84LefC5k6eLtOsBniLlh5DRoLx4YUZtzaeGHd5EWgINSDK22VCIonLTZ
r4h6dDmp6Gn3aHZkAP5mQwhi/lXV3Ys5BaefyVkulpXCbaprs/jOMw5TyWUrsm4S
4Gjluoxc/OIAD5Sc6UMTVgj438JxwVbDfgNbERAzvpe+sccTREqZ/Q9Z8hFqc1FB
u+G+OkstH0/ZVGxLxOfeAA6FpCvsYjCFe39cDFEoa4gJu/SLXDHJ
---- END SSH2 PUBLIC KEY ----

OPENSSH ANAHTAR FORMATINDA TAMAMINI:
ssh-rsa AEQAB3NzsC1yc2EcA8ADAQABAAABAQDGN9ZZl+LKRd7JYWmKsdh9cdnYYrljsFAw7LrM9y3puCsr3iOQBNQc74Ss316gXU9e/nQ2jl/6CI4t4f9UFXiR54scdJB5Ds4dDjsfCPOC/o9hBQ1wf
/U9GUmvLS1giV/Xd2KAYPle6KokcGGyadPkrZksjI8I88LB1gqD6IF560Qvr39risYdOZyPbGxVS9HFyDMjUKSJ9ZA3Kn10yn0yjno97kKPuZQFjjKUfkQrmTUXFPQitKW5VELICQ7Fge41t5u2vbnlB5
owChadRY4zBCO9/t05D1V4uIp2F6ItJimCN8mzA7H/mAwXkXKGRZ5eqLDXSUHO/VdiQ7vBFRBN sbayrak@SBMobile

kopyalayarak aşağıdaki komutla yapıştırma işlemini tamamlayın.
# cat > /home/user/Identity.pub
<anahtar verisini buraya yapıştırın>
^D (CTRL-D)

Ardından mevcut değil ise /home/user dizinimizde “.ssh” klasörü yaratarak public anahtarımızı, oluşturacağımız /home/user/.ssh/authorized_keys dosyasının sonuna eklemeliyiz. Diğer kullanıcıların anahtar datasına erişimini engellemek için ise gerekli ownership ve permission ayarlarını unutmamalıyız. Biz örnek user’ımızın wheel grubuna dahil olduğunu varsayarak bu grubu kullandık. Siz uygulamada grubu kullanıcınıza uygun şekilde değiştirin;

STANDART ANAHTAR FORMATINDA:

RFC 4716 Secure Shell (SSH) Public Key File formatındaki anahtarımızı, ssh-keygen komutunu kullanarak authorized_keys dosyasına OpenSSH formatına dönüştürerek ekleyeceğiz;
# cd /home/user/
# mkdir .ssh
# chown user:wheel .ssh
# chmod 700 .ssh
# ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
# chown user:wheel .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
# rm Identity.pub

Notepad içerisinden manüel kopyalama ve yapıştırma metodunu tercih ettiyseniz salt anahtar verisi yerine yanlışlıkla fazladan karakter copy-paste ettiyseniz ya da anahtarı ftp ile sunucuya transfer ettikten sonra anahtar verisi haricinde kalan kısımları silmediyseniz yukarıda 4. satırda vurgulanan ssh-keygen komutu çalıştırdığınızda “input line too long.” hatasını alırsınız ki bu durumda sadece anahtar verisini kopyaladığınızdan emin olun.

OPENSSH ANAHTAR FORMATINDA:

Anahtarımız zaten OpenSSH formatında olduğu için authorized_keys dosyasına direk ekleyeceğiz.
# cd /home/user/
# mkdir .ssh
# chown user:wheel .ssh
# chmod 700 .ssh
# cat Identity.pub >> .ssh/authorized_keys
# chown user:wheel .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
# rm Identity.pub

Şimdi OpenSSH sunucusunun konfigürasyon dosyasında birkaç değişiklik gerçekleştirerek sunucumuzun RSA public key kimlik doğrulamasına izin vermesini sağlayacağız. Daha sonra public key denetiminin çalıştığından emin olduktan sonra aynı dosya içerisinde şifre ile denetimi tamamen iptal edeceğiz. FreeBSD üzerinde söz konusu konfigürasyon dosyası /etc/ssh/sshd_config olup diğer *NIX türevlerinde /usr/local/etc/sshd_config vb. farklı dizinlerde bulunabilir. Dosya içerisinde ilgili parametreleri aşağıdaki şekilde değiştirin ve kaydedin;

RSAAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

Değişikliklerin devreye girmesi için sshd prosesini konumlandırın ve restart edin.

# ps aux | grep ssh
root    73467  0.0  0.1 25108  3864  ??  Is   11:30PM   0:00.00 /usr/sbin/sshd

# kill -HUP 73467

Sunucumuza SSH bağlantısı gerçekleştirmek ve bu bağlantıya ilişkin kimlik doğrulamasının yeni oluşturduğumuz public anahtar ile gerçekleştirilmesini sağlamak üzere SecureCRT’de yeni bir bağlantı oluşturarak Session Options içerisinde Authentication metodunu PublicKey olarak belirleyin ve özellikleri içerisinde yeni yaratmış olduğunuz Identity.pub anahtar lokasyonunu gösterin.

SSH ile şifresiz login olma RSA Public key (1)

SSH bağlantısı telnet, rlogin gibi ağ üzerinden başka bir sunucuya bağlantı sağlayan bir protokoldür. Tamamen command-line’dan çalışan bu yapıda kullanıcı şifreleri dahil tüm iletişimi şifrelemeden gerçekleştirmek isterseniz SSH RSA Key oluştururarak kullanabilirsiniz.
Sunucu sayıları arttıkça şifrelerini de akılda tutmak zorlaştığından bu durumdan da kurtulmak için SSH RSA KEY kullanabilirsiniz.
Eğer siz de benim gibi durmadan linux makineler arasında veri transferi ya da başka nedenlerle login-logout oluyor ve bu nedenle her seferinde şifre girmekten bıkmış bir vaziyette iseniz o zaman ssh (secure shell) komutunun kimlik doğrulama (authentication) seçeneğini kullanabilirsiniz.
Bu yöntem, kısaca kişisel bir anahtar (key) oluşturulup, bu anahtarın bağlantı yaptığınız diğer makinelere kopyalanmasından oluşur. Kişisel anaktarınızın güvenliği açısından isteseniz kriptolama da kullanabilirsiniz. Şahsen her seferinde kriptoyu çözmek için araya bir de geçiş-kodu (passphrase) girmemek için ben kullanmıyorum. Zira makineler zaten şirketiçi ağda olduğu için fazla tehlike yok. Ama siz isterseniz kullanabilirsiniz.

Ben key üretmek için securecrt kullandığımda başarılı olamadım. Linux bir makinada (ben centos 6 kullandım) aşağıdaki gibi yaptığımda  üretilen key sorunsuz çalıştı.

Öncelikle ssh-keygen komutu ile public ve private key çiftimizi oluşturuyoruz:
Not:Bu işlemi hangi  kullanıcındayken yapıyorsak o kullanıcının home dizinin altındaki .ssh klasörünün altına koyar.
[user1@deneme ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):        ##### Eğer passphrase kullanacaksanız burada belirtmeniz gerekiyor!
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
f8:44:6f:4b:09:e7:1a:33:81:30:6d:b3:62:cc:5e:f6 user1@deneme

Daha sonra private key’ imizi bağlanmak istediğimiz makinelere kopyalıyoruz:
[user1@deneme ~]$ ssh-copy-id -i .ssh/id_rsa.pub user2@server
15
Password:               ###user2 isimli kullanıcı şifresi
Now try logging into the machine, with “ssh ‘user2@server’”, and check in:
.ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.

 server sunucusuna bağlandığımızda /home/user2/.ssh/authorized_keys dosyasına elimizdeki keyi görebiliriz. Artık server sunucusuna user2 kullanıcısıyla şifresiz bağlanabiliriz.
ssh-copy-id -i komutunun bir avantajıda .ssh ve authorized_keys dosyalarının 600 olması gereken izinlerinin otomatik yapmasıdır.
 Ben Server sunucunda  Ssh servisinde hiç bir ayar yapmadan  deneme sunucusu üzerinde  /home/user1/.ssh/id_rsa.pub   keyini kullanarak şifresiz bağlanabildim.

Securecrt kullanarak bu sunuculara key ile bağlanma:


SecureCRT içinde private key'in kullanılabilmesi için iki yöntem bulunuyor. İlk olarak tüm sunucularda kullanılmak üzere Global Options içinde bu anahtarı gösterebilirsiniz. Linux ve Solaris anahtarlarım farklı olduğu için bu yöntem bende işe yaramadı. Diğer yöntem olarak her sunucu için sunucu seçenekleri içinde anahtar belirtebilirsiniz.













Yukarıdaki resimde görülen kimlik doğrulama sıralamasını değiştirmeniz gerekiyor. Public Key ile çalışabilmek için ben "password" ve "public key"in öncelik sıralamasını değiştirdim.













18 Haziran 2013 Salı

Solaris 10 Syslog Yönlendirme

Solaris 10 Syslog Yönlendirme



Solaris 10 da syslog üretmek için kullanılan seviyeler aşağıdaki gibidir.

Facility
user (kullanıcı)
kern (çekirdek)
mail (mail gönderilmesi gereken loglar)
daemon
auth (login)
lpr
news
uucp
cron (zamanlayıcı)
audit ()
local0-7
mark
* (hepsi)
Level 
emerg
alert
crit
err
warning
notice
info
debug (hepsi)
none (hariç)

21 Şubat 2013 Perşembe

centosda root yetkili kullanıcı yapma

Alıntıdır...

Sudo komutu, Unix ve benzeri işletim sistemlerinde bulunan, bir kullanıcının başka bir kullanıcı yetkisiyle (genellikle root kullanıcısı) komut çalıştırmasını sağlayan bir programdır. Sudo komutunu kullanarak bir komut çalıştırmadan önce, kullanıcıdan kendi şifresini girmesi istenir (gereksinimlere göre şifresiz erişim de sağlanabilir). Şifre doğruysa ve /etc/sudoers dosyasındaki yapılandırma erişime izin veriyorsa, komut çalıştırılır. Girilen şifre 5 dakika kadar geçerli olur, o sırada girilen komutlarda yeniden şifre istenmez.
Sudo komutu kullanarak yetkilendirmeyi dağıtmak, geleneksel su komutuna kıyasla çeşitli avantajlara sahiptir:
  1. Sudo ile girilen tüm komutların kaydı tutulur.
  2. Sudo ile tek bir şifrenin paylaşılmasına gerek yoktur – yetkili her gerçek kullanıcının kendine özel bir şifresi vardır.
  3. Sudo kullanarak kullanıcının yetkileri sadece belli komutları çalıştıracak şekilde kısıtlanabilir.
Bu kısa rehberde, Redhat 4/5 sunucuları için “su” komutu yerine “sudo” komutunun kullanımına geçiş açıklanacak ve denetim mekanizmalarına değinilecektir.

/etc/sudoers Yapılandırma Dosyası

Redhat sistemlerinde (ve benzeri bir çok sistemde) genel alışkanlık, sudo ile root kullanıcısına erişim yetkisinin belli bir gruba dahil kullanıcılara sınırlanmasıdır, genellikle bu grubun ismi “wheel” ve ID’si 10′dur.
“wheel” grubunun ismi, “big wheel” deyiminden gelmektedir. Bu deyim, İngilizcede büyük gücü ya da etkisi olan insanları tanımlamak için kullanılır.
“wheel” grubundaki kullanıcılara root kullanıcısı erişimi vermek için sudoers dosyasına aşağıdaki satır eklenir:
 %wheel ALL=(ALL) ALL
Bu satır /etc/sudoers dosyasına herhangi bir metin düzenleyicisiyle eklenmemelidir. Bu yapılandırma dosyasındaki bir arıza, tüm sudo mekanizmasını bozabilir. Bu yüzden “visudo” komutu kullanılmalı, bu komut girildikten sonra çıkan metin düzenleme ekranından değişiklik yapılmalıdır. Visudo komutu, dosyayı kalıcı olarak yazmadan önce sözdiziminin geçerliliğini kontrol eder.
“visudo” komutu, standart olarak vi programını çalıştırmaktadır. Eğer farklı bir metin düzenleyici kullanılması istenirse, VISUAL değişkeni kullanılmalıdır. Örneğin, nano kullanmak için visudo komutundan önce “export VISUAL=nano” komutu girilmelidir.
Gereksinimlere göre, şifresiz bir şekilde (sadece sisteme girişte kullanılan şifreye güvenilerek) erişim sağlanması uygun görülürse, üstte girilen satır şu şekilde değiştirilmelidir:
 %wheel ALL=(ALL) NOPASSWD: ALL

Kullanıcı Yapılandırması

Üstteki ayarlar yapıldıktan sonra yetkili olması gereken kullanıcıların wheel grubuna eklenmesi gerekir. Bunun için, aşağıdaki komutun verilmesi gerekmektedir:
 # usermod -a -G wheel

Kayıt izlenmesi

Sudo komutunun etkinliği /var/log/auth.log dosyasında tutulur. Yetkili bir kullanıcının etkinliğinin oluşturacağı kayıt aşağıdaki gibidir:
 Aug 5 06:02:49 localhost sudo: can : TTY=pts/1 ; PWD=/home/can ;
     USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log
Yetkisiz bir kullanıcının erişiminin kaydı ise şu şekilde tutulur:
 Aug 5 06:00:28 localhost sudo: bican : user NOT in sudoers ;
     TTY=pts/1 ; PWD =/home/bican ; USER=root ;
     COMMAND=/usr/bin/emacs /etc/resolv.conf

Sonuç

“Sudo” komutunun özellikleri kullanılarak, tek bir ortak şifre kullanmanın getirdiği yüklerden (güvenlik, güncelleme vb.) kurtulmak mümkündür. Ayrıca yetkili kullanıcı etkinliği daha ayrıntılı izlenerek, denetimde kolaylık sağlanır. Bu kısa rehberde sadece temel yapılandırma tanıtılmıştır. Sudo komutunun daha etkili kullanımı için http://www.gratisoft.us/sudo/sudoers.man.html adresinden ayrıntılı bilgi alınabilir.

Centos 6 disk yönetimi

Merhaba Arkadaşlar,

df -h
yum install nfs-utils nfs-utils-lib
chkconfig nfs on
service rpcbind start
service nfs start
mount IP:/vol/vol2 /nas

lsblk
sfdisk -l
fdisk /dev/sdb
m ---menu
n---add disk
w--write(save)
p---print(list disk)
q---quit(not save exit)
mkfs -t ext4 /dev/sdb1
mkdir /lun2
mount /dev/sdb1 /lun2
vi /etc/fstab

/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=ea10a0d5-0e9f-4a1a-8593-854851ea3650 /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_home /home                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
/dev/sdb1 /lun2 ext4 defaults 1 2
192.168.15.175:/vol/vol2/IPTV_UI /nas nfs      auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

15 Şubat 2013 Cuma

Centos Firewall ayarları

service iptables status
service iptables stop
service iptables start

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 161 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT

service iptables restart

13 Şubat 2013 Çarşamba

Solaris Ve Centos da Bond (Team)

Merhaba Arkadaşlar,

Kullanmış olduğumuz sunucuların Nic yedekliğini sağlamak için Windowsda kullandığımız Team yapısının Solaris Ve Linux daki karşılığı olan Bond un yapılışını anlatacağız.

Neden Bond?

Sunucularda SW, Kablo, Nic yedekliği sağlamak için 2 interfacesi birleştirilmesi olabileceği gibi interfacesin hızını artırmak icinde kullanılabilir.

(Active-Passive) Bond Mantığı:


Aynı özellikteki 2 interfacesin biri master diğeri slave olarak ayarlandığını düşünün.Ortada da sanal bond isimli interface IP verilir. IP ile master interfaceden haberleşilirken master interface down olursa slave interface IP yi üzerine alır ve 1 sn kesinti ile haberleşmeye devam edilir.Master interface geri ayağa kalktığında tekrar IP master interface üzerine geçerek 1 sn kesinti ile haberleşme devam edilir.

Solaris de Bond yapılışı:

1. Ip mizi dnse (host) kaydediyoruz
/etc/hosts       #Dosyasına IP lerimizi ve isimlerimizi yazıyoruz

IP1   172.24.82.90
IP2   172.24.73.45

2. Bond yapılacak interfaceleri hazırlıyoruz.
/etc/hostname.e1000g0    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond0 up
IP1
/etc/hostname.e1000g1    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond0 up

 Diğer Ip için 2 bond ayarını yapalım.
/etc/hostname.e1000g2    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond1 up
IP2
/etc/hostname.e1000g3    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond1 up


Yukarıdaki ayarda gördüğümüz gibi bond0 için e1000g0 ve bond1 içinde e1000g2 master interface durumundadır.







svcadm restart network/physical

Yukarıdaki komutu verdiğimde bazen oluyor bazen olmuyor. Ama en salıklısı restart

shutdown -y -i6 -g0
 
Aşağıdaki komutları kullanmıyoruz.
svcadm disable network
svcadm enable network



Centos da bond yapılışı:

(Active-Passive) Mode:1

1. Sanal Bond interfacesimiz oluşturalım

vim /etc/sysconfig/network-scripts/ifcfg-bond0
# Front-Channel Network - Bond
DEVICE="bond0"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
BONDING_OPTS="mode=1 miimon=100 use_carrier=1 updelay=120000 downdelay=0 primary=eth0"
IPADDR="10.20.0.1"
NETMASK="255.255.0.0"

vim /etc/sysconfig/network-scripts/ifcfg-bond1
# Storage and local Network - Bond
DEVICE="bond1"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
BONDING_OPTS="mode=1 miimon=100 use_carrier=1 updelay=120000 downdelay=0 primary=eth2"
IPADDR="10.10.0.1"
NETMASK="255.255.0.0"

2. Fiziki interfacelerimizi bond a  bağlıyalım
 vim /etc/sysconfig/network-scripts/ifcfg-eth0
# front-Channel Network - Link 1
HWADDR="00:E0:81:C7:EC:49"
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond0"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth1
# front-Channel Network - Link 2
HWADDR="00:E0:81:C7:EC:48"
DEVICE="eth1"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond0"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth2
# Storage and local Network - Link 1
HWADDR="00:E0:81:C7:EC:47"
DEVICE="eth2"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond1"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth3
# Storage and local Network - Link 2
HWADDR="00:1B:21:9D:59:FC"
DEVICE="eth3"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond1"
SLAVE="yes"

/etc/init.d/network restart


(balance-alb)-  (Active-Active)

mode=0 (Balance-rr) – This mode provides load balancing and fault tolerance.
mode=1 (active-backup) – This mode provides fault tolerance.
mode=2 (balance-xor) – This mode provides load balancing and fault tolerance.
mode=3 (broadcast) – This mode provides fault tolerance.
mode=4 (802.3ad) – This mode provides load balancing and fault tolerance.
mode=5 (balance-tlb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
mode=6 (balance-alb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.


1.Sanal Bond interfacesimiz oluşturalım

vi /etc/sysconfig/network-scripts/ifcfg-bond0

01DEVICE=bond0
02USERCTL=no
03BOOTPROTO=none
04ONBOOT=yes
05IPADDR=10.0.0.10
06NETMASK=255.255.0.0
07NETWORK=10.0.0.0
08BONDING_OPTS="miimon=100 mode=balance-alb"
09TYPE=Unknown
10IPV6INIT=no

2. Fiziki interfacelerimizi bond a  bağlıyalım

vi /etc/sysconfig/network-scripts/ifcfg-eth0

1DEVICE=eth0
2BOOTPROTO=none
3ONBOOT=yes
4MASTER=bond0
5SLAVE=yes
6USERCTL=no

vi /etc/sysconfig/network-scripts/ifcfg-eth1

1DEVICE=eth1
2BOOTPROTO=none
3ONBOOT=yes
4MASTER=bond0
5SLAVE=yes
6USERCTL=no


3. Bond u ayarlarına bakalım.

vi /etc/modprobe.conf
vi /etc/modprobe.d/bonding.conf #centos 6da degismis
alias bond0 bonding
#options bond0 mode=balance-alb miimon=100 # Bond conf dosyasında girdik gerek yok.

4.Network servisimizi baştan başlatalım.

servive network restart


5. Bond umuzun durmunu kontrol edelim...


cat /proc/net/bonding/bond0  


4 Ocak 2013 Cuma

Linux kalıcı route ekleme


 Linux kalıcı route ekleme

 

Merhabalar;


Linux sistemlerde sisteme yeni bir route eklemek için ip komutu kullanılabilir.
Örnek bir komut şu şekildedir:
Komut
# ip route add 10.0.0.0/24 via 192.168.1.10
Bu örneğe göre sisteme 10.0.0.0/24 networküne giden paketleri 192.168.1.10 ip’li gateway üzerinden göndermesi söyleniyor.
Routingi, bir network interface’i belirterek girmek için ise komut şu şekildedir:
Komut
# ip route add 10.0.0.0/24 dev eth0
Bu örneğe göreyse 10.0.0.0/24 networküne gidecek paketler, eth0 isimli network interface’i üzerinden gönderilecektir.


Girdiğiniz route’ın kalıcı olması için ilgili kayıtları yapılandırma dosyaları içerisine yazmanız gerekir. RHEL/Centos ve Debian/Ubntu sistemler için bu işlem şu şekilde yapılmaktadır.

RHEL/CentOS

Red Hat tabanlı sistemler için routing bilgileri /etc/sysconfig/network-scripts/ dizini altınd “route-interface” isimli dosyada tutulur. Bizim örneğimizde routing eth1 isimli routing eth0 isimli interface üzerine gerçekleştiriliyor oldupundan bu dosyanın adı route-eth0 olmalıdır.
Daha önce static route girilmemiş sistemlerde bu dosya bulunmak. Dolayısı ile sizin oluşturmanız gerekir. İlgili dosyayı vi kullanarak oluşturuyoruz:
Komut
# vi /etc/sysconfig/network-scripts/route-eth0
Sonrasında da dosyanın içerisine aşağıdaki gibi örnek static route’umuzu giriyoruz:
Çıktı
10.0.0.0/24 via 192.168.1.10
Son olarak işlemin devreye alınması için network servisini restart ediyoruz.
Komut
# service network restart

Debian/Ubuntu

Debian tabanlı sistemlerde ise routing bilgileri /etc/network/interfaces dosyasında tutulur.
Bu dosyaya örnekte kullandığımız route’u girmek için şu şekilde bir girdi yapabilirsiniz:
Çıktı
iface eth0 inet static
 address 192.168.1.24
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.255
 gateway 192.168.1.1
 # dns-* options are implemented by the resolvconf package, if installed
 dns-nameservers 192.168.1.2
 #static route girdileri
 post-up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.10
        pre-down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.10
Bu şekilde static routingler sistemde kalıcı olacaktır.