linux学习:网络(防火墙)及系统安全相关命令学习

网络:

top      #查看内存,cpu,进程之间的状态。
htop        #在top的基础上更好显示(执行sudo apt-get install htop安装)
free     #查看当前的内存使用情况
pstree     #查看当前进程树
lsof file    #查看哪个进程打开了文件file
sudo lsof -i :22   #查看22端口现在运行什么程序
sudo lsof -c vim  #查看vim进行现在打开的文件

ifconfig ens33 | egrep -o "inet addr:[^ ]*" | grep -o "[0-9.]*"    #提取本地ens33网卡的IP地址
ifconfig ens33 hw ether 00:cc:bf:5a:aa:dd    #设置MAC地址,在软件层面上进行硬件地址的欺骗
ifconfig ens33 192.168.0.12 netmask 255.255.252.0    #设置IP地址的子网掩码
ifconfig ens33 192.168.0.12    #设置网卡ens33的ip地址

cat /etc/resolv.conf #查看DNS
echo nameserver 8.8.8.8 >> /etc/resolve.conf    #追加DNS:8.8.8.8到/etc/resolve.conf的DNS地址文件中。
host google.com    #列出域名所有的IP地址
nslookup google.com    #查询DNS相关的细节信息以及名字解析
route 或 netstat -rn 或 sudo route -n    #查看路由表信息
ping ADDRESS    #检查某个主机是否可以到达 ADDRESS可以是IP,域名和主机名 
ping address -c 5     #选项-c 5表示限制发送的echo分组的数量为5,5次后自动停止发送

arping IP      #根据IP查网卡地址 
nmblookup -A IP  #根据IP查电脑名
arp -a | awk ‘{ print $4 }‘    #查看当前网卡的物理地址
sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0    #同一个网卡增加第二个IP地址
echo ‘blacklist ipv6‘ | sudo tee /etc/modprobe.d/blacklist-ipv6    #屏蔽IPV6
sudo netstat -atnp    #察看当前网络连接状况以及程序
whois test.com     #查看域名的注册备案情况
tracepath test.com   #查看到某一个域名的路由情况:

netstat -ntlp | grep 9052   #查看哪些进程在监听9052端口
netstat -na|grep :80|awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -r -n    #统计80端口的连接并排序
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘    #查看网络连接状态
netstat -na|grep ESTABLISHED|awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -r -n    #统计当前IP连接的个数

netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l  #查看已经有多少个php-cgi进程用来处理tcp请求

sudo tcpdump -c 10000 -i eth0 -n dst port 80   #TCP抓包工具分析80端口数据流
nc -zv localhost 1-65535    #查看当前系统所有的监听端口
w3m -dump_head http://www.xxx.com    #查看HTTP头
w3m -no-cookie -dump www.123cha.com|grep -o ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‘    #查看当前外网的IP地址
sudo apt-get install rkhunter; rkhunter –checkall    #检查本地是否存在安全隐患

----------------------------------------------------------------------
入侵报告工具 以auth.log文件为输入
filename:check.sh

