On Mon, 21 Dec 1998, carlos wrote:
> > Misalnya saya login sbg user biasa di Linux, terus saya jalanin
> > program-program yang bikin hang tsb...apa trus Linux Boxnya HANG TOTAL,
> > atau cuman untuk user itu. Kalau cuman user itu yg hang gak pa-pa...lha
> > kalo semuanya ikutan hang itu baru masalah :(....
>
secara umum, seperti yang lain sudah bilang, kalau yang terkena serangan
itu user space, ya tetap lancar. cuma user bisa saja melakukan kegiatan
yang efeknya kernel space, NAH ini yang menyebabkan hang. tapi jelas
dengan kernel linux yang berkembang terus setiap pekan, kernel linux akan
makin mapan.
> kalau packet bombing,
>
nah, ini kan kenanya kernel space.
> si linux langsung hang,
> sedang di bsdi mesinnya masih bisa jalan dengan baik,
> tapi gak bisa ditelnet.
>
kalau nggak salah di linux versi sekarang sudah beres, atau belum juga ?
maklum belum pernah nge-test.
> Kalau forking bomb, baik linux dan bsdi langsung hang ..
>
kalau user biasa, bukankah bisa dicegah dengan ulimit / getrlimit, ini
pertanyaan saya dalam hati. dan man ulimit di linux benar - benar
mengecewakan, belum di-update manpage-nya sejak kernel versi 1.2.4, saat
masih dibilang unimplemented !! :-)
setelah menelusuri isi /usr/include, dan saya telusuri source-code
shadow-package, saya agak optimis tampaknya di kernel v2.0.x yang saya
pakai sudah diimplement, apalagi shadow-package dengan /etc/limits-nya
harus pakai ini, so tinggal di coba:
di-artikel lain:
From: [EMAIL PROTECTED] (carlos)
mau bikin linux (O/S lain) hang mudah koq,
kirim aja packet generator/bomber dari host lain
misalnya 1000 packet/detik :-)
-> ini belum pernah saya coba, males buat atau nyarinya :-)
atau forking bomb (process fork, malloc() , man ulimit ) :--)
( perl -e "while(1) {fork;}" )
-> nah kalau ini, kebetulan saya sedang utak - atik /etc/limits
dari package shadow, sudah coba manual, tapi dengan adanya
issue HANG ini, jadi rajinin dikit membuat script yang
cuma merapikan tulisannya carlos :-) di attach di atas
ternyata /etc/limits di linux berfungsi dengan baik
proses terus mem-fork, namun jumlah anak tetap nggak
nambah kalau sudah sampai limit-nya (di situ 27),
efeknya cuma mau ps agak lama saja.
(program masih buggy, maunya kalau sudah gagal fork,
program berhenti, yang bisa benerin tulung :-)
di artikel lain lagi:
From: [EMAIL PROTECTED] ("Niko D. Barli")
PERINGATAN : saya nggak tanggung jawab atas kerusakan yang mungkin
disebabkan oleh program di bawah ini (saya sendiri belum nyoba :) ).
Kalo mau nyoba, tanggung jawab sendiri. Don't try if you don't know
what the program is really doing .... Ini mungkin tergolong kriteria
"program jahil".
#include <malloc.h>
int main(){
while(1){
malloc(1000000);
}
}
-> terus sudah kepalang basah, ya saya teruskan mencoba malloc
karena toh di /etc/limits selain batasan jumlah proses
juga ada batasan DATA yang saya terjemahkan tampaknya
ini berkaitan dengan alokasi heap-memory, so saya coba
ternyata buat program C yang cuma merapihkan dikit
program bung Niko :-) di attach di atas
setelah di make, dijalanin, ternyata masih jalan baik,
setelah malloc 74 kali, akhirnya keluar keluar
"can't malloc()" yang diharapkan.
So,
buat yang menggunakan linux untuk server dengan shell account,
/etc/limits-nya shadow package termasuk perlu di-eksplorasi, selain
/etc/login.access dan /etc/porttime :-)
#!/usr/bin/perl
#
$i = 0;
while (1) {
$retval = fork();
$errcode = $!;
if ($retval == -1) {
printf(STDERR "can't fork()\n");
exit(1);
}
elsif ($retval == 0) {
printf(STDOUT "child: $i\n");
}
else {
printf(STDOUT "parent: $i\n");
}
$i++;
}
/*
* junkmalloc.c
*/
#include<stdio.h>
#include<malloc.h>
#define SATUMB 1048576
void main() {
int i;
void *retval;
i = 0;
while (1) {
retval = malloc(SATUMB);
if (retval == NULL) {
fprintf(stderr, "can't malloc()\n");
exit(1);
}
else {
fprintf(stdout, "malloc(): %d\n", i);
i++;
}
}
}
______________________________________________________________________
Utk berhenti langganan kirim email ke [EMAIL PROTECTED]
Sudah cari di arsip? http://www.linux.or.id/milis.php3#arsip-id-linux
Utk info netiket, kirim email kosong ke [EMAIL PROTECTED]