Minggu, 05 April 2009

Buat proxy server dengan redhat 9

INSTALASI REDHAT LINUX 9
I. PRA INSTALASI
^^^^^^^^^^^^^^^^
Edit BIOS:
- urutan boot CDROM pertama.
- matikan soundcard & modem onboard jika ada.
- matikan serial port & usb jika dianggap perlu, karena mungkin tidak digunakan. 
- matikan 'Halt on error' dengan 'no error' jika perlu, -> utk boot tanpa keyboard.

II. INSTALASI
^^^^^^^^^^^^^
1. Boot dari CD#1 RH9, tekan enter.
  Note: mode grafis lebih memudahkan untuk melakukan setup selanjutnya menggunakan mouse.
2. SKIP testing cd media.
3. NEXT, Pilih Language = English default.
4. NEXT, pilih Keyboard = U.S. English.
5. NEXT, pilih Mouse, default PS2 3 tombol.
  Note: pada saat operasional (mode teks) mouse/gpm tidak perlu dijalankan.
6. NEXT, pilih tipe instalasi CUSTOM.
7. NEXT, Manually partition with Disk Druid.
8. NEXT, sebaiknya buat partisi terpisah untuk /boot, /tmp, /var, dan /
  /boot = memisahkan file2 boot linux agar berada di partisi awal dan proses booting lebih cepat
  /tmp dan /var berisi file temporary, log dsb yg cenderung bertambah,.. harus dikarantina.
  Ukuran partisi:
  /boot sekitar 100 MByte
  /tmp sekitar 300 MByte
  / sekitar 1,5 GByte
  Swap normalnya sebesar 2 kali ukuran RAM. Misal RAM=128MB -> Swap=256MB.
  /Var bisa dihabiskan untuk ruang hardisk yang tersisa.
  Tetapi pembagian partisi ini tergantung selera.
  Note: Pilih opsi "check bad blocks" jika perlu. Direktori default tempat Squid Cache berada di /var.
9. NEXT, pilih boot loader default = GRUB.
  Note: konfigurasi grub dapat langsung diaktifkan dengan mengedit file /boot/grub/grub.conf
10. NEXT, Network Configuration, ganti DHCP pada eth0 & eth1 dengan ip statik yang telah ditentukan sebelumnya.
11. NEXT, pilih konfigurasi firewall = NO FIREWALL.
  Note: konfigurasi firewall & NAT dilakukan secara manual setelah instalasi.
12. NEXT, Additional Language Support = English (USA), default.
13. NEXT, Time Zone Selection = Asia/Jakarta.
14. NEXT, Masukkan password ROOT 2 kali!
15. NEXT, Authentication Configuration gunakan default, enable MD5 dan Shadow.
16. NEXT, Package Group Selection.
  Hilangkan Paket berikut ini:
  - X Window System
  - Gnome Desktop Environtment
  - Graphical Internet
  - Office/Productivity
  - Sound and Video
  - Graphics
  - Printing Support
  - dan paket2 lain yang berhubungan dengan grafis x-windows yang mungkin terinstall.
  Pilih instalasi paket-paket berikut ini:
  - Text-based Internet
  Detail:
  - lynx -> bisa untuk keperluan pengujian bandwidth
  - pine -> editor yang 'relatif' lebih manusiawi dibanding VI :)
  - paket yang lain bisa dihilangkan.
  - Web Server
  Pilih default Detail, sudah termasuk di dalamnya SQUID.
  - Windows File Server = Samba, jika diinginkan.
  - DNS Name Server, sebaiknya digunakan untuk Client link Internasional.
  - FTP Server, jika diinginkan.
  - Network Server, jika ingin menjadikan server DHCP, Telnet, dll.
  - Development Tools, sebaiknya diinstall jika dirasakan ada program luar tambahan yg perlu diinstall dan di-compile.
  - Kernel Development, jika ingin meng-compile kernel.
  - System Tools.
  pilih details:
  - Ethereal -> networking tool
  - mc -> Shell yang user-friendly
  - nmap -> networking tool
  - shapecfg -> untuk traffic shaper
   
  Kemudian pilih (checklist) Select Individual Packages.
  Tujuannya untuk menambahkan beberapa paket penting lainnya yang tidak dicantumkan pada daftar global paket di atas, 
  yaitu SNMP-Client, MRTG, dan IPTRAF.
  - MRTG -> pilih di kelompok Applications - Internet - mrtg
  - IPTRAF -> pilih di kelompok Applications - System - iptraf
  - SNMP-Client -> pilih di kelompok Applications - System - net-snmp-utils
17. NEXT, Unresolved Dependency pilih Install packages to satisfy dependency. Dalam hal ini paket PERL-URI.
18. NEXT, Siap menginstall
19. NEXT, Proses instalasi berlangsung....... masukkan CD#2 dan CD#3 jika diminta.
20. NEXT, No I do not want to create a boot diskette
21. NEXT, Reboot - keluarkan CD Instalasi.

III. PASCA INSTALASI
^^^^^^^^^^^^^^^^^^^^
1. Login root.
2. Pastikan kedua Ethernet Card sudah terinstall benar termasuk default gateway-nya.
  Cek menggunakan perintah: 'ifcfg' dan 'route -n'. Asumsi eth0 untuk koneksi keluar (ke radio)
  dan eth1 untuk dihubungkan ke internal LAN client.
