Rabu, 19 Juni 2013

MODUL 3 DHCP SERVER

Membuat DHCP server
                
1.       Install server dhcp, semisalnya pada packet manager apt, maka
apt-get install dhcp-server

2.       Konfigurasilah file /etc/default/dhcp3-server, untuk menunjukan di interface manakah DHCP, misalkan pada interface eth0, maka pada line INTERFACES="eth″, jadikan INTERFACES="eth0″

3.    Konfigurasi file pada /etc/dhcp3/dhcpd.conf :
    default-lease-time 600;                                                      \\ lama penggunaan suatu ip
    max-lease-time 7200;
    option subnet-mask 255.255.255.0;                               \\ subnet anda
    option broadcast-address 172.16.0.255;                      \\ ip boardcast, biasanya ip terakhir
    option routers 172.16.0.1;                                                  \\ ip router anda
    option domain-name-servers 172.16.0.1;                                       \\ ip dns anda
    option domain-name "example.com";                       \\ nama dns
    subnet 172.16.0.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.200;                                   \\ ip yang bisa digunakan
    }

4.       Semisalnya anda ingin suatu komputer ipnya terus sama di dhcp, maka tambahkan line ini
Host1 {
hardware ethernet 00:1b:63:ef:db:54;
fixed-address 172.16.0.5;
}
Hardware Ethernet bisa di check dengan ifconfig di linux, atau ipconfig /all di windows.

5.       Pada client /etc/network/interface, maka
Auto eth0
Iface inet eth0 dhcp

6.       Restartlah server dhcp, dan juga network client.

MODUL 3 DNS SERVER

Membuat Server DNS

Menambah zone :
zone "(nama zone)" in{
  type master;
  file "(directory file)";
};

Jika kita ingin membuat zone example, yang tabelnya adalah db.example dan berada di /etc/bind maka
zone "example" in{
  type master;
  file "/etc/bind/db.example";
};

Sekarang tentu kita harus membuat file db.example tersebut, nantinya didalam db.example isinya adalah sebagai berikut:
$TTL    3600
@       IN      SOA     example.com. root.example.com. (
                   2007010401           ; Serial
                         3600           ; Refresh [1h]
                          600           ; Retry   [10m]
                        86400           ; Expire  [1d]
                          600 )         ; Negative Cache TTL [1h]
;
@           IN           NS          example.com.
@           IN           A             172.16.0.1
some    IN           A             172.16.0.2
thing     IN           A             172.16.0.3

Jika dilihat, dalam file ini kita bisa mengetahui  bahwa example.com berada pada ip 172.16.0.1, user some, yang dibuka dengan some.example berada di ip 182.16.0.2, dan user thing, yang dibuka dengan thing.example berada di ip 182.16.0.3. Setelah selesai jangan lupa untuk restart server bind anda, dengan demikian semua konfigurasi akan diload oleh bind. Agar client anda menggunakan dns anda, maka pada linux anda menambahkan “nameserver 172.16.0.1” pada /etc/resolve.conf

Jika sewaktu waktu server dns mati, dan anda ingin tetap dns berjalan, maka anda membuat sebuah dns slave, kita install bind9, dan pada file named.conf.local, anda menambahkan syntax berikut:

zone "(nama zone)" in{
  type slave;
  masters { ipdnsmaster; };
  file "(directory file)";
};

Semisalnya saya menggunakan some sebagai slave untuk example.com, maka

zone "example" in{
  type slave;
  master {172.16.0.1;};
  file "/etc/bind/db.example";
};

