Some UI changes and other minor changes

- images updated in user manual

- fixed validation issues with named pipe (at the moment it's very loose)

- Fixed an issue with shadow attriubutes not showing for events that have no attributes

- some minor UI changes to make MISP a bit prettier
pull/226/head
iglocska 2014-03-06 17:21:57 +01:00
parent ffe033c20c
commit c5644e5757
23 changed files with 53 additions and 41 deletions

View File

@ -663,7 +663,7 @@ class Attribute extends AppModel {
}
break;
case 'named pipe':
if (preg_match('#^(\\\\\\\\.\\\\pipe\\\\)#', $value) && !preg_match("#\n#", $value)) {
if (!preg_match("#\n#", $value)) {
$returnValue = true;
}
break;

View File

@ -492,6 +492,11 @@ class ShadowAttribute extends AppModel {
$returnValue = 'IP address has invalid format. Please double check the value or select "other" for a type.';
}
break;
case 'named pipe':
if (!preg_match("#\n#", $value)) {
$returnValue = true;
}
break;
case 'hostname':
case 'domain':
if (preg_match("#^[A-Z0-9.-]+\.[A-Z]{2,4}$#i", $value)) {

View File

@ -25,8 +25,11 @@
'options' => array($analysisLevels),
));
echo $this->Form->input('info', array(
'div' => 'clear',
'class' => 'input-xxlarge'
'label' => 'Event Description',
'div' => 'clear',
'type' => 'text',
'class' => 'form-control span6',
'placeholder' => 'Quick Event Description or Tracking Info'
));
echo $this->Form->input('Event.submittedgfi', array(
'label' => '<b>GFI sandbox</b>',

View File

@ -26,7 +26,11 @@ if ('true' == Configure::read('MISP.sync')) {
));
echo $this->Form->input('info', array(
'div' => 'clear',
'class' => 'input-xxlarge'
'label' => 'Event Description',
'div' => 'clear',
'type' => 'text',
'class' => 'form-control span6',
'placeholder' => 'Quick Event Description or Tracking Info'
));
?>

View File

@ -12,12 +12,14 @@ $mayPublish = ($isAclPublish && $event['Event']['orgc'] == $me['org']);
echo $this->element('img', array('id' => $event['Event']['orgc']));
$left = true;
}
$title = $event['Event']['info'];
if (strlen($title) > 55) $title = substr($title, 0, 55) . '...';
?>
<div class="row-fluid">
<div class="span8">
<h2>Event</h2>
<h2><?php echo nl2br(h($title)); ?></h2>
<dl>
<dt>ID</dt>
<dt>Event ID</dt>
<dd>
<?php echo h($event['Event']['id']); ?>
&nbsp;
@ -120,7 +122,7 @@ $mayPublish = ($isAclPublish && $event['Event']['orgc'] == $me['org']);
<?php echo h($event['Event']['date']); ?>
&nbsp;
</dd>
<dt title="<?php echo $eventDescriptions['threat_level_id']['desc'];?>">Risk</dt>
<dt title="<?php echo $eventDescriptions['threat_level_id']['desc'];?>">Threat Level</dt>
<dd>
<?php
if ($event['ThreatLevel']['name']) echo h($event['ThreatLevel']['name']);
@ -137,7 +139,7 @@ $mayPublish = ($isAclPublish && $event['Event']['orgc'] == $me['org']);
<dd <?php if($event['Event']['distribution'] == 0) echo 'class = "privateRedText"';?>>
<?php echo h($distributionLevels[$event['Event']['distribution']] . ', ' . strtolower(substr(($distributionDescriptions[$event['Event']['distribution']]['formdesc']), 0, 1)) . substr($distributionDescriptions[$event['Event']['distribution']]['formdesc'], 1) . '.'); ?>
</dd>
<dt>Info</dt>
<dt>Description</dt>
<dd>
<?php echo nl2br(h($event['Event']['info'])); ?>
&nbsp;
@ -199,7 +201,7 @@ $mayPublish = ($isAclPublish && $event['Event']['orgc'] == $me['org']);
</div>
<div id="attributes_div">
<?php
if (!empty($event['Attribute'])):?>
if (!empty($event['Attribute']) || !empty($remaining)):?>
<table class="table table-striped table-condensed">
<tr>
<th>Date</th>

View File

@ -32,14 +32,13 @@
<body>
<div id="container">
<?php echo $this->element('global_menu');
//throw new Exception(serialize($this->Session->read('Message.flash.message')));
if ($debugMode == 'debugOff') {
?>
<div class="container-fluid debugOff" style="padding-top:50px;width:98%;">
<?php
} else {
?>
<div class="container-fluid debugOn" style="width:98%;">
<div class="container-fluid debugOn" style="padding-top:10px;width:98%;">
<?php
}
echo $this->Session->flash('auth');
@ -50,11 +49,7 @@
</div>
<div
<?php
//echo 'class="topGap"';
$message = $this->Session->check('Message');
if (Configure::read('debug') == 0 && $this->Session->check('Message')) {
echo 'class="topGap"';
}
if (Configure::read('debug') == 0) echo 'class="topGap"';
?>
>
<?php echo $this->fetch('content'); ?>

View File

@ -193,6 +193,7 @@ The "Jobs" menu item within the Administration menu allows site admins to get an
<li><b>Retries</b>: Currently unused, it is planned to introduced automatic delayed retries for the background processing to add resilience.</li>
<li><b>Progress</b>: A progress bar showing how the job is coming along.</li>
</ul>
<br /><img src="/img/doc/jobs.png" alt = "" title = "Site administrators can monitor the process of all queued jobs here."/><br />
<h3>Scheduling Jobs and Recurring Jobs</h3>
Apart from off-loading long-lasting jobs to the background workers, there is a second major benefit of enabling the background workers: Site-administrators can schedule recurring tasks for the jobs that generally take the longest to execute. At the moment this includes pushing / pulling other instances and generating a full export cache for every organisation and export type. MISP comes with these 3 tasks pre-defined, but further tasks are planned. The following fields make up the scheduled tasks table: <br /><br />
<ul>
@ -204,4 +205,5 @@ Apart from off-loading long-lasting jobs to the background workers, there is a s
<li><b>Description</b>: A brief description of the task.</li>
<li><b>Message</b>: This field shows when the job was queued by the scheduler for execution. </li><br />
</ul>
<br /><img src="/img/doc/schedule.png" alt = "" title = "Site administrators can schedule reccuring tasks on this page."/><br />
</div>

View File

@ -72,7 +72,7 @@ and attachments and finally publishing it.<br /><br />
<li><i>Ongoing:</i> The analysis is in progress</li>
<li><i>Completed:</i> The analysis is complete<br /><br /></li>
</ul></li>
<li><b>Info:</b> The info field, where the malware/incident can get a brief description starting with the internal reference. This field should be as brief and concise as possible, the more detailed description happens through attributes in the next stage of the event's creation. Keep in mind that the system will automatically replace detected text strings that match a regular expression entry set up by your server's administrator(s). <br /><br /></li>
<li><b>Event Description:</b> The info field, where the malware/incident can get a brief description starting with the internal reference. This field should be as brief and concise as possible, the more detailed description happens through attributes in the next stage of the event's creation. Keep in mind that the system will automatically replace detected text strings that match a regular expression entry set up by your server's administrator(s). <br /><br /></li>
<li><b>GFI Sandbox:</b> It is possible to upload the exported .zip file from GFI sandbox with the help of this tool. These will be dissected by the MISP and a list of attributes and attachments will automatically be generated from the .zip file. Whilst this does most of the work needed to be done in the second step of the event's creation, it is important to manually look over all the data that is being entered. <br /><br /></li>
</ul>
<hr />
@ -294,6 +294,7 @@ A quick description of each of the fields in the table:<br /><br />
<li><b>Progress</b>: Shows the progress of the last initiated generation process.</li><br />
<li><b>Actions</b>: Download or Generate the given cache with these buttons. </li><br />
</ul>
<br /><img src="/img/doc/export_bg.png" alt = "" title = "Use the export features here to quickly download data in various formats"/><br />
<br /><h4>Exporting search results and individual events</h4>
Apart from the options offered by the export pages, it's also possible to export all events involved in a search attribute result table, by using the "Download results as XML" button on the left menu bar. <br /><br />
<br /><img src="/img/doc/export_search.png" alt = "" title = "Download a .xml from all the events that are shown through an attribute in the search results."/><br /><br />

View File

@ -26,10 +26,10 @@
echo Configure::read('MISP.welcome_text_top');
}?></span><br /><br />
<div class="nav" style="font-weight:bold; font-size:30px;text-align:center;">
<span class="logoBlueBig">M</span><span style="color: #000000;">alware</span>
<span class="logoBlueBig">I</span><span style="color: #000000;">nformation </span>
<span class="logoBlueBig">S</span><span style="color: #000000;">haring</span>
<span class="logoBlueBig">P</span><span style="color: #000000;">latform</span>
<span class="logoBlue">M</span><span style="color: #000000;">alware</span>
<span class="logoBlue">I</span><span style="color: #000000;">nformation </span>
<span class="logoBlue">S</span><span style="color: #000000;">haring</span>
<span class="logoBlue">P</span><span style="color: #000000;">latform</span>
</div>
<?php
if (true == Configure::read('MISP.welcome_text_bottom')) {

View File

@ -406,31 +406,31 @@ dd {
/* fonts for logo */
.logoBlue {
animation-name: bluePulse;
animation-duration: 10s;
animation-iteration-count: infinite;
-moz-animation-name: bluePulse;
-moz-animation-duration: 10s;
-moz-animation-iteration-count: infinite;
-webkit-animation-name: bluePulse;
-webkit-animation-duration: 7s;
-webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes bluePulse {
from { color: #007d9a; text-shadow: #333 0 0 9px; }
50% { color: #0088cc; text-shadow: #0088cc 0 0 18px; }
to { color: #007d9a; text-shadow: #333 0 0 9px; }
}
.logoGray {
color: #999999;
}
.logoBlueBig {
-webkit-animation-name: bluePulseBig;
-webkit-animation-duration: 10s;
-webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes bluePulseBig {
from { color: #007d9a; text-shadow: #0088cc 0 0 3px; }
50% { color: #0088cc; text-shadow: #0088cc 0 0 6px; }
to { color: #007d9a; text-shadow: #0088cc 0 0 3px; }
@-webkit-keyframes bluePulse {
from { color: #007d9a; text-shadow: #333 0 0 1px; }
50% { color: #0088cc; text-shadow: #0099E6 0 0 3px; }
to { color: #007d9a; text-shadow: #333 0 0 1px; }
}
@keyframes bluePulse {
from { color: #007d9a; text-shadow: #333 0 0 1px; }
50% { color: #0088cc; text-shadow: #0099E6 0 0 3px; }
to { color: #007d9a; text-shadow: #333 0 0 1px; }
}
.logoGray {
color: #999999;
}
.glass {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 19 KiB