3. Konfigurasi minimal Network Address Translation (NAT) untuk internal.
  - vi /etc/sysctl.conf -> net.ipv4.ip_forward = 1
  - sysctl -p
  - iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  - chkconfig iptables on
  - iptables-save > /etc/sysconfig/iptables

Sampai di sini Server sudah bisa digunakan untuk mengkoneksikan client ke internet.

4. Konfigurasi Squid dan Transparent Proxy
  - vi /etc/squid/squid.conf
  # NETWORK OPTIONS
  http_port 8080
  # OPTIONS WHICH AFFECT THE CACHE SIZE
  cache_mem xxx MB 
  -> xxx= seperempat ukuran RAM, jadi utk RAM 128 maka xxx=32
  # LOGFILE PATHNAMES AND CACHE DIRECTORIES
  cache_dir ufs /var/spool/squid xxx 16 256
  -> xxxx = kapasitas total cache yang diinginkan dalam MByte.
  # ACCESS CONTROLS
  acl our_networks src 192.168.0.0/24 
  -> jika network internal adalah 192.168.0.0/24
  http_access allow our_networks
  # HTTPD-ACCELERATOR OPTIONS
  httpd_accel_host virtual
  httpd_accel_port 80
  httpd_accel_with_proxy on
  httpd_accel_uses_host_header on
  - service squid start
  - chkconfig squid on
  - iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

5. Proteksi lanjut mencegah serangan Denial of Service (DoS Attack)
  Anti serangan PING Flood
  - iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s --limit-burst 10 -j ACCEPT
  - iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
  - iptables -A INPUT -p icmp --icmp-type ! echo-request -j ACCEPT
  Anti serangan TCP SYN Flood
  - iptables -A INPUT -p tcp --syn -m limit --limit 5/s --limit-burst 10 -j ACCEPT
  - iptables -A INPUT -p tcp --syn -j DROP
  - iptables -A INPUT -p tcp ! --syn -j ACCEPT
  Aturan FORWARD anti DoS dari manual iptables
  - iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

6. Simpan konfigurasi IPTABLES secara permanen menggunakan perintah:
  - iptables-save > /etc/sysconfig/iptables

7. Matikan service yang tidak diperlukan, misalnya:
  - chkconfig --level 2345 netfs off
  - chkconfig --level 2345 rawdevices off
  - chkconfig --level 2345 atd off
  - chkconfig --level 2345 gpm off
  - chkconfig --level 2345 portmap off
  - chkconfig --level 2345 sendmail off
  - chkconfig --level 2345 isdn off
  - chkconfig --level 2345 rhnsd off
  - chkconfig --level 2345 anacron off
  - chkconfig --level 2345 nfslock off
  - chkconfig --level 2345 xinetd off

8. Percepat delay boot GRUB pada saat booting:
  - vi /boot/grub/grub.conf
  -> ganti "timeout=10" menjadi "timeout=1"

9. Konfigurasi Web Server
  Hidupkan Web Server:
  - chkconfig httpd on
  - service httpd start
  Note: Halaman muka Web Server berada pada direktori /var/www/html
  Ganti/buat file 'index.html' jika perlu, untuk menyembunyikan informasi.
  Untuk menguji, jalankan "lynx localhost".

10. Konfigurasi SNMP agent
  - mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.default
  - snmpconf
  > pilih ALL atau tekan Enter untuk menyimpan di semua file snmpd.conf
  > pilih "1: snmpd.conf" dengan cara tekan angka '1' dan Enter
  > pilih "1: Access Control Setup" dengan cara tekan '1' dan Enter
  > pilih "3: a SNMPv1/SNMPv2c read-only access community name", tekan '3' + Enter
  > The community name to add read-only access for: client (tekan Enter)
  > The hostname or network address to accept this community name from [RETURN for all]: (tekan Enter)
  > The OID that this community should be restricted to [RETURN for no-restriction]: (tekan Enter)
  > Select section: f (tekan Enter)
  > Select section: f (tekan Enter)
  > Select section: q (tekan Enter)
  - service snmpd start
  - chkconfig snmpd on

11. Konfigurasi MRTG 
  Ganti nama file mrtg.cfg yg lama:
  - mv /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.default
  Buat direktori untuk web mrtg, dengan akses http://localhost/traffic
  - mkdir /var/www/html/traffic
  Buat file mrtg.cfg yang baru di direktori /etc/mrtg dengan isi seperti pada lampiran file 'mrtg.cfg'.
  -> Data yang diambil oleh mrtg ini adalah traffic eth0 & eth1, traffic tcp, traffic udp, traffic icmp,
  kondisi RAM & kondisi CPU.
  Buat file script untuk menjalankan/menghentikan mrtg seperti pada lampiran file 'start' dan 'stop'.
  Atur supaya mrtg berjalan pada saat boot komputer:
  - vi /etc/rc.local
  -> tambahkan di baris akhir: '/etc/mrtg/start'

Tidak ada komentar:

Posting Komentar