Jika anda ingin file db berada pada directory bind, maka editlah /etc/apparmor.d/usr.sbin.named, dalam file itu carilah line /etc/bind/** r, tambahkan w sehingga menjadi /etc/bind/** rw

Kemudian, pada named.conf.local pada master (example.com) tambahkan pada named.conf.local nya menjadi

zone "example" in{
  type master;
  file "/etc/bind/db.example";
 allow-transfer {172.16.0.2;};
 allow-update {172.16.0.2;};
};

Dimana 172.16.0.2 menunjuk some, yang merupakan slave, sehingga dia bisa mengambil file db.example dari master. Sekarang cukup restart bind9 pada kedua komputer, maka slave akan mengambil  file dbnya. Selain itu, tambahkan juga “nameserver 172.16.0.2” pada /etc/resolve.conf client anda

MODUL 5 IPTABLES

SOAL PENDAHULUAN

1.      Apakah yang dimaksud dengan IPTABLES?
2.      Bagaimana Peraturan penulisan IPTABLES?
3.      IPTABLES memiliki berapa table? Sebut dan jelaskan?
4.      Pada table Filter terdapat 3 jenois chain, sebut dan jelaskan perbedaannya?
5.      Sebut dan Jelaskan 3 jenis NAT?
6.      Apa yang membedakan Mangle dengan table lain? Jelaskan!
7.      Apa tujuan dari penggunaan chain prerouting dengan chain postrouting? Jelaskan!
8.      Pada penulisan IPTABLES, pada bagian target terdapat special property, sebutkan dan jelaskan apa saja special property tersebut minimal 4 !
9.      Beberapa special property dari bagian target adalah DROP dan REJECT, jelaskan dan sebutkan perbedaannya!
10.  Jelaskan maksud IPTABLES dibawah ini.
iptables –A FORWARD –s 0/0 –i eth0 –d 192.168.1.58 –o eth1 –p TCP –sport 1024:65535 –m multiport –dports 80,443 –j ACCEPT



JAWABAN SOAL PENDAHULUAN

1.    1. Iptables adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) lalulintas data. Secara sederhana digambarkan sebagai pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua lalulintas dalam komputer kita, baik yang masuk ke komputer, keluar dari komputer, ataupun traffic yang sekedar melewati komputer kita.
2.     iptables -t [table] command [chain] parameter target
contoh :
iptables -t filter -A INPUT -s 192.168.1.1 -j DROP
3.      
·            filter : ini adalah tabel default, mengandung INPUT, OUPUT, dan FORWARD (biasa di sebut chain INPUT, chain OUTPUT, dan chain FORWARD)
·            nat : digunakan untuk membuat gateway, SNAT untuk mengubah alamat IP pengirim, biasanya dijadikan gateway menuju ke internet, DNAT kebalikan dari SNAT
·            mangle : digunakan untuk menandai paket-paket untuk digunakan di proses-proses selanjutnya
4.
INPUT
Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelolakomputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSHke firewall dan yang lain tidak boleh.
OUTPUT
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.
 FORWARD
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:
ACCEPT
Akses diterima dan diizinkan melewati firewall
REJECT
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
DROP
Akses diterima tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidak mengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan – akan server yang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengan trafik tinggi Target Drop sebaiknya jangan digunakan.

5.     
·      PREROUTING rantai - Alters paket sebelum routing. yaitu terjemahan Packet terjadi segera setelah paket datang ke sistem (dan sebelum routing). Hal ini membantu untuk menerjemahkan alamat ip tujuan paket ke sesuatu yang cocok routing pada server lokal. Ini digunakan untuk DNAT (destination NAT).
·      POSTROUTING rantai - Alters paket setelah routing. yaitu terjemahan Packet terjadi ketika paket meninggalkan sistem. Hal ini membantu untuk menerjemahkan alamat ip sumber paket ke sesuatu yang mungkin cocok routing pada server desintation. Ini digunakan untuk SNAT (source NAT).
·      OUTPUT chain - NAT untuk paket lokal yang dihasilkan pada firewall.


6.    Table Mangle Iptables adalah untuk perubahan paket khusus. Ini mengubah QOS bit dalam header TCP. Tabel mangle memiliki berikut built-in rantai.

·       rantai PREROUTING
·       rantai OUTPUT
·       rantai MAJU
·       rantai INPUT
·       rantai  POSTROUTING

7.        Prerouting chain, melakukan NAT pada paket ketika alamat tujuan dari paket perlu diubah.
Postrouting chain, melakukan NAT pada paket ketika alamat sumber dari paket  perlu diubah.

8.         
o    ACCEPT IPTables menghentikan pemrosesan lanjutan, paket ditangani oleh aplikasi akhir, atau oleh system operasi untuk pemrosesan.
LOG Melakukan pencatatan (log) informasi paket ke daemon syslog
DNAT Digunakan untuk melakukan translasi alamat IP tujuan, sebagai contoh menulis ulang alamat IP tujuan dari paket.


o    SNAT Digunakan untuk melakukan translasi alamat IP sumber, sebagai contoh menulis ulang alamat IP sumber dari paket. Alamat IP sumber didefinisikan oleh sumber

o    MASQUERADE Digunakan untuk melakukan translasi alamat jaringan sumber. Defaultnya alamat IP sumber adalah alamat IP yang digunakan oleh interface firewall.

9.        DROP IPTables menghentikan pemrosesan lanjutan, dan paket akan ditolak.
REJECT Sama seperti DROP, tetapi juga akan mengembalikan pesan kesalahan ke host yang mengirim paket yang ditolak.

10.         iptables –A FORWARD –s 0/0 –i eth0 –d 192.168.1.58 –o eth1 –p TCP –sport 1024:65535 –m multiport –dports 80,443 –j ACCEPT
-A : menambahkan spesifikasi aturan chain
FORWARD : untuk mengatur paket yang dirouting melalui router bersangkutan (yang diberikan aturan iptables bersangkutan )
-s 0/0 : spesifikasi alamat asal, dimana 0/0 berarti mengatur untuk seluruh alamat asal yang melewati router bersangkutan
-i eth0 : merupakan nama interface dimana paket diterima, dalam hal ini yang diatur yaitu paket yang melewati interface eth0
-d 192.168.1.58 : merupakan tujuan dari paket, dalam hal ini yang diatur yaitu paket yang memiliki ip tujuan 192.168.1.58
-o eth1 : mengatur nama interface yang akan digunakan untuk mengirim atau melanjutkan paket, dalam hal ini paket yang diatur akan dikirim melalui interface eth1.
-p TCP : mengatur aturan protokol yang digunakan, dalam hal ini menggunakan protokol TCP.
–sport 1024:65535 : mengatur source port atau port asal, dalam hal ini yaitu 1024:65535
–m multiport : merupakan match iption, dengan nama maching module yaitu multiport
–dports 80,443 : mengatur port tujuan, dalam hal ini port tujuannya yaitu 80, 433
–j ACCEPT : artinya jika paket sesui dengan kriteria di atas, maka paket tersebut diijinkan lewat.




SOAL SHIFT

1.      Semua subnet tidak dapat mengakses TCP port 21, 443, 66 pada DMZ kecuali KEBUN_BIBIT sedangkan port TCP yang diizinkan untuk mengakses DMZ adalah port 80, 8080, 22.
2.      Mengijinkan semua akses UDP ke DMZ.
3.      Subnet DMZ tidak dapat di PING dari luar selain subnet AJK dan jaringan internal.
4.      Koneksi kepada DMZ melalui ssh dibatasi sebanyak 5 koneksi.
5.      Buatlah sebuah perintah iptables untuk mengatasi synflood
6.      Buatlah sebuah perintah iptables untuk mengatasi force ssh attack.
7.      Buatlah perintah iptables untuk memblok paket scanning. Contoh: xmas, file scan.
8.      Subnet taman_bungkul hanya bisa diakses oleh subnet kebun_bibit, subnet plasa_surabaya hanya bisa diakses ketika jam kerja (08.00 – 16.00), subnet sutos tidak bisa melakukan koneksi ke YM dan Facebook serta tidak bisa melakukan streaming video pada hari dan jam kerja (senin-jumat 07.00-17.00).
9.      Selain DMZ gunakan NAT untuk mengakses jaringan luar (tidak boleh menggunakan masquerade).
10.  Catat semua log yang di-drop oleh firewall.






JAWABAN SOAL SHIFT

1.
iptables -A FORWARD -p tcp -i eth0 -s 10.10.4.0/28 -d 10.151.77.128/29 -m multiport --dport 21,443,66 -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -s 0.0.0.0/0 -d 10.151.77.128/29 -m multiport --dport 80,8080,22 -j ACCEPT

2.
iptables -A FORWARD -p udp -i eth0 -s 0.0.0.0/0 -d 10.151.77.128/29 -j ACCEPT

3.
iptables -A FORWARD -p icmp -i eth0 -s  10.10.0.0/20 -d 10.151.77.128/29 -j ACCEPT
iptables -A FORWARD -p icmp -i eth0 -s 10.151.76.0/24 -d 10.151.77.128/29 -j ACCEPT

4.
iptables -A FORWARD -p tcp -i eth1 -d 10.151.77.128/29 --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT
          
5.
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j REJECT

6.
iptables -I FORWARD -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I FORWARD -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j REJECT

7.
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j REJECT
Force Fragments packets check

iptables -A FORWARD -f -j REJECT
XMAS packets

Incoming malformed XMAS packets REJECT them:

iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j REJECT
REJECT all NULL packets

Incoming malformed NULL packets:

iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j REJECT
Block Spoofing and bad addresses

8.

iptables -A FORWARD -p all -i eth0 -s ! 10.10.4.0/28 -d 10.10.7.0/26 -j REJECT

iptables -A FORWARD -p all -s 0/0 -d 10.10.14.0/23 -m time --timestart 08:00 --timestop 16:00 -j ACCEPT

iptables -A FORWARD -p all -s 0/0 -s 10.10.0.0/23 -d 173.252.110.27 -m time --timestart 07:00 --timestop 17:00 -j REJECT
iptables -A FORWARD -p all -s 0/0 -s 10.10.0.0/23 -d 68.180.190.124 -m time --timestart 07:00 --timestop 17:00 -j REJECT

9.
iptables -t nat -A POSTROUTING -s 10.151.77.128/29 -o eth0 -j SNAT --to-source 10.151.76.65
iptables -t nat -A POSTROUTING -s 10.10.0.0/20 -o eth0 -j MASQUERADE

10.     
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

SQUID3 PROXY SERVER

-->
pertama install squid3
edit konfigurasi squidnya dengan cara nano /etc/squid3/squid.conf


acl host1 src 172.16.0.1
acl host2 src 172.16.0.2
acl waktu time MTWF 00:00-14:00
acl weekend SA


acl maxi maxconn 2
http_access deny maxi
acl download urlpath_regex -i \.pdf$ \.mp3$ \.doc$
http_access deny download host1


delay pools 3


delay_class 1 1
delay_parameters 1 10000/10000
delay_access 1 allow host1 waktu !weekend


delay_class 2 1
delay_parameters 1 20000/20000
delay_access 1 allow host3 waktu !weekend


delay_class 3 1
delay_parameters 3 30000/30000
delay_access 3 allow all !waktu weekend

SOAL

-->
  1. Buatlah routing sederhana yang terdiri atas client, router dan DMZ(server)
  2. Install apache,mySQL, phpmyadmin pada DMZ (diserver)
  3. DMZ akan digunakan sebagai Web Server. Terdapat 2 buah website yang ditangani oleh web server ini yaitu ip_anda:80, ip_anda:8080. Kemudian pada website ip_anda:80 terdapat subdirektori /admin yang mana sebenarnya file-filenya terletak di /home/admin, berbeda dengan file-file lain yang terletak di /var/www.Ketika mengakses ip_anda:8080 user harus menginputkan username dan password (menggunakan .htaccess) Semua website tidak boleh menampilkan list direktori. Jadi jika tidak ada file index (index.html, index.php, default.asp) maka daftar file dan subdirektori yang ada tidak akan tampil. Ketika kita mengakses ip_anda:80/example maka akan diarahkan ke ip_anda:80/example/example.html
  4. Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (kalau di apache windows) atau di /var/www/html (untuk apache server linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa homepage mereka. Buatlah configurasi Web server agar memiliki fasilitas user dapat memiliki web pagenya sendiri (mod_userdir).
  5. Buatlah configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate..
  6. Lakukan configurasi untuk mengoptimasi Apache dengan asums: guaranteed RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB

-->
Tambahlah satu host lagi untuk melakukan percobaan dengan subnet yang sama.
  1. Salah satu server DMZ akan digunakan sebagai proxy server. Sehingga user-user pada jaringan anda untuk mengakses internet akan menggunakan proxy.
  2. IP salah satu host memiliki kecepatan download maksimal 10 kbps dan IP lainnya memiliki kecepatan download maksimal 20 kbps sebelum jam 14.00 dan kedua IP memiliki kecepatan download maksimal sebesar 30 kbps setelah jam 14.00 atau hari libur(Sabtu,Minggu).
  3. Buatlah setting tambahan agar IP dari host 1(client) tidak dapat melakukan download file : pdf, mp3,doc.
  4. Rubahlah agar IP dari host 1(client) memiliki maksimal kecepatan download sebesar 20 kbps file : pdf, mp3,doc.
  5. Batasi hanya ada 2 buah koneksi secara bersamaan pada tiap host.
  6. Bisa menjelaskan 5 poin mengenai log squid

JAVA WEB SERVER

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package webserver1;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Didik
*/
public class Webserver1 {
/**
* @param args the command line arguments
*/
public static String readLine(InputStream is) throws IOException
{
String request = “”;
int c;
while(true){
c = is.read();
request += (char) c;
if((char) c == ‘\n’)
break;
}
return request;
}
public static void main(String[] args) {
try {
// TODO code application logic here
ServerSocket ss = new ServerSocket(580);
while(true)
{
Socket s = ss.accept();
BufferedInputStream is = new BufferedInputStream(s.getInputStream());
BufferedOutputStream os = new BufferedOutputStream (s.getOutputStream());
String request = “”;
//String path = “”;
while (!(request=readLine (is)).equals(“\r\n”))
{
System.out.print(request);
}
System.out.print(request);
String response=”";
response = “HTTP/1.0 200 OK\r\n” +
“Content-Type: text/html\r\n” +
“\r\n”;
String sCurrentLine;
BufferedReader br = new BufferedReader(new FileReader(“D:\\Kuliah\\Semester 4\\Jaringan Komputer\\Modul 2\\webserver1\\new 2.html”));
while ((sCurrentLine = br.readLine()) != null) {
response +=sCurrentLine;
}
os.write(response.getBytes());
os.flush();
is.close();
os.close();
s.close();
}
} catch (IOException ex) {
Logger.getLogger(Webserver1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Disini saya memberi prt 508. Sehingga ketika kita buka browser lalu mengetik localhost:508, maka akan keluar isi htmlnya. Nah, isi html itu terserah kita dan kita buat sendiri. Lalu path da// lokasi file html yang sudah kita buat, kita masukkan ke script.

Setting Max

Masuk ke terminal web server (saya host1) kemudian :

1. ketik “top “.

2. Ketik “shift + m”

3. Catat nilai RES tertingginya yang digunain sama httpd nya.

4. ketik “Q” untuk kembali

5. service apache2 stop

6. free -m

7.Catat nilai used

8. Di servr saya terdapat 8mb

9. Kalikan sama 0.8 untuk rata-rata AVAILABLE APACHE POOL

10. Bagi AVAILABLE APACHE POOL sama nilai RES tertinggi

11. nano /etc/apache2/apache2.conf

12. Set MaxClients yang udah tadi dihitung

13. Set KeepAlive jadi Off.

14. Set Timeout jadi  30

15. Set MaxKeepAliveRequest jadi 8

16. Set MinSpareServers 10-20% MaxClient

17. Set MaxSpareServers 10-20% MaxClient

18. Set StartServers sama dengan MaxSpareServers dan MinSpareServers

19. Set MaxRequestsPerChild jadi 10000

20. Save kemudian aktifkan kembali apachenya service apache2 start

Konfigurasi mod_userdir

Konfigurasi mod_userdir
1. sudo a2enmod userdir

2. sudo nano /etc/apache2/mods-enabled/userdir.conf

3. Ganti dengan code:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
  AllowOverride All
  Options MultiViews Indexes SymLinksIfOwnerMatch
  <Limit GET POST OPTIONS>
          Order allow,deny
          Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS>
          Order deny,allow
          Deny from all
  </LimitExcept>
        </Directory>
</IfModule> 
 
4. Kemudian nano /etc/apache2/mods-available/php5.conf 
 
5. Ganti dengan source code ini: 
 
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
 SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
 SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>
 
 6. Restart Apache Anda
service apache2 restart
mkdir /home/admin/public_html

7. Kemudian, buat file index.html
nano index.html 
lalu isi text html disana
 
 8. test dengan: lynx localhost:80/public_html

Konfigurasi SSL pada Apache Server

1. Masuk ke komputer host Anda. kemudian ketik service apache2 stop untuk mematikan Apache
2. ketik a2enmod ssl untuk menjalankan modul ssl
3. Generate CSR, ketik openssl req -new > ssl.csr
   masukkan jawaban sesuai dengan pertanyaan, jika tidak ingin mengisi password 
   cukup masukkan tanda "."
4. Generate Sertificate dengan cara: 
 openssl rsa -in privkey.pem -out ssl.key
 openssl x509 -in ssl.csr -out ssl.crt -req -signkey new.cert.key -days (berapa jumlah hari)
 cp ssl.cert /etc/ssl/ssl.crt
 cp ssl.key /etc/ssl/ssl.key
6. Configurasi apache
   nano /etc/apache2/sites-available/default
Kemudian isi code berikut dimana saja :
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/ssl.crt
SSLCertificateKeyFile /etc/ssl.key

7. Coba jalankan dengan menggunakan command lynk https://localhost