26.02.2009

Yusuf ile Proftpd+MySQLD Yukleme (RHEL 5.2 x86_64 Uzerine) II


Kuruluma devam ediyoruz.
sorunu astiktan sonra yapacagimiz ilk sey make clean yapmak. Sonucta sistemimize saf proftpd kurulabildigini gorduk. Bundan sonraki amacimiz mysql destekli proftpd kurmak o yuzden:
find / -name mysql yapip icinde include ve lib(64) gecen satirlari cikarmak olacak.
Eger bu satirlar varsa kuruluma devam edebiliriz. Vermemiz gereken configure cumlecigi su sekilde:

./configure --enable-dso --with-shared=mod_sql:mod_sql_mysql --with-libraries=/usr/lib64/mysql --with-includes=/usr/include/mysql/

Sorun donmemisse isimiz bitmis sayilir.
Ancak biz bununla yetinmedik; kurmusken ssl ve ldap destegi de vermek istedik Proftpd ye.
make clean yaptik. Sonra da find / -name openssl . Eger mysql deki gibi include ve lib(64) lu sonuclar donuyorsa son calistirilacak cumlecik su:

./configure --enable-dso --with-modules=mod_tls --with-shared=mod_sql:mod_sql_mysql --with-libraries=/usr/lib64/mysql:/usr/lib64/openssl/ --with-includes=/usr/include/mysql/:/usr/include/openssl/

Eger problem donmediyse make && make install yapiyoruz.
Isimizin %80 i bitti artik.

Simdi Proftpd'nin servis kullanicisini yaratacagiz:

groupadd proftpd && useradd -s /bin/false -c "Proftpd Daemon User" -d /etc/proftpd -g proftpd -u 1005 proftpd


Kullanici gercekten olustu mu diye bakalim:

id proftpd

Simdi cd /etc/proftpd yapalim, orda vi proftpd.conf yapip kullaniciyi proftpd sistemine girelim.

User proftpd

Group proftpd

