.:My Black Corner:.

Friday, July 27, 2007

Mengamankan SSH Server di Ubuntu 7.04

Sial... hari ini gw ketawa2 sendiri di kantor abis baca blog yang kocak banget, klik aja , sadar2 gw hari ini harus posting tutorial, dalam rangka ekspansi terhadap distro ubuntu 7.04 alias Feisty Fawn. Sayangnya pas install ssh server, ubuntu gak dilengkapi dengan direktori2 yang gw butuhin, biasanya kalo pake SuSe gw pagi2 dateng kantor, buka kompi trus ketik perintah:
root# tail -f /var/log/secure ,
tapi ini gak langsung ada... Jadi artikel ini menjelaskan dari awal bagaimana membuat SSH server yang "sedikit" secure :D .

Pertama-tama buka console mode dan ketikan:
dadhee$ su
passwd: [masukan passwd root]
root#

Karena gw males klo ngasi perintah dengan "sudo" didepannya. OK... klo dah masuk ke root, sekarang tinggal install ssh server aja. Perintahnya:
root# apt-get install ssh

Klo dah terinstall, masuk ke file configurasi ssh di /etc/ssh/sshd_config .
Edit file tersebut:
root# vi /etc/ssh/sshd_config

Ganti port default ssh, 22 dengan port 6235 (kayak seri HP Nokia gw) biar gampang diinget :D. Langkah selanjutnya adalah me-restart daemon ssh dengan perintah:
root# /etc/init.d/ssh restart

Catatan: Kompi client tempat gw beraksi ini punya ip_address: 192.168.0.222, jadi kalau mau konek ke server ssh ini perintahnya:
root# ssh -p 6235 [user]@[ip_server_ssh]

Yang kita butuhkan disini adalah otentikasi... siapa aja yang boleh konek ke server ssh kita dan siapa aja yang kita usir secara tidak hormat dari server ssh. Langkah yang harus diperhatikan adalah membuat dua file yang secara default distro ubuntu tidak memilikinya.
root# touch /etc/hosts.allow
root# touch /etc/hosts.deny

Lalu edit dua file yang baru dibuat. Isikan baris berikut pada file /etc/hosts.deny
root# vi /etc/hosts.deny
ALL: ALL


Dengan begitu semua host yang mencoba konek ke server ssh kita di reject. Akan tetapi kita buat pengecualian dengan meng-edit file /etc/hosts.allow .
root# vi /etc/hosts.allow
sshd: 192.168.0.222 #dimana ini ip kompi client yang akan melakukan remote ssh


Langkah berikutnya adalah meng-install aplikasi "denyhosts". Karena aplikasi berbasiskan bahasa pemrograman python maka mau gak mau kita harus install terlebih dahulu aplikasi python.
root# apt-get install python
root# apt-get install hostsdeny


Setelah selesai meng-install ke dua aplikasi barusan, selanjutnya tambahkan baris berikut ke dalam file /etc/denyhosts.conf :
root# vi /etc/denyhosts.conf
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
LOCK_FILE = /var/run/denyhosts.pid

Apabila sampai tahap ini tidak menemukan kendala maka ssh sudah bisa digunakan. Sekarang langkah terakhir adalah menginstall aplikasi BUM (Boot Up Manager) untuk membuat agar aplikasi "denyhosts" aktif pada saat system start.
root# apt-get install bum

Sampai sini ada yang kurang gak yaa...? Mudah2an sih gak ada. OK... selamat mencoba.


posted by .:CyberColombuzz:. at 2:48 PM 0 comments

Friday, July 20, 2007

Membangun BIND Server di Ubuntu Feisty Fawn

Setelah lama bergaul dengan keluarga RH, Mdk dan terakhir SuSe, akhirnya Ubuntu tempat berlabuh sementara pada saat ini. Penulis mengawali ekpansi langsung pada Ubuntu Feisty Fawn. Mencoba beberapa setting DNS server dengan menggunakan BIND. Untuk mendapatkan paket BIND kita hanya perlu mengetikan perintah berikut di console mode.
root# apt-get install bind

Setelah paket BIND di donlot dan terinstall, maka langkah selanjutnya adalah menuju direktori /etc/bind tempat paket tersebut berada. Berikut adalah isi dari direktori /etc/bind/ .
root# ls
db.0 db.local named.conf
db.127 db.root named.conf.local
db.255 named.conf.options