#!/bin/bash
AUTHLOG=/var/log/auth.log
if [[ -n $1 ]];
then
AUTHLOG=$1
echo Using Log file:$AUTHLOG
fi
LOG=/tmp/valid.$$.log
grep -v "invalid" $AUTHLOG > $LOG
users=$(grep "Failed password" $LOG | awk ‘{ print $(NF-5) }‘ | sort | uniq)
printf "%-5s|%-10s|%-10s|%-13s|%-33s|%s\n" "Sr#" "User" "Attempts" "IP address" "Host_Mapping" "Time range"
ucount=0;
ip_list="$(egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" $LOG | sort | uniq)"
for ip in $ip_list;
do
grep $ip $LOG > /tmp/temp.$$.log
for user in $users;
do
grep $user /tmp/temp.$$.log > /tmp/$$.log
cut -c-16 /tmp/$$.log > $$.time
tstart=$(head -1 $$.time);
start=$(date -d "$tstart" "+%s");
tend=$(tail -l $$.time);
end=$(date -d "$tend" "+%s")
limit=$(( $end - $start))
if [ $limit -gt 120 ];
then
let ucount++;
IP=$(egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" /tmp/$$.log | head -1 );
TIME_RANGE="$start-->$tend"
ATTEMPTS=$(cat /tmp/$$.log|wc -l);
HOST=$(host $IP | awk ‘{ print $NF }‘ )
printf "%-5s|%-10s|%-10s|%-10s|%-33s|%-s\n" "$ucount" "$user" "$ATTEMPTS" "$IP" "$HOST" "$TIME_RANGE";
fi
done
done
rm /tmp/valid.$$.log /tmp/$$.log $$.time /tmp/temp.$$.log 2> /dev/null

-------------------------------------------------------------------------------

防火墙ufw

sudo apt-get install ufw   #安装ufw防火墙
sudo ufw enable              #启用 ufw防火墙,并在系统启动时自动开启

sudo ufw disable       #关闭ufw防火墙

sudo ufw status       #查看防火墙状态

sudo ufw default deny         #关闭所有外部对本机的访问,但本机访问外部正常。
sudo ufw allow|deny [service]   #开启/禁用 
sudo ufw allow smtp       #允许所有的外部IP访问本机的25/tcp (smtp)端口 
sudo ufw allow 22/tcp       #允许所有的外部IP访问本机的22/tcp (ssh)端口 
sudo ufw allow 53         #允许外部访问53端口(tcp/udp)

sudo ufw delete allow 53     #禁用 53 端口
sudo ufw allow from 192.168.1.12      #允许此IP访问所有的本机端口

sudo ufw delete allow from 192.168.1.12   #删除上一条的规则
sudo ufw deny smtp            #禁止外部访问smtp服务 
sudo ufw delete allow smtp               #删除上面建立的某条规则 

sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53

用户操作

1、强制使某个用户退出:

首先:使用w查看当前登录的用户,注意TTY所示登录进程终端号

其次:使用pkill –9 -t pts/1 结束pts/1进程所对应用户登录

2、查看所有登录用户的操作历史

不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,但history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史。如果root用户要查看其它用户的操作记录,通过在/etc/profile里面加入以下代码就可以实现:

PS1="`whoami`@`hostname`:"‘[$PWD]‘
history
USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

添加完后执行 source /etc/profile 使脚本生效

原文地址:https://www.cnblogs.com/LO-gin/p/8507874.html

时间: 2024-08-29 12:21:21

linux学习:网络(防火墙)及系统安全相关命令学习的相关文章

Linux的几个概念,常用命令学习

Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备---------------------------------根目录:cd /主目录:cd ~ // 不同的用户有不同的主目录,但拥有相同的根目录----------------------------------点文件:以点开头的文件或目录,可以作为隐藏目录ls 不显示ls -a 显示--------------------------------标准子目

linux命令,系统安全相关命令--改变文件属性与权限(chgrp,chwon,chmod)

chgrp  改变所属群组 chgrp命令可以变更文件或目录所属群组,当然,要被改变的组名必须要在/etc/group文件内存在才行. chgrp基本参数: 1 [email protected]:~# chgrp --help 2 Usage: chgrp [OPTION]... GROUP FILE... 3 or: chgrp [OPTION]... --reference=RFILE FILE... 4 Change the group of each FILE to GROUP. 5

linux命令,系统安全相关命令--passwd

passwd命令 passwd命令的用法很多,对于初学者来说,用到的一般是修改或设置密码,我们可以通过passwd -h命令查看其基本的参数. 1 [email protected]:~# passwd -h 2 Usage: passwd [options] [LOGIN] 3 4 Options: 5 -a, --all report password status on all accounts 6 -d, --delete delete the password for the name

linux命令,系统安全相关命令--su

su su是最简单的身份切换命令,可以进行任何身份的切换,下面先看一下其基本参数. 1 [email protected]:~# su -h 2 Usage: su [options] [LOGIN] 3 4 Options: 5 -c, --command COMMAND pass COMMAND to the invoked shell 6 -h, --help display this help message and exit 7 -, -l, --login make the shel

Linux学习笔记(十二)--命令学习(用户创建、删除等)

通过上面的几章学习,我们对linux有了一些了解,现在我们再继续进行下去.... 我们习惯的windows 界面系统中,只要在界面里去下鼠标,填写等这些就可以完成了一个用户创建.删除.添加所属组等,那我们在linux里又是怎么操作的呢??? 下面在学习如何使用命令进行一系列的操作时,我们要先了解一些别的: 在linux系统里除了我们要新建的用户外,还有一些特定的用户,我们称呼它为:伪用户. -----------------------------------------------------

Linux学习笔记(十四)--命令学习(vi的基本使用)

本博客中linux大部分内容是参考:鸟哥的私房菜     如各位有需要的,请参考:http://vbird.dic.ksu.edu.tw/linux_basic/linux_basic.php 上面我们已经知道了大部分Linux基本内容 1.查看系统信息 2.文件与目录查看 3.文件创建 4.文件权限属性 5.用户创建与删除 6.压缩包的打包与解包 现在要进行文件编辑等操作的学习. Linux 中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了

Linux端口以及防火墙端口的查看命令

常用命令 netstat -pan|grep 2809  :查看特定端口的情况 netstat -nl | grep 110 :查看特定端口的情况 netstat -ap  :在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接    例如:某个连接的PID=111,想踢出去就使用 KILL -9 111.ok!netstat -rn  :输出路由表nmap  127.0.0.1  :查看本机开放的端口,会扫描所有端口nmap  -p 1024  65535?

Linux目录结构、bash的基础命令学习

日期: 2015年08月23日 Linux目录结构 LSB(Linux StandardsBase)是一套核心标准,它保证了LINUX发行版同LINUX应用程序之间的良好结合规定了一系列标准,其中包括文件系统层级结构标准(FHS Filesystem Hierarchy Standard) Linux系统根目录下有众多子目录,这些目录都参照了FHS协定 / ├── bin ├── boot ├── dev ├── etc ├── home ├── lib ├── lib64 ├── lost+f

Linux的网络防火墙iptables实战

前言: 本文主要着重讲解Linux的基于网络层的防火墙的安全架构,实现流程,以及常见的iptables一些实际应用. 原文地址:http://blog.51cto.com/11218855/2143419