(Burada kullaniciyi Anonymous bolumundeki User ve Group'a girmemeye dikkat ediyoruz.)

Simdi daemon calisiyor mu diye kontrol etme zamani geldi/

/usr/local/sbin/proftpd

hemen ardindan netstat -antvlup yapip 21. port var mi diye bakalim.

Cevap evetse mysql konfigurasyonu ile devam ediyoruz.


$ mysql -uroot -psifre

mysql> create database proftpd;

mysql> GRANT ALL PRIVILEGES ON proftpd.* to 'proftpd_dbuser'@'localhost' IDENTIFIED BY 'proftpd_sifre' ;

arindan proftpdnin ihtiyac duyacagi tablelari olusturuyoruz.

mysql> use proftpd;

mysql> CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '5500',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';

CREATE TABLE ftpquotalimits (
name varchar(30) default NULL,
quota_type enum('user','group','class','all') NOT NULL default 'user',
per_session enum('false','true') NOT NULL default 'false',
limit_type enum('soft','hard') NOT NULL default 'soft',
bytes_in_avail int(10) unsigned NOT NULL default '0',
bytes_out_avail int(10) unsigned NOT NULL default '0',
bytes_xfer_avail int(10) unsigned NOT NULL default '0',
files_in_avail int(10) unsigned NOT NULL default '0',
files_out_avail int(10) unsigned NOT NULL default '0',
files_xfer_avail int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

CREATE TABLE ftpquotatallies (
name varchar(30) NOT NULL default '',
quota_type enum('user','group','class','all') NOT NULL default 'user',
bytes_in_used int(10) unsigned NOT NULL default '0',
bytes_out_used int(10) unsigned NOT NULL default '0',
bytes_xfer_used int(10) unsigned NOT NULL default '0',
files_in_used int(10) unsigned NOT NULL default '0',
files_out_used int(10) unsigned NOT NULL default '0',
files_xfer_used int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

CREATE TABLE ftpuser (
id int(10) unsigned NOT NULL auto_increment,
userid varchar(32) NOT NULL default '',
passwd varchar(32) NOT NULL default '',
uid smallint(6) NOT NULL default '5500',
gid smallint(6) NOT NULL default '5500',
homedir varchar(255) NOT NULL default '',
shell varchar(16) NOT NULL default '/sbin/nologin',
count int(11) NOT NULL default '0',
accessed datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id),
UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT='ProFTP user table';

mysql> exit;



Yusuf ile Proftpd+MySQLD Yukleme I

Kankam Yusuf'tan gelen bu gunun sorusu ise suydu:

"yaklasik 250 tane hesap barindiran bir FTP server kuracagim, nasil bir yol izleyeyim? Nasil bir yapi kuralim?"

Daha once denedigim ve cok iyi calisan bir yol olan Proftpd+MySQLD kurulumunu onerdim kankama.

Hemen kaynak kodu "http://www.proftpd.org/" dan tar.bz2 olarak indirdik.

Dosyayi /usr/local/src altina actik (cd /usr/local/src && tar -xvjf ~/Desktop/proftpd.xxx.xx.tar.bz2 )

Sonra

cd proftpd yaptik. Operasyona hazirdik artik. Peki eksik paketimiz ya da derleyicimiz var miydi diye sordum kendisine. Hemen .configure verdik. Eger basarili biterse make && make install yapip ek modul olmadan proftpd yi kuracaktik.

Ama Yusuf birden dedi ki: "

configure: error: C++ preprocessor "/lib/cpp" fails sanity check
kanka böle bi hata aldım
"

Sorunu hemen asratirdim. Birkac farkli gorus olsa da , sorun salinda gcc-cpp, gcc-c++ paketlerinin eksik olmasi gibi gorunuyordu.

Yusuf'tan paketleri taramasini rica ettim;

rpm -qa|grep gcc ciktisi su sekildeydi:

gcc-4.1.2-42.el5
libgcc-4.1.2-42.el5
compat-libgcc-296-2.96-138
libgcc-4.1.2-42.el5
gcc-java-4.1.2-42.el5

Peki bu sorunu nasil cozecektik?

Basit cevap:

libstdc++-devel ve gcc-c++ paketlerini kurup sorunu cozuyoruz.

Bu kadar ...



Solaris 10 audit

Çok kullanicili ve kritik oneme sahip sistemlerde kimin ne yaptigini izleyebilmek sistemin guvenligi ve kararliligi acisindan yuksek oneme sahiptir.

Ayni zamanda sistemde geriye yonelik yapilan arastirmalarda anahtar niteliginde yardimci olur. Kullanicilarin ne yaptigindan kasit; sisteme giris/cikis bilgileri, isletim sistemi uzerinde calistirdiklari komutlar, degisen/duzenlenen dosyalar.

Linux/UNIX sistemlerin cogu uzun zamandir bu tip audit altyapisina sahipler.Sun Solaris’in audit altyapisinin diger sistemlere oranla daha kullanisli, esnek ve saglam oldugunu soyleyebilirim.

svcs -a | grep audit
disabled 13:30:16 svc:/system/auditd:default

svcadm -v enable svc:/system/auditd:default

bash-3.00# svcs -a | grep audit
maintenance 14:43:08 svc:/system/auditd:default

bash-3.00# svcs -d svc:/system/auditd:default
STATE STIME FMRI
online 13:30:18 svc:/milestone/name-services:default
online 13:30:37 svc:/system/filesystem/local:default
online 13:30:49 svc:/system/system-log:default
bash-3.00# svcs -D svc:/system/auditd:default
STATE STIME FMRI
online 13:30:47 svc:/system/console-login:default
online 13:30:53 svc:/milestone/multi-user:default

bash-3.00# cd /etc/security/

bash-3.00# ./bsmconv
This script is used to enable the Basic Security Module (BSM).
Shall we continue with the conversion now? [y/n] y
bsmconv: INFO: checking startup file.
bsmconv: INFO: turning on audit module.
bsmconv: INFO: initializing device allocation.

The Basic Security Module is ready.
If there were any errors, please fix them now.
Configure BSM by editing files located in /etc/security.
Reboot this system now to come up with BSM enabled.

bash-3.00# svcs -a | grep audit
maintenance 14:43:08 svc:/system/auditd:default

bash-3.00#reboot

bash-3.00$ svcs -a | grep audit
online 14:49:10 svc:/system/auditd:default

bash-3.00$ ps -ef | grep audit
root 458 1 0 14:49:11 ? 0:00 /usr/sbin/auditd

bash-3.00$ cd /var/audit/

bash-3.00$ ls -lrt
total 2
-rw------- 1 root root 48 Aug 11 14:49 20090226092241.not_terminated.yusuf-solaris

***** bu dosyanın içerigini görmek için

bash-3.00$ praudit 20090226092241.not_terminated.yusuf-solaris

vi /etc/security/audit_control (ayar dosyası burada)

25.02.2009

Solaris'te route

Sevgili kankam Yusuf bu sabah gunun sorusunu sordu tekrar:
"kanka solariste iki farklı gateway verebiliyormuyuz
iki farklı interface var makinada biri fiber network kartı digeri utp.Fiber olan farklı bir ip ve gateway olsun"

Sorunun cevabina gelince:
Oncelikle elimizdeki verileri gozden gecirelim:

1 . Interfacelerin isimleri ve Iplerini ogrenelim:
ifconfig -a
2. Simdi mevcut routing tablosunu gorelim:
netstat -rn
3. Simdi yapmak istedigimiz routing tablosuna fiber interface icin routing eklemek.
route add 193.140.216.1/24 -interface hme0
4. Sistem acilisinda statik routeun calismasini saglamak
/etc/rc2.d/Sxxstatic-routes
icine route u yaziyoruz.
5. Eger dosya daha once yoksa ve sifirdan yarattiysak da
chmod 744 /etc/rc2.d/Sxxstatic-routes

24.02.2009

ssh ile kullanici bazli allow/deny

Bu sabah Yusuf bana soyle bir soru sordu :
"oracle kullanıcısının direkt olarak sisteme erişmesini istemiyorum
ama sisteme login olar bir kullanıcıcın su - oracle ile oracle user'ına geçmesini istiyorum
nasıl yaparım bunu
pam kullanmadan yapmak istiyorum"
Aynen boyle sordu.
Cevap su:
oncelikle elimizdeki bilgiler :

Eger IP kisitlama yapacak olsaydik: Ornegin su IP den gelen SSH baglantilari kabul etme seklinde olsaydi yapmamiz gereken suydu:
Yol 1.
iptables -A INPUT -ptcp --dport 22 -s "HANGI_IP_ISE_O" -j DROP
Yol 2.
tcpwrappers kullanarak /etc/hosts.allow /etc/hosts.deny kullanimi

Eger sisteme girecek kullanicilarin tamamini biliyor ve sistem uzerinde yeterince hakimiyetimiz varsa -en guzeli- onceki yol ile /etc/ssh/sshd_config icine AllowUsers satiri ekleyip kullanicilari yazmak seklinde olmali

Ornek:

AllowUsers uileri, eyasar1, ymuccur, iozcubuk
seklinde.
Ancak Yusuf'un bu tarz bir durumu olmayabilir ve yapmak istedigi gercekten sadece 1 kullanici engellemek olabilir.

Bu durumda yapacagimiz sey su:
/etc/ssh/sshd_config dosyasi sonuna

DenyUsers oracle
eklemek
ve ssh servisini yeniden baslatmak.



10.02.2009

zeitgeist II



Zeitgeist belgesel filmini uzun suredir takinti haline getirdim.
Arkadaslarima ondan bahsediyorum, izlemeyenlere mutlaka izlemelerini tavsiye ediyorum, bilmeyenleri bilgilendirmeye calisiyorum vs . vs. vs.
Sanirim Zeitgeist Final'daki bir sozun benim bu destegimde cok buyuk etkisi var. Dr. Richard Albert soyle diyordu:
"Düsünüyorum da, hayatimin
30 yilini geride biraktim,bu 30 yil boyunca hep bir seyler olmaya çalistim. Bir seyleri iyi yapmak istedim, teniste iyi olmak istedim ve okulda ve notlarimda. Ve hayata hep söyle bir perspektiften baktim: ""Su halimle yeterli degilim ama,eger su iste iyi olabilirsem...""
Simdi fark ettim ki bu oyunu yanlis anlamisim.Çünkü oyunun amaci, zaten oldugum seyi bulmakmis."
Sanirim beni en etkileyen cumlelerden biri bu oldu.

Filmi izledikten sonra film uzerine arayislarim az oncede yazdigim gibi devam etti. Gecenlerde sitesinde filmin google videoya atildigini ve ucretsiz izlenebildigini gordum. Bu benim filme olan saygimi ve sevgimi bir kat daha arttirdi.

Film hakkinda aklima geldikce blogumda yer vermeye devam edecegim, ama siz de bu arada lutfen filmi izleyin.
Iyi Seyirler

http://www.zeitgeistmovie.com/

2.02.2009

zeitgeist & krishnamurti


Yaklasik 1 ay once Zetigeist belgeslliyle tanistim.
O zamandir yazmayi dusunuyorum ama ne yazikki baslangici buguneymis.
Yazima devam edicem ama yrgunluguma ve bel agrima yenilmeden baslayayim istedim.
Simdi Krishnamurtinin yazisini yapistiriyorum.

"
... We will see how very important it is to bring about, in the human mind, the radical revolution. The crisis, is a crisis of consciousness. A crisis that cannot anymore, accept the old norms, the old patterns, the ancient traditions. And, considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man is still as he was. Is still brutal, violent, aggressive, acquisitive, competitive. And, he's built a society along these lines.....
"