Konfigurasi pertama adalah meng-edit file named.conf . Tambahkan script pada berikut pada baris terakhir file named.conf . Dengan catatan sapuabdg.net adalah domain name yang akan kita buat dan alamat ip server 192.168.0.254 serta hostname-nya pegel-linux.
zone "sapuabdg.net" {
type master;
file "/etc/bind/forward.zone";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/reverse.local";
};



Langkah kedua adalah dengan membuat file forward.zone dan reverse.local. Karena isi filenya hampir sama dengan bawaan system, maka kita hanya menyalin file yang sudah ada dan mengganti nama file dengan nama yang kita maksud. Gini nih ceritanya... File db.255 itu isinya hampir sama dengan isi file forward.zone yang akan kita buat. Sedangkan file db.local hampir sama dengan reverse.local. Lantas kita copy aja file tersebut.
root:/etc/bind# cp db.255 forward.zone
root:/etc/bind# cp db.local reverse.local

Langkah ketiga adalah merubah isi file forward.zone dan reverse.local dengan script sebagai berikut.

Untuk file /etc/bind/forward.zone

$TTL 604800

@ IN SOA pegel-linux.sapuabdg.net. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS pegel-linux
IN MX 10 mail
pegel-linux IN A 192.168.0.254


Kemudian lakukan hal yang sama dengan file yang tadi.

Untuk file /etc/bind/reverse.local

$TTL 604800
@ IN SOA pegel-linux.sapuabdg.net. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS pegel-linux
254 IN PTR pegel-linux.sapuabdg.net.
254 IN PTR mail.sapuabdg.net.
www IN CNAME pegel-linux

Langkah keempat adalah menambahkan satu baris script berikut pada file /etc/hosts.
192.168.0.254 pegel-linux

Setelah kita buat konfigurasi-konfigurasi diatas maka langkah terakhir adalah me-restart service BIND pada server dan menghidupkan service http dengan perintah:
root# /etc/init.d/bind start
root# /etc/init.d/apache2 start

Kalau misalnya system kita belum terdapat paket http atau apache, kita bisa mendapatkannya dengan melakukan perintah.
root# apt-get install apache2

Setelah memastikan service BIND dan apache sudah berjalan di server, maka yang perlu kita lakukan di komputer client adalah men-setting network untuk bisa me-resolve ke server. Lalu buka web browser dan ketikan alamat www.sapuabdg.net atau bisa juga dengan alamat pegel-linux.sapuabdg.net .

Selamat mencoba. Salam open source...!!


posted by .:CyberColombuzz:. at 2:31 PM 2 comments

Tuesday, July 10, 2007

Meningkatkan kinerja HDD IDE dengan 'hdparm'

Peningkatan performa menjadi sangatlah penting pada sejumlah besar operasi input/output, dengan cara men-set driver HDD IDE untuk "sedikit memaksa" menggunakan DMA (Direct Memory Access), transfer file 32 bit dan mode 'multiple sectors'.

Untuk mengaktifkan I/O 32 bit pada 'bus' PCI, maka perintah yang digunakan adalah:
root# hdparm -c 1 /dev/hda
Perintah ini tergantung dari model HDD juga, tapi biasanya ini akan memperpendek timing dari pembacaan buffer HDD. Pada perintah 'man hdparm ' disebutkan bahwa untuk keadaan tertentu kita bisa menggunakan parameter '-c 3' dan hal ini tergantung pada jenis chipset yang digunakan HDD.

Untuk mengaktifkan DMA, maka perintah yang digunakan adalah:
root# hdparm -d 1 /dev/hda
Perintah ini juga tergantung dari jenis MoBo yang kita gunakan. Dan masalah yang gak kalah pentingnya apakah kernel sudah di compile untuk menerima akses dengan meningkatkan performa HDD dengan cara memperpendek timing pembacaan buffer HDD...?

Untuk mengaktifkan 'multiword DMA mode 2 transfers' dan untuk mengatur mode transfer dari HDD IDE/ATA2, maka perintah yang digunakan adalah:
root# hdparm -d 1 -X34 /dev/hda

