Hình 6. 9: Đăng nhập thành cơng
Địa chỉ IP 192.168.1.42 vẫn đăng nhập SSH đúng với IP của máy chủ và đúng port
CHƯƠNG 6: KẾT QUẢ DEMO BẢO MẬT HỆ THỐNG
Hình 6. 10: Đăng nhập IP 192.168.1.42
Hình 6. 11: Đăng nhập thất bại
Ngồi ra nên chỉnh sửa cấu hình trong fie sshd_config để hệ thống được bảo mật hơn
CHƯƠNG 6: KẾT QUẢ DEMO BẢO MẬT HỆ THỐNG
Chỉnh sửa trong file /etc/ssh/sshd_config
# only allow SSHv2 Protocol 2
# specify the keys for SSHv2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # disallow root to login via SSH PermitRootLogin yes
#disconnect after 3 tries MaxAuthTries 3
#do strict checking on users homedir permissions StrictModes yes
# enable Authentication via RSA keys RSAAuthentication yes
PubkeyAuthentication yes
# specify the file with the public key for ourusers AuthorizedKaysFilẹssh/authorized_keys
# disable various “bad” options RhostsRSAAuthentication no HostbasedAuthentication no IgnoreUserKnownHosts yes IgnoreRhosts yes PasswordAuthentication no PermitEmptyPasswords no X11Forwarding no
# disable PAM anthentification (as we only use keys now) UsePAM no
# only allow login, if user is in group ‘ssh’ AllowGroups ssh
Nhận xét:
SSH là lĩnh vực cực kì quan trọng cần được bảo mật vì khi kẻ tấn công
register ssh vào được sẽ tìm cách chiếm quyền kiểm soát hệ thống. Nhờ cấu hình
iptables cấm IP bất hợp pháp register hệ thống nên server luôn đứng vững bất chấp mọi cố gắng từ bất kì địa chỉ IP nàọ
6.2.1.3 Dùng Tool ĐoS SynFlood - Good Bye vs5.2 tấn công hệ thống vào port 2200 2200
Lúc đầu thực hiện ĐoS Syn Flood vào server tại địa chỉ 192.168.1.47 tại
port 2200 khi chưa cấu hình iptables cho server sẽ thấy hiện tượng trong 20s gói tin SYN gửi liên tục, với tốc độ nhanh và số lượng quá nhiểu chỉ trong thời gian ngắn sẽ làm tràn băng thơng, hết tài ngun và tê liệt hồn tồn.
CHƯƠNG 6: KẾT QUẢ DEMO BẢO MẬT HỆ THỐNG
Hình 6. 12: Lượng gói tin đến server trong 20s (chưa cấu hình Iptables)
Sau khi đã cấu hình iptables thì sau khi nhấn Start thì server chỉ nhận một gói SYN
duy nhất và DROP tất cả
CHƯƠNG 6: KẾT QUẢ DEMO BẢO MẬT HỆ THỐNG
Sau 1 phút server bắt đầu nhận gói tin SYN tiếp theo và với tốc độ được hạn chế, vì thế đảm bảo an tồn được cho server
Hình 6. 14: Bắt đầu nhận gói SYN sau 1 phút
Sau đó vẫn tiếp tục nhận gói tin với tốc độ bị hạn chế rất nhiều
CHƯƠNG 6: KẾT QUẢ DEMO BẢO MẬT HỆ THỐNG
Nhận xét:
Dù đây là tool ĐoS SYN FLood mạnh và nguy hiểm, mặc dù không thể
chặn hồn tồn vì tính chất nguy hiểm của ĐoS nhưng hệ thống đã hạn chế tầm
ảnh hưởng của nó bằng cách giảm tốc độ truyển và hạn chế số lượng gói tin. Điều
này chứng tỏ hệ thống đã Anti SYN Flood
6.2.2 Fail2 Ban
Sau khi cấu hình xong restart lại hệ thống. Dùng softphone 3CX register vào hệ thống
Cố ý đăng nhập sai mật khẫu 4 lần và xem hiện tượng
Hình 6. 16: Đăng nhập sai pass và ban IP
Và đến lần thứ 5 không register được nữa vì IP đã bị ban và phải chờ hết thời
gian bantime mới register lại được.
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
7.1 Kết luận
Dưới sự hướng dẫn tận tình của giáo viên hướng dẫn cùng với sự giúp đỡ nhiệt
tình của các giáo viên trong bộ môn ĐTVT đã tạo điều kiện về cơ sở vật chất để
nhóm thực hiện đề tài có thể hồn thành đề tài “Bảo mật hệ thống Call Center”
đúng thời hạn đề rạ
Dưới đây là những gì mà nhóm thực hiện đề tài đã làm được trong thời gian quạ
7.1.1 Phần lý thuyết
Nghiên cứu tổng quan về Asterisk như các chức năng, các mơ hình ứng dụng, cú pháp câu lệnh,….
Tìm hiểu về cách cấu hình hệ thống Callcenter dựa trên các module sẵn có, ngồi ra cịn ứng dụng PHP và MySQL vào để tăng khả năng tùy biến và tính linh hoạt của Asterisk.
Hiểu được các giao thức báo hiệu trong VoIP như SIP. Nắm được cách thức truyền thoại qua mạng IP.
Nghiên cứu về MySQL & PHPMyadmin để xuất ra tập tin CDR cung cấp chi tiết cuộc gọi để tiện cho việc quản lý.
Tìm hiểu về các chức năng cần có của một hệ thống IP Call Center như khả
năng phân phối cuộc gọi, tương tác phím nhấn, khả năng giám sát, ghi âm
cuộc gọi, nghe xen để theo dõi quá trình làm việc của agent…
Cấu hình được tổng đài nội bộ PBX với các chức năng cơ bản như: hiển thị số thuê bao chủ gọi, nhấc máy từ xa của một thuê bao khác đang rung chuông, call transfer, call parking, call forwarding, chống cuộc gọi quấy rối(DND), conference, voicemail.
Tình hiểu về các lổ hỏng và các hướng tấn công vào hệ thống. Từ đó nghiên cứu và đề ra các giải pháp bảo mật cho hệ thống.
Tìm hiểu lý thuyết về các Tool tấn công và hiểu được cô chế tấn công của mỗi Tool
Nghiên cứu về TLS, SRTP, IPTABLES, FAIL2BAN áp dụng cho việc bảo mật cho hệ thống.
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 7.1.2 Phần thực hành
Phương thức bảo mật gồm 2 phần: Anti Nghe Lén và Anti Đos
Chống Nghe Lén
Sử dụng WireShark và Cain bắt được gói tin, phân tích gói tin và nghe lén
được cuộc gọị
Cấu hình được TLS, SRTP chống nghe lén thành công.
Anti ĐoS
Test các Tool hack vào một máy ảo và ĐoS thành công Cấu hình được FAIL2BAN, IPTABLES Anti ĐoS
7.2 Hướng phát triển đề tài
Do thời gian có hạn nên nội dung luận văn chỉ mới đề cập đến một vài giải pháp bảo mật cho hệ thống cơ bản nhất là IP Call Center. Nếu có thêm thời gian nghiên cứu thì nhóm thực hiện đề tài sẽ phát triển thêm:
Để đề tài có thể ứng dụng trong thực tiễn nhiều hơn thì nhóm thực hiện đề tài
mở rộng thêm nhiều chức năng hơn nữa để từ đó xây dựng nên một hệ thống Contactcenter. Bởi vì nếu Callcenter là hình thức giao tiếp qua điện thoại là chủ yếu thì Contactcenter là sự kết hợp thống nhất giữa các phương thức
tương tác với khách hàng, từ điện thoại, email, website, fax cho đến hình
thức chat(đối thoại trực tiếp) hay gửi tin nhắn tức thời(instant messaging). Ưu điểm vượt trội của Contactcenter so với Callcenter là cho phép kiểm soát
tương tác giữa khách hàng với doanh nghiệp một cách tồn diện, chẳng hạn như cơng nghệ tại một Contactcenter giúp kiểm sốt q trình khách hàng
truy cập website, tìm kiếm thơng tin, từ đó có những giải pháp cải thiện,
nâng cao chất lượng phục vụ khách hàng.
Nghiên cứu về Kỹ thuật leo thang đặc quyền dựa vào lỗi nhân hệ điều hành (Linux Kernel Exploit)
Đề tài chỉ mới đưa ra giải pháp bảo mật theo hướng tấn công từ mạng LAN
vào hệ thống. Hướng phát triển là sẽ bảo mật cho hệ thống trước khả năng
tấn công từ mạng WAN. Đồng thời đưa ra giải pháp bảo mật chặn những kỹ thuật tấn công từ mạng nội bộ kết nối ngược ra bên ngoàị
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
PHỤ LỤC B: CODE CHƯƠNG TRÌNH
Khai báo kênh SIP
Trong file /etc/asterisk/sip.conf cấu hình như sau:
[testcarrier] disallow=all allow=ulaw type=friend username=testcarrier secret=test host=dynamic dtmfmode=rfc2833 context=trunkinbound [2222] username = Binh secret = 2222 accountcode=2222 context = group1 type = friend host = dynamic mailbox=2222@default [3333] username = Phuong secret = 3333 context = group1 accountcode=3333 type = friend host = dynamic mailbox=3333@default [200] type=friend username=BMDTVT host=dynamic secret=12345 qualify=yes disallow=all allow=gsm allow=ulaw allow=alaw context=group1 mailbox=200@hopthu
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO [201] type=friend username=BMDTCN host=dynamic secret=12345 disallow=all allow=gsm allow=ulaw allow=alaw context=group1 mailbox=201@hopthu qualify=yes [202] type=friend username=BMCSKTDT host=dynamic secret=12345 call-limit=1 disallow=all allow=gsm allow=ulaw allow=alaw context=group1 mailbox=202@hopthu qualify=yes
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO Trong extensions.conf: [trunkinbound] exten => _X.,1,Answer() exten => _X.,2,Set(COUNT=0) exten => _X.,3(ct1),Background(welcome)
exten => _X.,4,Set(COUNT=$[${COUNT}+1]); tang bo dem
exten => _X.,5,GotoIf($[${COUNT}=3]?ct:ct1); phat du 3 lan chua exten => _X.,6(ct),playback(goodbye)
exten => #,1,Playback(invalid); "Thanks for trying the demo" exten => #,2,Hangup; Hang them up.
exten => t,1,Goto(#,1); If they take too long, give up
exten => i,1,Playback(invalid); "That's not valid, try again"
;NHAY DEN CAC NGU CANH TUONG UNG exten => 1,1,Goto(tuition,s,1)
exten => 2,1,Goto(average_score,s,1) exten => 3,1,Goto(learning_schedual,s,1) exten => 4,1,Goto(consulted,s,1)
;TRA CUU HOC PHI [tuition]
exten => s,1,AGI(hoc_phi_1.php) exten => s,2,Hangup()
;TRA CUA DIEM TRUNG BINH [average_score]
;exten => s,1,AGI(welcome_averagẹphp) exten => s,1,AGI(average_mark.php) exten => s,2,Hangup()
; XEM VA XAC NHAN LICH HOC [learning_schedual]
exten => s,1,Answer()
exten => s,2,AGI(learning_schedual.php) exten => s,3,Hangup()
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
;GAP NHAN VIEN TU VAN [consulted] exten => s,1,Answer() ;exten => s,2,AGI(tuvan.php) exten => s,n,SetMusicOnHold(default) ;exten => s,n,Macro(recording) exten => s,n,MixMonitor(${STRFTIME(${EPOCH},,%d-%m- %Y_%H:%M:%S)}-${EPOCH}.wav) exten => s,n,Queue(tuvan|tT|||60) exten => s,n,Voicemail(u2222) include=>parkedcalls include=>DND include=>Parked include=>Meetme include=>meetme-all include=>pickup include=>mailbox include=>F_INM include=>F_BSY include=>F_NSWR include=>trunkinbound include=>local_analog include=>local_IAX include=>local_SIP include=>agent include=>chanspy
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
Ngữ cảnh cho các extension nội bộ trong Asterisk PBX Trong Agent.conf agent => 3333,3333,Phuong agent => 2222,2222,Binh Trong musiconhold.conf [default] mode = files directory = /var/lib/asterisk/default random = yes Trong queuẹconf [tuvan] music = default strategy = ringall timeout = 15 retry = 2 maxlen = 0 wrapuptime=10 ;announce-frequency = 10 ;announce-holdtime=yes ;joinempty=yes member => Agent/2222,1 member => Agent/3333,2
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO Code PHP Hoc_phịphp #!/usr/bin/php -q <?php require 'phpagịphp'; $agi= new AGI(); $agi->answer(); mysql_connect("localhost","root","thaiphi"); mysql_select_db("asterisk"); $i=0; $keys = null; while($i<3){
$agi->text2wav("Please enter your I D and then press the pound key when you have done");
$result = $agi->get_datắbeep', 3000, 20); $keys = $result['result']; $i++; if($keys){ break; } }
if($i==3 and $keys== null){
$agi->text2wav(" Time is over! Goodbye and see you later!"); $agi->hangup();
}
$row=mysql_query("select mssv, ho_ten, tong_hoc_phi, hp_da_nop, hp_con_no from sinhvien where mssv='$keys'");
$rows = mysql_fetch_array($row); $agi->text2wav("you entered $keys"); if($keys == $rows['mssv']){
$agi->text2wav("Hello {$rows['ho_ten']}");
$agi->text2wav("Your total tuition is {$rows['tong_hoc_phí]}"); $agi->text2wav("You have paid {$rows['hp_da_nop']}");
$agi->text2wav("And the remain tuition you have not paid, is {$rows['hp_con_nó]}");
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
$keys=null; $j=0;
while($j<3){ $keys1=null;
$agi->text2wav("press 1 to continue checking with another, I, D, press 0 to quit, and press 9 return main menu");
$agi->exec('Read', 'myvar||1|||5'); $myvar = $agi->get_variable(myvar); $data = $myvar['datá];
$j++; if($j==3){
$agi->text2wav(" Time is over! Goodbye and see you later!"); $agi->hangup();
}
if($j<3 and $data!=null){
$agi->text2wav("You entered $data"); break; } } if($data==0){ $data = null;
$agi->text2wav("Thank you for using this service, goodbye"); $agi->hangup(); } elseif($data==9){ $data = null; $agi->exec("goto","main_menu|1080|1"); } elseif($data==1){ $i=0; $data=null; $agi->exec("goto","tuition|s|1"); break;
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
}
elseif($data!=1 && $data!=0 && $data!=9){ $agi->text2wav("The key you entered is not valid"); $agi->text2wav(" goodbye");
} } else{
$agi->text2wav("The key you entered is not valid, please try again"); $agi->exec("goto","tuition|s|1"); } ?> Learning_schedual.php #!/usr/bin/php -q <?php require 'phpagịphp'; $agi = new AGI(); $agi->answer(); mysql_connect("localhost","root","thaiphi"); mysql_select_db("asterisk"); $i=0; $keys = null; while($i<3){
$agi->text2wav("Please, enter your I D and then press the pound key when you have done");
$result = $agi->get_datắbeep', 3000, 20); $keys = $result['result']; $i++; if($keys){ break; } } if($i==3){
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
$agi->hangup(); }
$row=mysql_query("select mssv, ho_ten, lop, registered from sinhvien where mssv='$keys'");
$rows = mysql_fetch_array($row); $i=0;
$agi->text2wav("you entered $keys"); if($keys == $rows['mssv']){
$lop = $rows['lop'];
$row1=mysql_query("select code_subject, name_subject from learning_schedual where learning_schedual.lop = $lop"); $num_rows1 = mysql_num_rows($row1);
$agi->text2wav("Hello {$rows['ho_ten']}, In this semester, you have total $num_rows1 subjects, in your schedual");
$keys=null; $j=0; $temp=0; while($rows1 = mysql_fetch_array($row1)){ $temp++; $agi->text2wav("$temp"); $agi->text2wav("{$rows1['name_subject']}"); } if($rows['registered'] == 1){ $keys=null;
$agi->text2wav("You authenticated your learning schedual before"); $k=0;
while($k<3){ $keys=null;
$agi->text2wav("Please press 9 to return main menu, and press 0 to quit"); $agi->exec('Read', 'myvar||1|||3'); $myvar = $agi->get_variable(myvar); $keys = $myvar['datá]; $k++; if($k==3){
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
$agi->text2wav("Time is over, goodbye and see you later"); $agi->hangup();
}
if($keys!=null &&$k<3){
$agi->text2wav("You entered $keys");
break; } } if($keys ==9){ $agi->exec("goto","main_menu|1080|1"); break; } if($keys == 0){
$agi->text2wav("Thank you for using this service, goodbye and see you later"); $agi->hangup(); } } else{ while($j<3){ $keys=null;
$agi->text2wav("Press 1 to authenticate, press 0 to quit, and press 9 to return main menu");
$agi->exec('Read', 'myvar||1|||3'); $myvar = $agi->get_variable(myvar); $keys = $myvar['datá]; $j++; if($j==3){
$agi->text2wav(" Time is over! Goodbye and see you later!"); $agi->hangup();
}
if($j<3 and $keys!=null){
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO $agi->exec("SayDigits","$keys"); break; } } if($keys == 1){ $keys = null;
$sql = "UPDATE sinhvien SET registered = 1 WHERE mssv = {$rows['mssv']}";
mysql_query($sql);
$agi->text2wav("You have authenticated successfull"); $sql1 = "INSERT into registered( mssv, ho_ten, lop) values ('{$rows['mssv']}', '{$rows['ho_ten']}', '{$rows['lop']}')";
mysql_query($sql1); $j=0;
while($j<3){
$agi->text2wav("To return main menu, please press 9"); $agi->text2wav("To exit this service, plese press 0"); $agi->exec('Read', 'myvar||1|||3');
$myvar = $agi->get_variable(myvar); $keys = $myvar['datá];
$j++;
if($j==3 && $keys==null){
$agi->text2wav(" Time is over! Goodbye and see you later!");
$agi->hangup();
}
if($j<3 && $keys!=null){
$agi->text2wav("You entered $keys");
break;
}
}
if($keys != 9 && $keys!=0){
$agi->text2wav("The keys you entered is not valid"); $agi->text2wav("Goodbye and see you later"); $agi->hangup();
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
}
if($keys == 9){$agi->exec("goto","main_menu|1080|1");} if($keys == 0){
$agi->text2wav("Thank you");
$agi->text2wav("Goodbye and see you again");
break;
}
}
If ($keys==0){ $keys = null;
$agi->text2wav("Thank you for using this service, goodbye and see you later"); $agi->hangup(); } if($keys==9){ $keys = null; $agi->exec("goto","main_menu|1010|1"); break; }
if($keys!=1 && $keys!=0 && $keys!=9){
$agi->text2wav("The key you entered is not valid"); $agi->text2wav(" goodbye");
} } } else{
$agi->text2wav("The key you entered is not valid"); $agi->exec("goto","learning_schedual|s|1"); } ?> Average_scorẹphp #!/usr/bin/php -q <?php require 'phpagịphp';
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
$agi= new AGI(); $agi->answer(); mysql_connect("localhost","root","password"); mysql_select_db("asterisk"); $i=0; $keys = null; while($i<=3){
$agi->text2wav("Please enter your I, D and then press the pound key when you have done");
$result = $agi->get_datắbeep', 3000, 20); $keys = $result['result']; $i++; if($keys){ break; } }
if($i>3 and $keys==null){
$agi->text2wav(" Time is over! Goodbye and see you later!"); $agi->hangup();
}
$row=mysql_query("select mssv, ho_ten, diem_tb from sinhvien where mssv='$keys'");
$rows = mysql_fetch_array($row); $agi->text2wav("you entered $keys"); if($keys == $rows['mssv']){
$agi->text2wav("Hello {$rows['ho_ten']}");
$agi->text2wav("Your average score is {$rows['diem_tb']}"); $keys=null;
$j=0;
while($j<3){ $keys1=null;
$agi->text2wav("press 1 to continue checking with another, I, D, press 0 to quit, and press 9 return main menu");
$agi->exec('Read', 'myvar||1|||5'); $myvar = $agi->get_variable(myvar);
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
$data = $myvar['datá]; $j++;
if($j==3){
$agi->text2wav(" Time is over! Goodbye and see you later!"); $agi->hangup();
}
if($j<3 and $data!=null){
$agi->text2wav("You entered $data"); break; } } if($data==0){ $data = null;
$agi->text2wav("Thank you for using this service, goodbye"); $agi->hangup(); } elseif($data==9){ $data = null; $agi->exec("goto","main_menu|1010|1"); } elseif($data==1){ $i=0; $data=null; $agi->exec("goto","average_score|s|1"); break; }
elseif($data!=1 && $data!=0 && $data!=9){ $agi->text2wav("The key you entered is not valid"); $agi->text2wav(" goodbye");
} } else{
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO $agi->exec("goto","main_menu|1010|1"); } ?> Tuvan.php #!/usr/bin/php -q <?php require 'phpagịphp'; $agi = new AGI(); $agi->answer();
$agi->text2wav("Please holding on at the moments, our agents will answer to you");
$agi->exec("goto","consulted|s|3"); ?>
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
PHỤ LỤC C: CÁC LỆNH TỔNG QUÁT TRONG ASTERISK
STT Cú pháp Tác dụng
1 ađ extension Thêm một extension vào ngữ cảnh 2 debug channel Mở Debug cho channel
3 help Hiển thị danh sách các dòng lệnh
4 no debug channel Tắt debug cho một channel
5 pri debug span Bật chế độ debug cho một span(đối với kết nối
E1)
6 pri no debug span Tắt chế độ debug cho một span(đối với kết nối
E1)
7 show agents Hiển thị trạng thái các agent
8 show applications Hiển thị các ứng dụng đang đăng ký 9 show channel Hiển thị các thông tin về một kênh cụ thể 10 show channels Hiển thị thông tin về các kênh
11 show codecs Hiển thị các codec được hổ trợ
12 show conferences Hiển thị trạng thái các phòng hội thoại 13 show dialplan Hiển thị thông tin Dialplan
14 Show manager command
Hiển thị các cú pháp lệnh về quản lí
15 show manager connect Hiển thị các user quản lí đang đăng ký 16 show parkedcalls Hiển thị danh sách các parked call 17 show queues Hiển thị thông tin các hàng đợi
18 show voicemail users Danh sách các hộp thư thoại được tạo 19 show voicemail zones Danh sách các định dạng bản tin zone
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
PHỤ LỤC D: CÚ PHÁP LỆNH LIÊN QUAN ĐẾN SIP
STT Cú pháp Tác dụng
1 sip debug Bật debug kênh sip
2 sip no debug Tắt debug kênh sip
3 sip reload Tải lại các thơng tin cấu hình sip 4 sip show channels Hiển thị danh sách các kênh sip
5 sip show peers Hiển thị danh sách các tài khoản sip đã được tạo 6 sip show registry Hiển thị trạng thái đăng ký của các tài khoản sip 7 sip show users Hiển thị danh sách tất các tài khoản sip đã được tạo
PHỤ LỤC E: CÚ PHÁP LỆNH LIÊN QUAN
ĐẾN QUẢN TRỊ HỆ THỐNG
STT Cú pháp Tác dụng
1 restart gracefully Khởi động lại hệ thống ở chế độ cẩn thận (khi khơng
cịn cuộc gọi nào đang xử lý) 2 restart now Khởi động hệ thống ngay lập tức