Untuk mengaktifkan 'UltraDMA mode 2 transfers', gunakan perintah ini:
root# hdparm -c 1 -X 66 /dev/hda
Kita memerlukan chipset untuk UltraDMA sebelum melakukan perintah ini.

Untuk mengatur 'multiple sector mode I/O', gunakan perintah ini:
root# hdparm -m XX /dev/hda
Catatan: 'XX' disini adalah nilai maksimum yang dapat didukung oleh HDD. Untuk mengetahui nilai 'XX' yang dapat didukung oleh HDD maka gunakan flag '-i' dan carilah nilai dari keluaran 'MaxMultSect'. Contoh:

root# hdparm -i /dev/hda
Model=ST340014A, FwRev=8.54, SerialNo=3JVCMZH3
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode


Tips & trik

posted by .:CyberColombuzz:. at 10:16 AM 0 comments

Thursday, July 05, 2007

Script sederhana untuk mem-blok port TCP/UDP

Salam opensource...!

Dengan script sederhana ini kita dapat mem-blok port-port TCP/UDP yang tidak kita inginkan di sistem kita. Tanpa harus bersusah payah memberikan perintah iptables satu persatu dalam console mode. Here we go dude..! Ikuti perintah-perintah ini di root console:

root# vi xport.sh

clear
printf "Copyright by cybercolombuzz\n"
printf "\n\n"
printf "Pilih device ethernet [eth0/eth1]="
read eth
printf "Port yang akan diblok="
read port

#dport
iptables -t filter -A INPUT -i $eth -p tcp -m multiport --dports $port -j DROP
iptables -t filter -A FORWARD -i $eth -p tcp -m multiport --dports $port -j DROP
iptables -t filter -A INPUT -i $eth -p udp -m multiport --dports $port -j DROP
iptables -t filter -A FORWARD -i $eth -p udp -m multiport --dports $port -j DROP

#sport
iptables -t filter -A INPUT -i $eth -p tcp -m multiport --sport $port -j DROP
iptables -t filter -A FORWARD -i $eth -p tcp -m multiport --sport $port -j DROP
iptables -t filter -A INPUT -i $eth -p udp -m multiport --sport $port -j DROP
iptables -t filter -A FORWARD -i $eth -p udp -m multiport --sport $port -j DROP

clear
iptables -nvL | grep $port
echo "\n\nPort $port di $eth Berhasil di blok"
echo "Terima kasih telah menggunakan program ini."

Simpan dan keluar dari aplikasi vi. Lalu langkah selanjutnya adalah memberikan hak akses pada file yang sudah dibuat ini.
root# chmod 755 xport.sh

Jalankan file ini dengan perintah.
root# ./xport.sh

Selamat mencoba...


posted by .:CyberColombuzz:. at 10:52 AM 0 comments

Mencegah Denial of Service dengan konfigurasi sederhana

Cegah sistem untuk merespon ping request
Mencegah ping request dapat meningkatkan sekuriti pada jaringan, karena protokol TCP/IP mempunyai kelemahan yang memungkinkan seseorang secara sembunyi2 mengirimkan data ke dalam paket2 yang keluar masuk sistem. Lakukan perintah ini pada console:

root# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all


Cegah sistem untuk merespon broadcast request
Ini sama pentingnya untuk menonaktifkan broadcast request. Ketika paket dikirimkan ke alamat IP broadcast dari suatu mesin di dalam jaringan, maka paket tersebut akan menjangkau semua mesin di dalam network, dan mesin di network akan merespon paket tersebut yang dampaknya akan menimbulkan network congestion yang sangat hebat atau yang lebih dikenal dengan Denial of Service (DoS) attack. Lakukan perintah ini pada console:

root# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcast


Mengaktifkan TCP SYN Cookie Protection
SYN attack adalah salah satu tipe serangan DoS yang akan menghabiskan resource kompi. Serangan ini dapat secara mudah dilakukan dari sumber daya yang ada di dalam jaringan ataupun dari luar seperti internet. Lakukan perintah ini pada console:

root# echo 1 > /proc/sys/net/ipv4/tcp_syncookies


Mengaktifkan IP spoofing protection
Option ini akan mencegah komunikasi di dalam jaringan bila terkena spoofing. Spoofing sering digunakan dalam serangan DoS. Lakukan perintah ini pada console:

root# for f in /proc/sys/net/ipv4/conf/*/rp_filter; do [enter]
> echo 1 > $f [enter]
>done [enter]



Mengaktifkan logs untuk Spoofed Packets, Source Routed Packets dan Redirect Packets
Option ini akan me-log semua paket yang di spoof, paket2 sumber yang di route dan paket yang di-redirect. Lakukan perintah ini pada console:

root# for f in /proc/sys/net/ipv4/conf/*/log_martians; do [enter]
> echo 1 > $f [enter]
> done [enter]


Setelah melakukan sejumlah baris perintah tadi jangan lupa untuk merestart network untuk mendapatkan efek dari konfigurasi perintah diatas. Lakukan perintah:
root# /etc/init.d/network restart

Selamat mencoba, semoga bermanfaat.

Tips & trik Linux

posted by .:CyberColombuzz:. at 9:32 AM 0 comments

Monday, July 02, 2007

Membangun NAS Server menggunakan Samba

Salam opensource...
Artikel samba yang kedua di blog ini klo gak salah.
Masalah yang cukup merepotkan dalam dunia penyimpanan data adalah bertambahnya jumlah data tanpa mempedulikan kapasitas media penyimpanan. Dalam satu drive kadang tersimpan musik, photo, dokumen, backup data, ISO image, sistem operasi pula... Gimana caranya membuatnya menjadi simple, men-share dan menyimpannya dalam one spot.

Sebenarnya ada salah satu cara yang tergolong sederhana dengan membuat NAS (Network Attached Storage) device, yang memungkinkan sistem operasi me-mount dan menulis melewati media jaringan. Dengan menggunakan Samba kita dapat membuat share storage yang dapat dibaca oleh Mac OS X, Linux dan Windows. Dengan kapasitas media penyimpanan yang kecil memungkinkan untuk men-setup 1-2 TB disk array Samba storage pool.

Langkah ke-1:
Membuat user account untuk samba.
root# useradd fileserver901
root#passwd fileserver901

Langkah ke-2:
Membuat folder sharing.
root# mkdir /sharepoint

Langkah ke-3:
Hak akses owner pada file.
root# chown -R fileserver901:fileserver901 /sharepoint

Langkah ke-4:
Cek samba install.
root# rpm -qa | grep samba
apabila belum terinstall maka install dengan perintah yum.
root# yum install samba

Langkah ke-5:
Buat backup konfigurasi samba.
root# cp /etc/samba/smb.conf /etc/samba/smb.conf.original

Langkah ke-6:
Edit file /etc/samba/samba.conf . Hapus seluruh isi filenya dan copy paste konfigurasi berikut.
[global]
workgroup = home
netbios name = fedora
security = share
hosts allow = 192.168.0.0/24
[share]
comment = Home File Server
path = /sharepoint
force user = fileserver901
force group = fileserver901
guest ok = yes
read only = no
Langkah ke-7:
Test syntax dari konfigurasi smb.conf
root#testparm /etc/samba/smb.conf

Ketika muncul pesan "Loaded services file OK."
Konfigurasi samba siap digunakan. Sekarang jalankan service samba dengan perintah:
root# chkconfig smb on atau root# service smb start

Untuk melihat hasilnya, kita bisa menggunakan perintah smb://[ip_server]/share atau \\[ip_server]\share

PENJELASAN:

[global] (signifies security parameters)
workgroup = home (names a windows workgroup name)
netbios name = fedora (our netbios name)
security = share (takes on permissions from the share, which we set earlier)
hosts allow = 192.168.0.0/24 (only allows this subnet to connect i.e. 192.168.0.1192.168.0.254)

[share] (Signifies the name of our share when mounted. You can change to anything you like.)
comment = Home File Server (creates share point comments)
path = /sharepoint (The full path the volume you want to share. Note if you want to share more than one volume, copy the “share” section and alter accordingly.)
force user = fileserver901 (forces all users of this mount to become this user and obtain access to whatever this user has access to)
force group = fileserver901 (forces all users of this mount to become this group and obtain access to whatever this group has access to)
guest ok = yes (allows anonymous accounts to access, which is how we can connect without a password)
read only = no (allows us to write to the volume. If you set this to yes, you could make this an anonymous “read” only volume)



sumber: RedHat Magazine

posted by .:CyberColombuzz:. at 4:09 PM 0 comments